首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apple pay EMV交易

Apple pay EMV交易
EN

Stack Overflow用户
提问于 2021-05-11 18:48:40
回答 1查看 114关注 0票数 1

我正在尝试执行Apple pay交易。苹果支付钱包里的那张卡是MasterCard。如果我使用实体卡执行非接触式交易,我的代码可以正常工作。但是当我尝试用ApplePay做同样的事情时,在GENERATE AC命令之后我得到SW 6700 (错误的长度)状态。在这里,您可以看到我是如何为GAC请求构造数据的:

代码语言:javascript
复制
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)

所以,我的最终数据是:

代码语言:javascript
复制
80 AE 8000 42 000000000030 000000000000 0804 0000008001 0980 210511 00 3357A30A 21 0000 0000000000000000 1F0302 133040 0000000000000000000000000000000000000000 00

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

EN

回答 1

Stack Overflow用户

发布于 2021-05-11 20:26:51

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

代码语言:javascript
复制
9f02069f03069f1a0295055f2a029a039c019f37049f35019f45029f4c089f34039f1d089f15029f4e14

并使用物理非接触卡(MasterCard):

代码语言:javascript
复制
9f02069f03069f1a0295055f2a029a039c019f37049f35019f45029f4c089f34039f21039f7c14

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

代码语言:javascript
复制
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

因此,生成AC命令的最终数据应为:

代码语言:javascript
复制
80 AE 8000 49 000000000030 000000000000 0804 0000008001 0980 210511 00 3357A30A 21 0000 0000000000000000 1F0302 6CF8000000000000 0000 0000000000000000000000000000000000000000 00

Le = 73 12月/ 0x49十六进制这可以很好地工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67485247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档