2

Generate Command の応答を正常に取得しています

[9F02 06   (Amount, authorized, numeric)]:   000000003000 
[9F03 06   (Amount, other, numeric)]:        000000000000 
[9F1A 02   (Terminal country code)]:         0826 
[95 05     (Terminal verification results)]: 0000000000
[5F2A 02   (Transaction currency code)]:     0826 
[9A 03     (Transaction date)]:              150724 (2015-05-28)
[9C 01     (Transaction type)]:              00 
[9F37 04   (Unpredictable number)]:          12345678

そしてコマンドは

80 AE 4000 1D 000000003000 000000000000 0826 0000000000 0826 150724 00 12345678 00

成功した応答で

8012800008d2715ae1b83027db06020103a0b0009000

Cryptogram Information Data : 00
Application Transaction Counter : 0008
Application Cryptogram : d2715ae1b83027db
Issuer Application Data : 06020103a0b000

すべてが良好ですが、テスト環境でトランザクションを実行するたびに

アプリケーション暗号文が正しくありませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

2

まず、パックされたYYMMDD形式のデータサンプル「トランザクション日付」は、人間が読める形式(YYYY-MM-DD)と同じ値ではありません。日付が異なります。

誤ったトランザクション データまたはこの ARQC に関連しないトランザクション データを送信した場合、ホスト環境でのクリプトグラムの検証に失敗します。

Amex テスト ケースで Amount 30.00 を使用したため、カードは Amex Global セットから「AEIPS 20 TEST CARD」として検出されました。

「トランザクション データ」を使用して ARQC を再計算すると、カードの応答と同じ値が得られました - 0x9F26 = "d2715ae1b83027db"。ということで、確定です。

この場合の ARPC は「3784BAE0B266DF17」になります。

認定されたテスト環境または Amex テスト システム (ATS) 自体が、ARQC/ARPC 再計算の詳細を提供できます。テスト環境でカードのブランドを検証できるかどうかを確認してください。

通常、開発者が外部テスト ホストの検証用に誤って梱包した金融メッセージとトランザクション データに問題があります。(元のリクエストのとおりです。)

カードから端末を介してホスト システムまでのトランザクションの完全なトレースを取得すると、データがどこに配置されているかがわかります。

于 2015-07-27T20:23:03.583 に答える