ApplePay iOS错误 - 此设备无法付款

时间:2014-10-20 23:15:52

标签: ios

将ApplePay与我的测试应用集成时,我收到错误:

  

此设备无法付款

我已经设置了一张可以使用的卡,并在销售点终端进行了测试 - 在那里工作正常。

应该工作(但没有)的代码行是:

PKPaymentAuthorizationViewController *auth = [[PKPaymentAuthorizationViewController alloc] initWithPaymentRequest:paymentRequest];

3 个答案:

答案 0 :(得分:21)

Apple的文档在详细列出集成步骤方面严重不足。

Apple的Getting Started with Apple Pay文件提到了这些要点:

先决条件

除了使用PassKit框架实施Apple Pay之外,您还必须:

  • 使用付款处理器或网关设置帐户(如果您还没有) 一个
  • 通过Certificates, Identifiers & Profiles
  • 注册商家标识符
  • 提交Certificate Signing Request以获取将用于加密和解密付款代币的公钥和私钥
  • (缺少步骤)在您的KeyChain中包含证书
  • 在您的应用中包含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];

确保你的卡在那些对象中!