【发布时间】:2017-07-07 09:43:01
【问题描述】:
当我尝试使用 present(completion: _) 显示 PKPaymentAuthorizationController 时,它会失败,没有任何进一步的信息。
我是这样介绍它的:
let paymentSummaryItems: [PKPaymentSummaryItem] = <HIDDEN>
let paymentRequest = PKPaymentRequest()
paymentRequest.paymentSummaryItems = paymentSummaryItems
paymentRequest.merchantIdentifier = <HIDDEN>
paymentRequest.merchantCapabilities = .capability3DS
paymentRequest.countryCode = "US"
paymentRequest.currencyCode = "USD"
paymentRequest.supportedNetworks = [.visa, .amex, .masterCard, .discover]
paymentRequest.requiredShippingAddressFields = [.email]
let paymentController = PKPaymentAuthorizationController(paymentRequest: paymentRequest)
paymentController.delegate = self
paymentController.present { success in
if success {
print("Presented payment controller")
} else {
print("Failed to present payment controller")
}
}
每次尝试时,我都会收到“无法提供支付控制器”的消息,并且没有出现 Apple Pay 授权模式。
我添加了PKPaymentAuthorizationController.canMakePayments() 检查,结果返回 true。我不确定可能出了什么问题。相同的代码(使用不同的merchantIdentifier)在我的其他 Apple Pay 项目中运行没有问题。
【问题讨论】:
标签: swift swift3 ios10 applepay ios10.2