将ApplePay与我的测试应用集成时,我收到错误:
此设备无法付款
我已经设置了一张可以使用的卡,并在销售点终端进行了测试 - 在那里工作正常。
应该工作(但没有)的代码行是:
PKPaymentAuthorizationViewController *auth = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:paymentRequest];
答案 0 :(得分:21)
Apple的文档在详细列出集成步骤方面严重不足。
Apple的Getting Started with Apple Pay文件提到了这些要点:
除了使用PassKit框架实施Apple Pay之外,您还必须:
在我的情况下,我忘记了第3步。修复方法是使用在步骤2中创建的商家ID提交新的CSR,并将结果证书包含在您的钥匙串中。
编辑:但是等等,还有更多!
您还需要转到Apple会员中心的AppID部分,然后编辑应用的应用ID,以包含您刚刚创建的商家帐户ID。否则,您的应用将不会被配置为使用商家ID。之后,转到Xcode首选项并刷新配置文件(如果需要,可以手动下载并安装)。
这些步骤可以让您超越"此设备无法付款"错误。
答案 1 :(得分:2)
确保您在Passbook上设置的信用卡已经过验证...否则,PKPaymentAuthorizationViewController将返回nil。
答案 2 :(得分:1)
request.supportedNetworks = [NSArray arrayWithObjects:PKPaymentNetworkAmex,PKPaymentNetworkDiscover,PKPaymentNetworkMasterCard,PKPaymentNetworkVisa,PKPaymentNetworkChinaUnionPay, nil];
确保你的卡在那些对象中!