ios - 是否可以从我的应用程序启动 Apple Pay NFC?

标签 ios objective-c swift sdk nfc

我想在应用程序中捕获 NFC 支付详细信息,并希望如果从我的应用程序启动 NFC 支付,这将可用。我只需要知道支付的金额和商家。

通过 Apple 的文档,我只能看到带有 Touch ID 的 Apple Pay 的软件实现,我看不到任何集成 Apple Pay NFC 的引用资料。

最佳答案

这是不可能的,因为 Apple 的实现旨在隐藏此数据。这就是您在他们的文档中找不到任何相关内容的原因。通过 NFC 的 Apple Pay 由非接触式支付终端发起,而不是“从 [您的] 应用程序启动”。 token 化的主帐号 (PAN)、持卡人姓名、到期日期等数据从 Apple 设备发送到支付终端,并通过商家的基础设施发送到云端。查看 EMV Overview Guide 的第 19 页得到一个想法。 Apple 设备从安全元件解锁数据(在授予 TouchID 访问权限后)并通过 NFC 传输数据,很可能永远不会将这些详细信息暴露给应用程序层。该方法与他们的声明“保持您的购买私密性”一致。如果交易获得批准,支付终端将通过 NFC 链接发送交易证书 (TC),以提醒 Apple 设备支付成功。根据规范,没有支付的金额或商家名称与 TC 一起发送。它也可能值得一读 this post以更好地了解 Apple 设备如何仅充当非接触式卡而不充当读卡器。

参与客户交易的最佳方式是在商店提供 InApp 支付体验。无论是通过 iBeacons 还是地理定位,在上下文中启动零售应用程序都可以让客户通过 Apple Pay InApp 而不是 NFC 进行购买。这为您提供了更多获取商家和交易金额的机会,因为与 NFC 堆栈相比,您的应用程序处于控制之中。涵盖结帐工作流程很棘手,但可行。

我希望此信息对您有用,并能指导您选择其他一些选项来完成您需要完成的工作。

关于ios - 是否可以从我的应用程序启动 Apple Pay NFC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26476233/

相关文章:

ios - 为什么当我的基础数据源更新时 SwiftUI 会自动向后导航,我该如何避免这种行为?

ios - 为整个应用更改 UITableViewCell 的背景 View

ios - 按钮不刷新数据

objective-c - 在 Xcode 中访问数据库时,SQLite 不会准备查询

objective-c - __unsafe_unretained 代表不会建立

ios - 如何添加占位符?

ios - 无法覆盖 Swift XCTestCase 中的 init() 函数

ios - 从另一个类调用getter方法

ios - 建模并填充核心数据与属性的多对多关系

objective-c - 更改 iAd 位置和展示位置