emv - 万事达卡生成交流电
问题描述
我尝试使用 MasterCard / MIR 处理付款。发送 PDOL 后,我确实成功地从 VISA 读取数据,但 MS 不需要 PDOL。
交易第一步:
选择 2PAY.SYS
[发送]:00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
[阅读]:6F 23 84 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 11 BF 0C 0E 61 0C 4F 07 A0 00 00 00 04 10 10 87 01 01 90 00
第二步:
[发送]:00 A4 04 00 07 A0 00 00 00 04 10 10 00 F [读取]:6F 44 84 07 A0 00 00 00 04 10 10 A5 39 50 0A 4D 41 53 54 45 52 43 41 52 44 5F 2 72 75 65 6E 87 01 01 9F 11 01 01 9F 12 0A 4D 41 53 54 45 52 43 41 52 44 BF 0C 0F 9F 4D 02 0B 0A 9F 6E 07 06 43 00 00 00 30 30 00 9
卡不需要 PDOL
第三步:
[发送]:80 A8 00 00 02 83 00 00
[阅读]:77 16 82 02 19 80 94 10 08 01 01 00 10 01 01 01 18 01 02 00 20 01 02 00 90 00
第4步:
阅读所有可用数据。
[发送]:00 B2 01 0C 00
和其他部门
我把所有行业都红了。但是没有标签需要付款:9F26 - 应用密码,9F37 - 不可预测的数字,9F36 - 交易计数器。
要获取此标签,我可以使用 CDOL 生成命令生成 AC,但是如何生成 CDOL?卡上说的是 CDOL1 和 CDOL2。CDOL1 需要卡片自己生成的标签。
卡片答案,包含 CDOL1 和 CDOL2:
70 81 A0 57 13 55 45 46 77 77 25 42 79 D2 01 12 01 58 11 10 00 00 79 0F 5A 08 55 45 46 77 77 25 42 79 5F 24 03 20 11 1 3021 0 25 5 3 43 5F 34 01 01 01 8C 21 9F 02 06 9F 06 9F 06 9F 1A 02 95 05 5F 2A 02 9A 02 9A 03 9C 01 9F 37 04 9F 35 01 9F 35 01 9F 45 02 9F 4C 08 9F 4C 08 9F 34 03 8D 03 8D 0C 91 0A 8A 8A 02 95 95 95 9F 37 F 37 F 04 9F 4C 08 8E 0E 00 00 00 00 00 00 00 00 42 03 1E 03 1F 03 9F 07 02 3D 00 9F 08 02 00 02 9F 0D 05 B4 50 84 00 00 9F 000 05 0 4 B 09 0 00 0E 05 0 09 0 70 84 80 00 9F 42 02 06 43 9F 4A 01 82 90 00
如何使用 paypass 生成离线限价交易?如何生成交流电?
谢谢!
解决方案
CDOL1 和 CDOL2 拆分如下。标签及其长度。您应该按照与 PDOL 相同的顺序和大小单独提供数据。在下面的情况下,除了两个朝向底部之外,其余的都可以在终端中使用。
CDOL1 9F02 06 //交易金额 9F03 06 //其他金额,返现 9F1A 02 //终端国家 95 05 //终端风控后TVR终端已到 5F2A 02 //货币代码 9A 03 //交易日期 9C 01 //事务类型 9F37 04 //不可预测的数字 9F35 01 //终端类型 9F45 02 //来自交易相关数据ODA的数据认证码 9F4C 08 //交易相关数据ODA中的icc动态数 9F34 03 //cvm 结果 CDOL2 91 0A //发行者认证数据 8A 02 //弧 95 05 //电视 9F37 04 //不可预测的数字 9F4C 08 //icc动态数
卡将返回 9F26 和 9F36 以响应您的 GEN AC。9F37 由终端生成。
推荐阅读
- asp.net-core - ASP.Net Core 排除英语以外的已发布语言目录
- xamarin.forms - 顶部定位的 Xamarin 形成带有标题的列表视图 - 问题:顶部位置在某些 iPhone 型号上有所不同
- docker - 无法在 docker 中启用实验性功能
- java - 在 Java 中读取 MIDI 消息:缺少音符关闭事件?
- python - python中集合的“奇怪”排序
- java - NullPointerException 使用带有 JUnit 5 到 Selenium 的 @Before 注释
- c++ - 为什么在 std::vector::push_back(T object) 方法中构造对象时调用析构函数?
- python - 如何在 Python 中通过 csvReader 使用高阶函数
- python - Visual Studio 代码:终端进程以退出代码终止:{0}
- javascript - 在 UCI 中使用 JavaScript 从 HTML 中过滤 Dynamics CRM 帐户主页