nfc - Android 应用程序如何通过 NFC 存储和模拟信用卡以进行非接触式支付处理?
问题描述
NFC主机卡仿真模式摆脱了本地安全元件 (SE),并通过利用存储在云上的 SE 促进支付,并与多个参与方(例如商家、服务、提供商、发卡机构等)合作。通常,这是Apply Pay(可能它仍然使用本地 SE)、Google Pay 和 Samsung Pay 是如何工作的。
但是,存在一些应用程序,例如Cards - Mobile Wallet、MyCard - NFC Payment、Contactless Credit Card Reader,它们声称能够将卡信息本地存储在手机中,并可以在具有非接触式读卡器的商店使用手机进行支付电话。我试过使用Cards
. 它通过 NFC 读取卡信息(信用卡号和有效期),并显示:
信用卡 ( card_A
) 是一家美国银行的,我很确定它不支持非接触式支付。我有另一张card_B
来自其他国家/地区的其他银行的借记卡 ( ),它支持非接触式支付。但是,我没有任何方法可以测试此应用程序是否适用于card_B
.
我的问题如下:
- 支持非接触式支付的借记卡/信用卡(类似类似的
card_B
),他们遵守什么支付标准?card_A
仅供参考,两者card_N
都有EMB芯片,但一个支持非接触式支付,另一个不支持。 - 我是否可以考虑支付解决方案,例如 Apply Pay、Google Pay 和 Samsung Pay 变通方案,以在本身不支持非接触式支付的卡上启用非接触式支付?
- 如果我上面链接的 Android 应用程序成功运行,它们是否仍使用 NFC 主机卡仿真模式?
- 最后,EMV 卡有一个秘密存储在卡上的密钥。我惊讶地看到应用程序在没有
Cards
银行或商户任何额外授权的情况下读取和存储卡信息,然后只是声称能够进行非接触式支付?在 Google Pay 中,他们使用令牌化并将密钥存储在设备上,该设备会不时补充。为什么这些类别的非接触式卡不使用任何基于密钥的挑战-响应协议来进行支付?
解决方案
如果是非接触式的,它们遵循 EMV 非接触式标准https://www.emvco.com/emv-technologies/contactless/。
是的,您可以将 Apple/Google Pay 与不支持非接触式的卡一起使用。但是,根据发卡金融机构是否允许其卡与 Google/Apple Pay 兼容,您将受限于卡是否可以使用。
Google Pay 兼容机构 - https://pay.google.com/about/banks/
Apple Pay 兼容机构 - https://support.apple.com/en-us/HT204916
Google Pay 移至 HCE+NFC https://www.pocket-lint.com/apps/news/google/135017-what-is-android-pay-how-does-it-work-and-which-banks-support -它
通过将单笔交易限额保持在 15 英镑至 60 英镑之间,银行可以最大限度地减少客户的摩擦,并且不会要求像筹码 + 密码这样的挑战响应来进行较大的交易或每日非接触式限额已用完(〜 100 美元)
推荐阅读
- sql - BigQuery:在 Github 公共数据上没有匹配的操作员签名
- python - 将 Python 项目打包为可执行文件
- python-3.x - 比较两个文本文档中的数字,如果差异太大则打印出来
- bash - Shell 脚本:将关联数组传递给另一个 shell 脚本
- c++ - 如何在 C++ 程序中使用 Pillow 库
- robotframework - 无法输入文本或按键或按键码
- html - 在此上下文中,元素 a 不允许作为元素 ul 的子元素。(抑制来自该子树的更多错误。)
- iup - 用于十六进制字符串输入的 IupText MASK 属性
- python - 具有多处理功能的 Python socketio
- php - Symfony - 使用软删除实体的学说扩展修改 DQL