#ICカードこれひとつ
10カードが「無効化」された場合、可読範囲内の情報が1ビット書き換えられて変化することが確認されました。
これは、鉄道の自動改札機や、電子マネーの決済端末で書き換えが発生します。
モバイルICOCAの再発行の途中、意図的に旧スマホで交通系電子マネー決済(当然エラーになる)を試すことで前後の違いを検証できました。怪我の功名といったところです。
また古い無効化されたSmart ICOCA、そして期限切れの古いPiTaPaをチェックしましたが、いずれも当該ビットが設定されていることを確認しました。
Suicaなど他でも同様かは不明ですが、ICOCAやPiTaPaだけの独自仕様とは思えないので共通の「無効フラグ」と推定されます。
これは新しい発見だと思います。
#ICOCA #PiTaPa #Suica #fedibird
続く
続き
そこでこのビットを読み取って表示する機能を暫定的に追加しました。
10カード以外でもほぼ同じフォーマットのカード(SAPICA、ICSCA、IruCa、EX-IC、PASPY)も同様かもしれません。これらも同じ処理を通っているので、同じであれば同様に機能すると思いますし、別の用途で用いていた場合は誤った表示になります。
今週リリース予定の次のバージョンで色々お試しいただければ幸いです。
これで無効判定された場合、履歴タブの金額欄が赤色になります。残高が残っていてもそれは無効ということです。またカードタブの名前の表示に (無効) とでます。
また次のバージョンから、キャプション部分(画面の一番上)のカード名にも (無効) と出すように改良しています。
設定→表示まわり全般→最上部はカード名のみ表示する をONにすると見やすいのでおすすめです。
同様の無効判定と表示は既にWAONでも実装されています。
@jp_kasuga 苦戦しましたが「抜け殻」と記載されて報告されたダンプデータが見つかりました。
これは当該ビットが設定されていませんでしたが、おそらく自動改札機や決済端末にタッチする前だからだと思われます。
無効とメッセージにあった他のクレジットカード内蔵Suicaではこの情報が設定されていることを確認しましたので、そのiPhoneも抜け殻状態で決済を試みてエラーを出せば、無効情報が書き込まれて完全な抜け殻になったのだろうと予想されます。