我有两个问题,1)首先,当我开始申请并点击ApplePay按钮时,我遇到了异常,没有附加信息,我做错了什么?
2) 其次,在委托方法中
paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didAuthorizePayment:(PKPayment *)payment
completion:(void (^)(PKPaymentAuthorizationStatus))completion
由于某种原因 payment.token. paymentData == nil 我不明白为什么。我做了什么:在目标中激活ApplePay,在Apple开发者帐户中添加证书,然后创建如下对象:
- (PKPaymentRequest *)paymentRequest
{
PKPaymentRequest *paymentRequest = [[PKPaymentRequest alloc] init];
paymentRequest.merchantIdentifier = @"xxx.xxx.xxx.xxx";
paymentRequest.supportedNetworks = @[PKPaymentNetworkVisa, PKPaymentNetworkMasterCard];
paymentRequest.merchantCapabilities = PKMerchantCapability3DS;
paymentRequest.countryCode = @"RU";
paymentRequest.currencyCode = @"RUB";
paymentRequest.paymentSummaryItems =
@[
[PKPaymentSummaryItem summaryItemWithLabel:@"Ticket" amount:[NSDecimalNumber decimalNumberWithString:@"2000"]]
];
return paymentRequest;
}
首先,您的域名需要让域名准备您的域名并注册商家https://developer.apple.com/documentation/applepaywebmerchantregistrationapi/preparing-merchant-domains-for-verification 之后,域名必须与Apple Pay注册的域名匹配,当您点击Apple Pay按钮时,SDK会验证商家和会话的域名与浏览器的域名,它必须完全匹配