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.