我正在尝试为我的应用程序设置 Apple Pay,但由于某种原因 PKPaymentViewController 始终返回为零(如果代码中的语句是为了测试这一点)?有什么想法吗?
@IBAction func payAction(_ sender: Any) {
price = donationAmount.text
print(price)
let request = PKPaymentRequest()
request.merchantIdentifier = applePayMerchantID
request.supportedNetworks = SupportedPaymentNetworks
request.merchantCapabilities = PKMerchantCapability.capability3DS
request.countryCode = "GBR"
request.currencyCode = "GBP"
request.requiredBillingAddressFields = PKAddressField.all
//request.applicationData = "This is a test".dataUsingEncoding(NSUTF8StringEncoding)
let paymentSummary = [PKPaymentSummaryItem(label:"Sponsorship", amount: 10.00)]
request.paymentSummaryItems = paymentSummary
let applePayController: PKPaymentAuthorizationViewController = PKPaymentAuthorizationViewController(paymentRequest: request)
applePayController.delegate = self;
if(applePayController == nil){
print("___")
} else{
self.present(applePayController, animated: true, completion: nil)
}
}
func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: @escaping (PKPaymentAuthorizationStatus) -> Void) {
completion(PKPaymentAuthorizationStatus.success)
}
func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {
controller.dismiss(animated: true, completion: nil)
}
最佳答案
您使用错误的 ISO 配置了 countryCode
countryCode
The two-letter ISO 3166 country code.
英国国家代码为GB
关于ios - PKPaymentAuthorizationViewController 总是返回 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45533693/