1

I try to add visa card to Apple Wallet. I am using https://github.com/qiwi/apple-pay-in-app-provisioning-utils to add card. My problem is PKAddPaymentPassViewController has no function, call back or something to implement cancel action.

I've tried:

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        setupApplePayButton()
    }

    private func setupApplePayButton() {
        let passKitButton = PKAddPassButton(addPassButtonStyle: .blackOutline)
        passKitButton.addTarget(self, action: #selector(onEnroll), for: .touchUpInside)
        view.addSubview(passKitButton)
        passKitButton.translatesAutoresizingMaskIntoConstraints = false
        passKitButton.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 32).isActive = true
        passKitButton.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 32).isActive = true
        passKitButton.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -32).isActive = true
    }

    @objc private func onEnroll(button: UIButton) {
        print("User wants to enroll")
        let checkDevice = PassKitCardDetector.checkSupportApplePay(cardSuffix: "9000")
        print(checkDevice)

        let a = PassKitRequestGenerator(primaryAccountIdentifier: nil, primaryAccountSuffix: "9000", localizedDescription: "AAA", paymentNetwork: .visa, encryptionScheme: .ECC_V2) { [weak self] passData, _ in
        } completion: { _ in
        }
        present(a.inAppViewController() ?? UIViewController(), animated: true)
        
        print(a)
    }
}

The cancel button has still show but can not action.

0 Answers0