Apple Pay не работает должным образом в Swift

Я реализовал Apple Pay с полосой, используя Swift. Я следовал за официальным документом нашивки. Всякий раз, когда пользователь нажимает кнопку оплаты Apple, он показывает платежный лист правильно? Но в нашем случае это не показывает платежный лист. он показывает ошибку типа "Passbook UI Service неожиданно завершил работу", и я написал ошибку в коде, чтобы ошибка выводилась на консоль. Когда я запускаю ту же программу в симуляторе MacBook Air, она работает отлично и также генерирует полосовой токен. Но я бегу в реальном Iphone, он не работает хорошо, как показано выше, я упоминал об ошибке. Я тестировал код в симуляторах iphone8plus и более поздних версиях. Мой код:

import UIKit
import PassKit
import Stripe

class ViewController: UIViewController {

    let request = PKPaymentRequest()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    @IBAction func applepay(_ sender: Any) {
        let merchantIdentifier = "merchant.Appplepay"
        let paymentNetworks = [PKPaymentNetwork.masterCard, PKPaymentNetwork.visa]
        if PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: paymentNetworks)
        {

            request.merchantIdentifier = "merchant.Appplepay"
            request.countryCode = "US"
            request.currencyCode = "USD"
            request.supportedNetworks = paymentNetworks
            request.merchantCapabilities = .capability3DS
            request.paymentSummaryItems  = [PKPaymentSummaryItem(label: "Fancy Hat", amount: 50.00),
                                            // The final line should represent your company;
                // it'll be prepended with the word "Pay" (i.e. "Pay iHats, Inc $50")
                                            PKPaymentSummaryItem(label: "iHats, Inc", amount: 50.00),]
        } else {
            // Traditional checkout flow
        }
        func applePaySupported() -> Bool {
            return PKPaymentAuthorizationViewController.canMakePayments() && PKPaymentAuthorizationViewController.canMakePayments(usingNetworks: [.amex, .visa, .masterCard])
        }


            // Setup payment authorization view controller
            let paymentAuthorizationViewController = PKPaymentAuthorizationViewController(paymentRequest:request)
            paymentAuthorizationViewController?.delegate = self

            // Present payment authorization view controller
            self.present((paymentAuthorizationViewController)!, animated: true,completion: nil)


    }

}
extension ViewController : PKPaymentAuthorizationViewControllerDelegate {
    func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment  payment: PKPayment, completion: @escaping (PKPaymentAuthorizationStatus) -> Void) {
        STPAPIClient.shared().createToken(with: payment) { (token: STPToken?, error)-> Void  in
            print("Stripe token is \(String(describing: token!))")
            completion(.success)
        }
    }

    func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController!) {
        controller.dismiss(animated: true, completion: nil)
    }


}

и мои скриншоты подписи:

Этот снимок экрана - мой идентификатор продавца и возможность оплаты Apple в моих возможностях в моем проекте. введите описание изображения здесь

Пожалуйста, помогите мне, как преодолеть эту ошибку и отображение платежного листа

0 ответов

Другие вопросы по тегам