ios - PKPaymentAuthorizationViewController 总是返回 nil?

标签 ios iphone swift controller applepay

我正在尝试为我的应用程序设置 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

Documentation

关于ios - PKPaymentAuthorizationViewController 总是返回 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45533693/

相关文章:

ios - 如何快速管理嵌套 View Controller View 大小?

ios - 从 NSArray 收集数据,具有难以解释的行为

iphone - 在 Objective C 中获取第一响应者

iphone - OCUnit 可以依赖后台线程中的代码吗? (为了测试异步请求)

iphone - 文件夹中的重复文本?

swift - 如何删除核心数据 SwiftUI?

ios - 拉动刷新不适用于 Alamofire 和 Swift 3

ios 应用程序首选项调用

xcode - UITableViewCell 从其他 View Controller 上的输入传输运行时断点(lldb)

swift - 如何在 PFTablequery 中返回多个 findObjectsInBackground