0

これは新しいことであり、オンライン取引やデビット/クレジット カードに関連するコーディングを行ったことはありません。EMV(EuroPay Master Visa)カードをAndroidアプリに実装するために勉強しろと言われました。

これまでのところ、私はについての情報を収集しました

  • APDU
  • ファイル構造
  • 「APDU コマンド」は、カードから有用な情報を取得するために送信されます。
  • APDU フィールド (CLA、INS、P1、P2、Lc、Data、Le)
  • カードからカードリーダーに「APDUレスポンス」が返ってきます。

これらのプロセスはすべて、カードとカード リーダーの間で発生します。私の場合、カードリーダーは Android デバイスに接続されています。Android アプリでユーザーにカードの詳細を表示する必要がある場合があります (例: カード番号の下 4 桁を表示する)。私の質問は

  1. カードを認証したい場合、APDUコマンドフィールドで可能な値は何ですか?
  2. Java を使用してカード リーダーとデバイス間で通信する方法。

PS: コードは必要ありません。簡単な説明が必要です。概念が理解できたら、研究開発を続けます。

4

2 に答える 2

1

あなたが求めているのはEMVコースです。それはSOの質問にはたくさんあります。

@kushal によって概説されているように、EMV 仕様を確認する必要があります。これらには多くのコマンド サンプルが含まれており、トランザクションを完了するために必要な一連のコマンドが説明されています。

しかし、そうすることで達成しようとしているのは、このSO questionで概説されているように、コストと時間がかかる EMV カーネルを作成することです。これには、銀行統合の部分を考慮せずに、数年間の開発を数えてください...達成したいのがトランザクションを処理することだけである場合、EMVカーネルを購入する必要があります(例:level2kernelから、 verifone、Ingenicoなど)。

ここでInterac Flash トランザクション (非接触 EMV) の例を見ると、プロトコルの複雑さの概要がわかります。

于 2015-10-06T08:17:18.360 に答える