如何以编程方式将支付卡添加到苹果钱包中
Posted
技术标签:
【中文标题】如何以编程方式将支付卡添加到苹果钱包中【英文标题】:How to add payment card programmatically into apple wallet 【发布时间】:2017-03-31 10:17:30 【问题描述】:我们尝试在我们的应用中将信用卡、借记卡详细信息添加到 Apple Pay。
以下内容来自apple doc。
重要事项 添加支付通行证需要 Apple 颁发的特殊权利。在实例化此类之前,您的应用程序必须包含此权利。有关请求此权利的更多信息,请参阅 developer.apple.com/apple-pay/ 上的发卡机构部分。 在沙盒环境中,我们尝试了 entitlement key ,但我们无法加载支付卡详细信息。
我们可以手动添加支付卡 iTunes。但是可以通过编程方式在苹果支付钱包中添加支付卡。
不能像 pkpass 文件那样模拟 Testcard(支付卡)吗? 没有可用于在沙盒环境中模拟支付卡的文档。
https://developer.apple.com/reference/passkit/pkaddpaymentpassviewcontroller?language=objc
提前致谢。
【问题讨论】:
【参考方案1】:如果我对您的理解正确,您已经拥有授权密钥(并且我假设您已获得 Apple 的特别许可)。我还假设您使用PKAddPaymentPassViewController
进行配置过程。如果所有这些都是正确的,那么您还需要记住一些事情。首先,您无法使用模拟数据甚至测试环境对此进行测试。您必须使用可通过 Apple Pay 与发卡机构确认的真实支付卡的生产数据。此外,该应用程序必须与 TestFlight 一起分发才能运行,因此您不能直接从 Xcode 运行。
【讨论】:
addPaymentPassViewController:generateRequestWithCertificateChain:nonce:nonceSignature:completionHandler 方法的实现应该是什么: 在此委托方法中,您应该获取该方法提供的证书、nonce 和 nonceSignature,并可能将其传递给您的后端。然后,您的后端将获取此数据并将其发送到信用卡公司(例如 Visa)并返回数据,使您能够构造一个PKAddPaymentPassRequest
,您将把它传递给此方法的 completionHandler。当您获得使用信用卡配置权利的特殊许可时,Apple 提供的文档中对此进行了全部描述。
谢谢帕耶维奇。是的,我在文档中阅读了它。我正在寻找委托方法的快速代码,因为我实际上无法映射到代码中。
@GauravBorole 我可以请您链接与添加付款通行证实施相关的官方苹果文档
@msamardzic 它不是公开的 AFAIK。它仅由 Apple 提供给获准提供支付通行证的组织(通常是银行和发卡机构),并且受 NDA 保护。因此,您需要联系苹果以获得批准(如果您符合条件),然后他们会将文件发送给您。【参考方案2】:
启用支付卡的应用内配置
使用此权利启用应用内支付配置 牌。此权利允许您初始化和呈现
PKAddPaymentPassViewController
对象。在授权文件中,添加布尔值为
YES
的com.apple.developer.payment-pass-provisioning
键。您需要 Apple 的特别许可才能提交启用此密钥的应用程序。如需更多信息,请联系 apple-pay-inquiries@apple.com。
https://developer.apple.com/library/archive/documentation/Miscellaneous/Reference/EntitlementKeyReference/ApplePayandPassKitEntitlements/ApplePayandPassKitEntitlements.html
【讨论】:
以上是关于如何以编程方式将支付卡添加到苹果钱包中的主要内容,如果未能解决你的问题,请参考以下文章
如何以编程方式将银行借记卡或信用卡添加到 Google 电子钱包中?