17得票2回答
如何实现NFC支付?

我想在我正在开发的安卓应用程序中添加NFC支付功能,使用户可以直接向POS机进行支付。我希望支持尽可能多的POS机。 我想知道是否真正可行,或者它取决于专有的协议/硬件。 我已经找到了有关读取非接触式卡片信息的信息(和代码示例),但我找不到任何关于支付本身的库或代码。 我知道EMV规范,...

15得票5回答
如何读取基于EMV技术的智能VISA卡信息

我试图从VISA信用卡读取数据,但无法成功。在互联网资源中,我发现对于MASTER卡,我们可以使用1PAY.SYS.DDF01文件选择PSE目录,然后读取记录。但是对于VISA来说并不是强制性的,当我使用以下文件使用SELECT命令获取PSE目录时,我得到的响应是“6A82”。这意味着该文件系...

13得票2回答
EMV应用程序开发问题

我对EMV不太了解,目前我有一个紧急EMV应用程序开发项目,希望有人能回答以下问题: 什么是EMV L2应用内核?它是API还是可执行的EMV应用程序? 在EMV支付交易过程中,需要从芯片和PIN卡中捕获哪种数据(消息)信息,以便将其提交给银行卡发行人进行授权。支付交易数据应遵循哪个ISO...

12得票1回答
通过PDOL为EMV卡(APDU)生成"GET PROCESSING OPTIONS"(GPO)。

GPO命令被定义为APDU命令: CLA INS P1 P2 Lc Data Le 80 A8 00 00 Lc Data 00 那么缺失的部分是 Lc 和 Data,我们需要从PDOL中计算它们(如果提供了)。如果没有提供,我们可以使用: 80 A8 00 00 02 8300 ...

11得票6回答
如何从Java中读取EMV智能卡的PAN

我需要使用智能卡读卡器从Maestro/Mastercard中读取账号。我正在使用Java 1.6及其javax.smartcardio包。我需要发送APDU命令,该命令将请求存储在卡片芯片上的EMV应用程序的PAN号码。问题在于,我无法找到正常的字节数组来构造返回所需数据的APDU命令...

10得票2回答
如何在Android上安全地存储模数、公共指数和私有指数?

我已经获得了模数、公共指数和私有指数,并需要在安卓设备上安全地存储这些值。我该如何实现? 许多示例是在不获取n、d、e参数的情况下创建公钥和私钥。但我已经获得了这些n、e、d值,并希望安全地存储它们,然后使用这些值创建我的ICC公钥证书,以及签署我的动态数据。 我该如何实现?

9得票5回答
使用PPSE而非PSE读取EMV卡

我正在尝试读取非接触式Visa Paywave卡上的数据。 对于Paywave,我必须使用PPSE(2PAY.SYS.DDF01)提交SELECT,而不是PSE(1PAY.SYS.DDF01)。 EMV书1的第11.3.4节,表43仅描述了如何解释使用PSE的成功SELECT命令的响应。请...

7得票1回答
在EMV交易中解析GET PROCESSING OPTIONS命令的PDOL

我正在尝试构建一个正确格式的GET PROCESSING OPTIONS命令,以发送到非接触式EMV卡。这篇文章非常有帮助,但我需要更多细节。在解析PDOL时,可以安全地假设每个标签的长度为2个字节,后跟期望返回的数据大小吗?例如,PDOL 9F66049F02069F37049F1A02 分...

7得票1回答
EMV标签91发卡方认证数据-如何确定响应中标签的格式

如果存在,EMV标签91发卡方认证数据在交易响应中返回时可能有几种不同的格式。据我(有限的)了解,这可能由卡品牌决定。 例如: - MasterCard标签91包括卡状态更新作为标签91数据的一部分。 - Visa标签91将授权响应代码作为标签91数据的最后两个字节包含在内。 我需要解决...

7得票3回答
无接触支付:检测移动设备或卡片

我正在尝试检测是否使用了支持非接触式 EMV 交易的智能卡或配备了 Apple Pay、Google Pay 或 Samsung Pay 的移动设备。 经过查阅 EMV 书籍,似乎有一种标签 9F6E 可以提供此类数据: EMV Book 3 - VISA EMV Book 4 - M...