1

我正在为万事达卡非接触式卡构建一个生成 AC 命令。我CDOL1已从ICC数据中检索到 ,但卡以6985. 关于问题可能是什么的任何建议。

Card Risk Management Data Object List 1 (CDOL1) [8C]:
        Amount, Authorised (Numeric) [9F02]:
            Length: 06
        Amount, Other (Numeric) [9F03]:
            Length: 06
        Terminal Country Code [9F1A]:
            Length: 02
        Terminal Verification Results (TVR) [95]:
            Length: 05
        Transaction Currency Code [5F2A]:
            Length: 02
        Transaction Date [9A]:
            Length: 03
        Transaction Type [9C]:
            Length: 01
        Unpredictable Number (UN) [9F37]:
            Length: 04
        Terminal Type [9F35]:
            Length: 01
        Data Authentication Code  [9F45]:
            Length: 02
        ICC Dynamic Number [9F4C]:
            Length: 08
        Cardholder Verification Method (CVM) Results [9F34]:
            Length: 03
        Transaction Time [9F21]:
            Length: 03
        Customer Exclusive Data (CED) [9F7C]:
            Length: 14
80AE - Generate Application Cryptogram 
80 - ARQC  
00 
42 - Length
000000000100 - 9F02
000000000000 - 9F03
0710 - 9F1A
8000040800 - 95
0710 - 5F2A
191111 - 9A
00 - 9C
3357A30B - 9F37
21 - 9F35
0000 - 9F45
0000000000000000 - 9F4C
1F0302 - 9F34
142005 - 9F21
0000000000000000000000000000000000000000 - 9F7C
4

2 回答 2

1

您需要做的第一件事是查看您在响应 GPO 消息时获得的 PDOL,并检查这些是否正是卡片要求的字段和长度。如果您不确定,请在此处发布 GPO 消息的答案。此错误的常见原因是您未提供卡所需的所有数据,或者您发送的数据过多。

我有一张万事达卡,它准确地要求您提供此处的数据,并正确响应以下 GEN AC 命令:

80AE9000420000000001000000000000000082600000000000826190819003357A30A210000000000000000000001F030212050500000000000000000000000000000000000

将此与您的消息进行比较,有一些小的差异。下面我列出了您发送的内容和我发送的内容:

80AE - same
80 - I use 90, see EMV book 4, Section 6.5.5 on how to build the P1 value.
00  - same
42 - same
000000000100 - same
000000000000 - same
0710 - I use 0826 UK rather than Estonia, shouldn't matter. 
8000040800 - I use 0000000000 which means no errors
0710 - Again I use 0826 UK, not Estonia
191111 - 9A I use a different date, shouldn't matter.
00 - same
3357A30B - Our UN numbers are only 1 different, which is odd! Where did you find yours?
21 - same
0000 - same
0000000000000000 - same
1F0302 - same
142005 - different time, shouldn't matter.
0000000000000000000000000000000000000000 - same

Le的最后我也有00。

汤姆

于 2019-11-20T11:59:07.527 回答
1

应用程序选择命令可能会返回标签 0x9F38 处理选项 DOL (PDOL)。

PDOL 所需的标签值需要由终端/阅读器在下一步获取处理选项(GPO)命令中发送到卡。

如果在应用程序选择后 PDOL 未知,您可以发送带有空标签 0x83 的 GPO 命令以从卡中检索标签 0x82 应用程序交换配置文件 (AIP) 和 0x94 应用程序文件定位器 (AFL)。

拥有 AFL,您应该阅读所有提到的记录并分析卡片标签。它们可能具有生成 AC 所需的 CDOL1 值。

然后,如果卡交易场景仍然需要它,您可以发送带有 CDOL1 标签值的 Generate AC 命令。

请参阅 EMVCo EMV 非接触式支付系统规范,Book C-2,Kernel 2 Specification,其中描述了 MasterCard 场景。

于 2019-11-13T08:25:53.833 回答