Apple Pay通过Stripe canMakePaymentsUsingNetworks

时间:2016-01-19 09:21:39

标签: ios react-native stripe-payments applepay

使用我的react-native应用程序集成Apple Pay。它适用于模拟器。在设备上运行时,事情有点奇怪。

ApplePay.canMakePayments()返回true,而ApplePay.canMakePaymentsUsingNetworks()返回false。虽然我使用的是RN模块而不是直接使用Apple Pay,但看起来代码是正确的:

RCT_EXPORT_METHOD(canMakePaymentsUsingNetworks: (RCTResponseSenderBlock)callback)
{
  NSArray *paymentNetworks = @[PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa];

  if ([PKPaymentAuthorizationViewController canMakePaymentsUsingNetworks:paymentNetworks]) {
    callback(@[@true]);
  } else {
    callback(@[@false]);
  }
}

如果我忽略canMakePaymentsUsingNetworks,它将返回一个nil控制器。那部分是有道理的。

手机上有一张有效且经过验证的卡,该卡已与Apple Pay一起使用。 我们仍在使用测试条带键。这可能是问题吗?请指教。

在学习英语之前请不要编辑文本。

1 个答案:

答案 0 :(得分:1)

遇到同样的问题,刚刚完成故障排除。

您是否1.创建了Apple Pay商家ID,并且2.将Apple Pay权利添加到应用程序中?这些步骤概述为on the Stripe site。一旦我这样做,它开始工作。我没有必要创建Apple Pay证书并将其上传到Stripe以使Apple Pay工作,尽管将令牌发送到Stripe失败直到我这样做。

请注意,您必须确保在Xcode中的项目设置>一般>团队设置和构建设置>代码签名设置与链接到Apple Pay权利的凭据匹配。

我可以确认此问题不是由以下原因引起的:

  1. 条纹测试模式
  2. 应用程序不是为发布而构建的
  3. 支付网络的选择(我的设置为PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa
  4. 请注意,即使在我开始工作之后,我仍然看到零星的失败,我不知道是什么导致了这些。有时应用程序似乎进入一种奇怪的状态,canMakePaymentsUsingNetworks会不断返回虚假状态;重新启动应用程序后,它神奇地再次开始工作。