微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

苹果支付 EMV 交易

如何解决苹果支付 EMV 交易

我正在尝试执行 Apple Pay 交易。插入苹果支付钱包的卡是万事达卡。如果我使用实体卡进行非接触式交易,则我的代码有效。但是当我尝试对 ApplePay 做同样的事情时,我在 GENERATE AC 命令之后得到 SW 6700(错误长度)状态。 在这里您可以看到我如何为 GAC 请求构建数据:

9f02 06 000000000100 Amount,Authorised (Numeric)
9f03 06 000000000000 Amount,Other (Numeric)
9f1a 02 0804 Terminal Country Code
95 05 0000000000  Terminal Verification Results
5f2a 02 0980 Transaction Currency Code
9a 03  210511 Transaction Date
9c 01 00 Transaction Type
9f37 04 3357A30A Unpredictable Number
9f35 01 21 Terminal Type
9f45 02 0000 Data Authentication Code
9f4c 08 0000000000000000 ICC Dynamic Number
9f34 03  1F0302 Cardholder Verification Method (CVM) Results
9f21 03  131340 Transaction Time HHMMSS
9f7c 14(20 dec) 0000000000000000000000000000000000000000 Customer Exclusive Data (CED)

所以,我的最终数据是:

80 AE 8000 42 000000000030 000000000000 0804 0000008001 0980 210511 00 3357A30A 21 0000 0000000000000000 1F0302 133040 0000000000000000000000000000000000000000 00

Le 字节是 42 (66 dec),如果使用物理卡是正确的。 Apple Pay 有什么问题?

解决方法

问题是同一张卡使用ApplePay时CDOL1不同。 因此使用 ApplePay 的标签 0x8C (CDOL1) 是:

9f02069f03069f1a0295055f2a029a039c019f37049f35019f45029f4c089f34039f1d089f15029f4e14

并使用非接触式实体卡(MasterCard):

9f02069f03069f1a0295055f2a029a039c019f37049f35019f45029f4c089f34039f21039f7c14

所以,它们不相等,解构给了我们这样一个数据项:

9f02 06 000000000100 
9f03 06 000000000000
9f1a 02 0804
95 05 0000000000
5f2a 02  0980
9a 03 210511
9c 01 00
9f37 04  3357A30A
9f35 01  21
9f45 02 0000
9f4c 08 0000000000000000
9f34 03 1F0302
9f1d 08 6CF8000000000000
9f15 02 0000
9f4e 14 0000000000000000000000000000000000000000

因此,GENERATE AC 命令的最终数据应该是:

80 AE 8000 49 000000000030 000000000000 0804 0000008001 0980 210511 00 3357A30A 21 0000 0000000000000000 1F0302 6CF8000000000000 0000 0000000000000000000000000000000000000000 00

Le = 73 dec / 0x49 十六进制。 这工作正常。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。