我想从我的Android支付应用程序向终端发送多个AID。为此,如何构造select命令的响应消息?
假设我从终端获得00 A4 04 00 0E(14字节数据)00。作为回应,我发送6F23840E(14字节数据)A511BF0C0E610C4F07A00000000310108701019000。我的AID是A0000000031010。如果我尝试连接两个AID,终端会立即取消该事务。我尝试使用以下响应消息进行连接:6F30840E325041592E5359532E4444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000。
我使用TLV Parser检查了TLV。链接:https://www.emvlab.org/tlvutils/?data=6F30840E325041592E5359532E4444463031A51EBF0C1B61194F07A00000000310108701024F08A0000000031010018701019000
您能否建议我如何向终端发送多个AID列表?
答案 0 :(得分:3)
通常,任何Payment应用程序在此应用程序的SELECT命令响应中仅返回其自己的AID(在标记84中)。这可能是终端在发送多个AID时终止处理的原因。 您似乎想要返回多个VISA AID。 你可以在PSE / PPSE类应用程序的帮助下实现这一目标。在PSE和PPSE中,您可以将多个AID返回到终端,然后终端将进一步发出SELECT命令以选择可用的应用程序。 有关PSE / PPSE或任何应用的响应构造,请参阅EMV第1册。
答案 1 :(得分:-3)
从emvco下载EMV书籍1,2,3,4,B,C。这些都是预期要遵守的规范。
检查
12.2.2 PSE的结构,
12.3.2使用PSE
部分。它已经详细解释了PSE。 PPSE也以同样的方式工作。通过以上文档,这些文档非常精确,我用它们在Android手机上开发NFC终端。