Xamarin 中的 Apple Pay on watchOS

Apple 在 watchOS 3 中对 Apple Pay 进行了多项增强,增加了对In-App 付款的支持。 这样,用户就可以安全地提供付款和联系信息,以便直接从 Apple Watch 支付物理商品和服务的费用。

关于 Apple Pay 增强功能

如上所述,Apple 在 watchOS 3 中对 Apple Pay 进行了多项增强,允许安全付款和联系信息,以便直接从 Apple Watch 支付实物商品和服务。 这些增强功能通过对 PassKit 框架的修改提供。

在 iOS 10 和 watchOS 3 中,添加了多个新 API,这些 API 可与 iOS 和 watchOS 配合使用,以支持动态支付网络和新的沙盒测试环境。

PassKit 框架增强功能

在 iOS 10 中,PassKit 框架已扩展为支持 Apple Pay 外部,UIKit并允许卡发卡人从其应用内出示卡。

在 UIKit 外部支持 Apple Pay

通过使用 PKPaymentAuthorizationControllerPKPaymentAuthorixationControllerDelegate,应用可以在不使用 UIKit 的情况下支持 PKPaymentAuthorizationViewController 提供的相同功能。 虽然在 Apple Watch (、特定意向以及) 上支持 Apple Pay 需要此新 API,但在其他情况下, ((如现有应用) )中,它是必需的。 但是,Apple 建议尽快迁移到新的 API,以便通过单个代码库在所有开发人员应用中提供广泛的 Apple Pay 支持。 有关意向和 Siri 集成的详细信息,请参阅 SiriKit 简介 文档。

从应用内显示颁发者卡

在 iOS 10 和 watchOS 3 中,PassKit 框架中添加了新功能,允许卡颁发者在自己的应用中显示其支付卡。 开发人员可以将 UIButton 添加到PKPaymentButtonTypeInStore应用的用户界面,该用户界面将显示卡的 Apple Pay 按钮。

PresentPaymentPassPKPassLibrary 类的 方法也可用于以编程方式显示卡。

新的支付网络支持

对于 iOS 10 和 watchOS 3,应用可以在新的支付网络可用时自动支持它,而无需开发人员修改、重新编译应用并将其重新提交到App Store。

类的新 AvailableNetworks 方法 PKPaymentNetwork 允许应用在运行时发现用户设备上可用的网络。 此外, SupportedNetworks 属性已展开,以将付款提供商的名称作为参数。 使用这些方法,应用可以自动支持支付提供商支持的任何网络。

有关详细信息,请参阅 我们的 Apple Pay 配置 和 Apple 的 Apple Pay 指南

新建测试环境

借助 iOS 10 和 watchOS 3,Apple 引入了一个新的测试环境,允许开发人员直接在 iOS 设备上预配测试支付卡。 然后,这个新的测试环境会将加密的测试付款数据返回到应用。

若要启用新的测试环境,请执行以下操作:

  1. 在 iTunes Connect 中创建新的测试 iCloud 帐户。
  2. 使用新的测试帐户登录到 iOS 设备。
  3. 设置要测试应用所需的区域。
  4. 使用 Apple Pay Guide 中的其中一张测试 支付 卡进行付款。

注意

通过切换 iCloud 帐户,设备将自动切换到新的测试环境。 但是,Apple 仍要求在提交到 iTunes App Store之前,在生产环境中使用真实卡片测试应用。

总结

本文介绍了 Apple 在 watchOS 3 中对 Apple Pay 所做的增强,以及如何在 Xamarin.iOS 中实现这些功能。