3

Java コードと Android NFC 機能を使用して、非接触型決済カードと通信しています。

私は一連の Visa およ​​び MasterCards で動作するコードを持っていますが、Visa カードの特定のサブカテゴリで問題が発生しました。

私が行った手順と遭遇した問題は次のとおりです。

  • PPSE を使用してアプリケーションを識別します
  • アプリケーション AID (A0000000031010) を選択します ファイル制御情報には、作成した PDOL が含まれています
  • GET PROCESSING OPTIONS を送信する

この時点で、6984 リターン コードを取得しました。これは、私が見る限り、PIN 試行制限を超えたことを意味しますが、これが GPO からの正当な応答であることを確認できませんでした。

認証の試行がなく、非接触型のトランザクションであることを考えると、これが見られるとは思いませんでした。これは、カードが別の場所で無効化されたことを示していますか?

私が書いているコードは、カードから Track2 データにアクセスするために必要な最小限の手順を実行していることに注意してください。完全な EMV カーネル処理を再作成しようとしているわけではありません。

ありがとう

4

3 に答える 3

3

EMV アプリケーションには Visa AID があるため、これは非接触カーネル 3 用に構築されていると思います。カーネル 3 仕様では、カードが6984GET PROCESSING OPTIONS コマンドに応答してステータス コードを返す場合、リーダーは別のインターフェイスを使用する必要があると定義しています(例: EMV 接触インターフェース) を使用してカードと通信します。

于 2014-05-27T14:19:56.860 に答える
2

上記と同じ問題に遭遇しました。私の場合は、Visa Blink カードです。

=> 80 A8 00 00 02 83 02 00
<= 67 00
=> 80 A8 00 00 04 83 02 00 00 00
<= 69 84

カードが短い GPO コマンドを好まないことがわかりました (短いコマンドは Mastercard で問題なく動作しますが)。したがって、解決策は長いGPOコマンドを使用しています。

1/ 国コードなしでより長い GPO コマンドを使用します。

80A8000023832180000000000000000000000000000000000000000000000000000000000000000000

2/ 国コードを渡すことでより良い GPO コマンドを使用します。

80A80000238321A0000000000000000001000000000000084000000000000840070203008017337000

どちらの場合でも(国コードを渡すかどうかに関係なく)、機能します。

于 2014-07-25T21:43:50.290 に答える