我想将 NFC 支付添加到我正在开发的 Android 应用程序中,以允许用户直接向 POS 支付。我有兴趣支持尽可能多的 POS。
我想知道这是否真的可行,还是取决于专有协议(protocol)/硬件。
我找到了有关读取非接触式卡信息的信息(和代码示例),但找不到有关支付本身的任何库或代码。
我知道 EMV 规范,但它看起来很长而且技术性很强,我想在深入研究之前了解它是否真的可行。
我们不能使用 Google 电子钱包,因为我不在美国。
最佳答案
您将无法在您的应用程序中支持 NFC 支付,除非您是一家拥有 Visa/Mastercard 等协议(protocol)的银行,并且可以访问证书来签署您的 EMV 交易。
Contactless EMV transactions are not encrypted .这就是为什么您可以轻松嗅探非接触式交易或读取非接触式支付卡信息的原因。
由于卡中嵌入了特定于发卡机构(例如:维萨卡、万事达卡)的证书,因此交易仍然是安全的。此证书 protected (无法读取)。它用于签署交易细节(金额、日期、随机标识符等),以便 POS 和交易处理器(在银行端)可以验证和验证交易。没有有效签名,您的交易将被拒绝。
但是,由于所有主要发卡机构都在其最新规范中添加了移动支付支持(例如:mastercard PayPass 3.0、Visa PayWave 2.1)。他们最终可能会为手机上的其他应用程序提供 API 以启动交易。 尽管如此,我的理解是手机将需要一些特定的硬件(例如:加密处理器)来处理交易。
关于android - 如何实现NFC支付?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31480133/