当我尝试向其提供 PKPaymentAuthorizationController 时,present(completion: _)
它会在没有任何进一步信息的情况下失败。
以下是我展示它的方式:
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 项目中运行没有问题。