我需要编写一种方法,无论带有EMV非接触式的PDOL,都可以生成GET PROCESSING OPTION。
如何用正确的数据格式化GPO命令?
这是数据:
6F 4E 84 07 A0 00 00 00 03 20 10 A5 43 50 0D 56 49 53 41 20 45 4C 45 43 54 52 4F 4E 87 01 01 9F 38 18 9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04 5F 2D 08 69 74 65 6E 64 65 66 72 BF 0C 08 9F 5A 05 31 09 78 03 80
PDOL是:
9F 66 04 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 9C 01 9F 37 04
什么是正确的GPO命令APDU?
谢谢。
最佳答案
GPO命令的结构如下:
CLA '80'
INS 'A8'
P1 '00'
P2 '00'
Lc var.
Data PDOL Related Data
Le '00'
根据您的PDOL,您需要提供以下数据:
9F66 (?) 4 bytes
9F02 (amount authorized) 6 bytes
9F03 (amount other) 6 bytes
9F1A (terminal country code) 2 bytes
95 (TVR - Terminal Verification Results) 5 bytes
5F2A (terminal currency code) 2 bytes
9A (transaction date) 3 bytes
9C (transaction type) 1 bytes
9F37 (unpredictable number) 4 bytes
(您将需要解析PDOL,但您也可以使用在线TVR decoder来解析它。)
基本上,您需要使用所请求标签的值(按它们出现的顺序)填充DOL。例如,如果仅填充金额,则DOL如下所示:
000000001122334455660000000000000000000000000000000000000000000000
您的GPO命令将为:
80A8000023832100000000112233445566000000000000000000000000000000000000000000000000
^^
十六进制值
21
(即33)是DOL的长度。希望这可以帮助。您可以参考EMV规范以了解更多详细信息。 https://www.emvco.com/emv-technologies/contactless/