请问苹果支付PassKit里面 PKPaymentAuthorizationControllerDelegate协议里面函数presentationWindow要怎么写?我这样写为什么不行?谢谢
func presentationWindow(for controller: PKPaymentAuthorizationController) -> UIWindow? {
let paymentWindow:UIWindow=UIWindow(frame: CGRect(x: 0,y: 0,width: 200,height: 200))
return paymentWindow
}
以下是startPayment函数
func startPayment(completion: @escaping PaymentCompletionHandler) {
let amount = PKPaymentSummaryItem(label: "Ammount", amount: NSDecimalNumber(string: price), type: .final)
let tax = PKPaymentSummaryItem(label: "Tax", amount: NSDecimalNumber(string: "1.12"), type: .final)
let total = PKPaymentSummaryItem(label: "ToTal", amount: NSDecimalNumber(string: "10.00"), type: .pending)
paymentSummaryItems = [amount, tax, total];
completionHandler = completion
// Create our payment request
let paymentRequest = PKPaymentRequest()
paymentRequest.paymentSummaryItems = paymentSummaryItems
paymentRequest.merchantIdentifier = "merchant.com.YOURDOMAIN.YOURAPPNAME"
paymentRequest.merchantCapabilities = .capability3DS
paymentRequest.countryCode = "US"
paymentRequest.currencyCode = "USD"
paymentRequest.requiredShippingContactFields = [.phoneNumber, .emailAddress]
paymentRequest.supportedNetworks = PaymentHandler.supportedNetworks
// Display our payment request
paymentController = PKPaymentAuthorizationController(paymentRequest: paymentRequest)
paymentController?.delegate = self
//self.presentationWindow(for: paymentController!)
paymentController?.present(completion: { (presented: Bool) in
if presented {
NSLog("Presented payment controller")
} else {
NSLog("Failed to present payment controller")
self.completionHandler!(false)
}
})
}