使用我的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一起使用。 我们仍在使用测试条带键。这可能是问题吗?请指教。
在学习英语之前请不要编辑文本。
答案 0 :(得分:1)
遇到同样的问题,刚刚完成故障排除。
您是否1.创建了Apple Pay商家ID,并且2.将Apple Pay权利添加到应用程序中?这些步骤概述为on the Stripe site。一旦我这样做,它开始工作。我没有必要创建Apple Pay证书并将其上传到Stripe以使Apple Pay工作,尽管将令牌发送到Stripe失败直到我这样做。
请注意,您必须确保在Xcode中的项目设置>一般>团队设置和构建设置>代码签名设置与链接到Apple Pay权利的凭据匹配。
我可以确认此问题不是由以下原因引起的:
PKPaymentNetworkAmex, PKPaymentNetworkMasterCard, PKPaymentNetworkVisa
)请注意,即使在我开始工作之后,我仍然看到零星的失败,我不知道是什么导致了这些。有时应用程序似乎进入一种奇怪的状态,canMakePaymentsUsingNetworks
会不断返回虚假状态;重新启动应用程序后,它神奇地再次开始工作。