Xamarin 中的 watchOS 上的 Apple Pay

Apple 在 watchOS 3 中对 Apple Pay 进行了多项增强,增加了对应用内付款的支持。 这使得用户可以安全地提供付款和联系人信息,以便直接从 Apple Watch 支付实体商品和服务的费用。

关于 Apple Pay 增强功能

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

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

PassKit 框架增强功能

在 iOS 10 中,PassKit 框架已得到扩展,可支持 UIKit 之外的 Apple Pay,并允许发卡机构在其应用内出示其卡。

支持 UIKit 外部的 Apple Pay

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

在应用内显示发卡机构卡

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

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

新的付款网络支持

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

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

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

新的测试环境

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

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

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

注意

通过切换 iCloud 帐户,可以将设备自动切换到新的测试环境。 不过,Apple 仍然要求开发人员在将应用提交到 iTunes App Store 之前必须在生产环境中使用真实卡对其进行测试。

总结

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