我正在整合apple pay。我正在遵循apple pay文档。这是我的代码。
import UIKit
import PassKit
class ApplePayViewController: UIViewController {
@IBOutlet var lblLoading : UILabel!
@IBOutlet var loader : UIActivityIndicatorView!
var totalAmount = "100.0"
let paymentRequest = PKPaymentRequest()
override func viewDidLoad() {
super.viewDidLoad()
// Set up the payment request
paymentRequest.merchantIdentifier = "merchant.com.apple.example"
paymentRequest.supportedNetworks = [.visa, .masterCard, .amex, .discover]
paymentRequest.merchantCapabilities = .capability3DS
paymentRequest.countryCode = "US"
paymentRequest.currencyCode = "USD"
// Add a payment item
let item = PKPaymentSummaryItem(label: "Total", amount: NSDecimalNumber(string: totalAmount))
paymentRequest.paymentSummaryItems = [item]
// Check if the device is capable of making payments
if PKPaymentAuthorizationViewController.canMakePayments() {
let authorizationViewController = PKPaymentAuthorizationViewController(paymentRequest: paymentRequest)
authorizationViewController?.delegate = self
present(authorizationViewController!, animated: true, completion: nil)
} else {
SharedManager.showAlertWithMessage(title: NSLocalizedString("Sorry", comment: ""), alertMessage: "This device is not capable of making payments.", viewController: self)
}
}}
扩展苹果支付视图控制器:PK支付授权视图控制器委托{
func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {
controller.dismiss(animated: true, completion: nil)
}
func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, handler completion: @escaping (PKPaymentAuthorizationResult) -> Void) {
// Verify the payment with your server
// ...
completion(PKPaymentAuthorizationResult(status: .success, errors: nil))
}}
在didAuthorizePayment委托中,我不知道如何与服务器验证付款。我在文档中找不到任何与此相关的函数或后数据。您能帮助我吗?
谢谢
1条答案
按热度按时间k4emjkb11#
你需要有一个支付处理器(如条纹),实际上做交易。
请参阅本教程:https://www.kodeco.com/2113-apple-pay-tutorial-getting-started
它解释了如何使用Stripe执行此操作。
在这个函数中,如果Stripe成功,您还必须告诉您自己的后端发送产品或用户订购的任何东西所需的所有信息。