EMV 非接触式 - 具有 PDOL 的 GPO

EMV Contactless - GPO with PDOL

我需要编写一个可以生成 GET PROCESSING OPTION 的方法,而不管 PDOL 是否具有 EMV Contactless。 如何使用正确的数据格式化 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 9A 9 03 01 6F 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/