android - 如何实现NFC支付?

标签 android nfc payment android-pay emv

我想将 NFC 支付添加到我正在开发的 Android 应用程序中,以允许用户直接向 POS 支付。我有兴趣支持尽可能多的 POS。

我想知道这是否真的可行,还是取决于专有协议(protocol)/硬件。

我找到了有关读取非接触式卡信息的信息(和代码示例),但找不到有关支付本身的任何库或代码。

我知道 EMV 规范,但它看起来很长而且技术性很强,我想在深入研究之前了解它是否真的可行。

我们不能使用 Google 电子钱包,因为我不在美国。

最佳答案

您将无法在您的应用程序中支持 NFC 支付,除非您是一家拥有 Visa/Mastercard 等协议(protocol)的银行,并且可以访问证书来签署您的 EMV 交易。

Contactless EMV transactions are not encrypted .这就是为什么您可以轻松嗅探非接触式交易或读取非接触式支付卡信息的原因。

由于卡中嵌入了特定于发卡机构(例如:维萨卡、万事达卡)的证书,因此交易仍然是安全的。此证书 protected (无法读取)。它用于签署交易细节(金额、日期、随机标识符等),以便 POS 和交易处理器(在银行端)可以验证和验证交易。没有有效签名,您的交易将被拒绝。

但是,由于所有主要发卡机构都在其最新规范中添加了移动支付支持(例如:mastercard PayPass 3.0Visa PayWave 2.1)。他们最终可能会为手机上的其他应用程序提供 API 以启动交易。 尽管如此,我的理解是手机将需要一些特定的硬件(例如:加密处理器)来处理交易。

关于android - 如何实现NFC支付?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31480133/

相关文章:

node.js - 使用 Electron 编译 Node.js 版本时出现问题

objective-c - HDFC iOS SDK 崩溃以集成到 Swift 中?

android - 支持 NFC 的手机充当 NFC 标签

javascript - 如何通过 PayPal 确保我的支付系统的安全性?

php - 如何使用现有的 customerId 处理 Braintree 付款

android - 为不同的 TextView 使用多个字符串资源

android - 使用括号和 ? Android中的SQLite数据库查询()

android - BroadcastReceiver 中的 ApplicationContext

android-support-v7-appcompat\res\values-v21 中断项目,除非我将 Project Build Target 设置为 API21

java - 无法使用 4.x Android NFC API 推送 NdefMessage