LoginSignup
20
20

More than 5 years have passed since last update.

FeliCaのPollingによるApplePayのWalletの動作

Last updated at Posted at 2016-10-26

FeliCaを使ったシステムに近づけるとWalletが表示されるのに、Expressカード設定した場合にSuicaはTouchID認証せずに使えます。どうやらPolling時のシステムコードによって挙動が違うようなので調べてみました。

システムコード別の挙動

カード固有のIDmを取得してみました。

システムコード 応答カード 挙動
0xFE00 QuickPay Walletが起動してカード選択
0x0003 Suica Express設定されているカードのIDmが返る、設定されていない場合はWalletが起動してカード選択
0xFFFF 全て Walletが起動してカード選択
0x0000 なし Walletが起動してカード選択

※iDはカードが無いので未確認

まとめ

  • 交通系カード (Suica)のシステムコードでpollingがあった時はExpress設定されたカードのIDmや情報が返り、設定されていない場合はWalletが表示される
  • Suicaは読み取りされるとSuicaアプリに通知がされ、特に他のエレメントにアクセスしなくとも「カード読み取り済み」表示が出る。
  • Suicaのシステムコード以外のFeliCaカードに対するpollingがある場合にはWalletが表示される(対応カードが無くとも)
  • WalletでTouchID認証後にそのカードに対する応答が有効になりカードのIDmや情報が返る。

IMG_0258.jpg

FeliCaカードを使うシステムの多くはシステムコード0xFFFFを使って情報を取得し、必要な場合はカードの種別を判別しそれ以外の情報へアクセスする場合が多いです。iPhoneではSuicaを指定した場合以外は必ずWalletが表示されてしまいます。また、Suica指定してアクセスするとSuicaアプリに記録され通知がされてしまいます。

iPhoneを手持ちの認証カードの代わりに使いたいと思ったのですが、これではあまり便利では無さそうです...。

その他

2枚SuicaがWalletに入っている場合の挙動は未確認です。システムコードによりカードを絞り込むような雰囲気は無いので、たぶんWalletが表示されるだけかと思います。

参考

OSXでnfcpyを使ってFeliCaを読む方法

brew install bzr

brew install libusb
brew install libusb-compat

sudo pip install --upgrade pip
sudo pip install pyusb
sudo pip install docopt

bzr branch lp:nfcpy trunk

> python example/tagtool.py show

Type3Tag 'FeliCa Mobile 3.0' ID=013B*************
PMM=011************ SYS=FE00

※ nfcpyではpolling時のシステムコード指定ができませんでしたので、FeliCaSDK(Windows版)を利用して挙動を確認しました。

20
20
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20