Есть ли способ узнать, когда нажата ОТМЕНА в представлении Apple Pay? Я пытался найти делегата, но не нашел.
Есть ли способ узнать, когда нажата ОТМЕНА в представлении Apple Pay
Ответы (3)
Если у вас есть настройка методов PKPaymentAuthorizationViewControllerDelegate, вы можете поймать отмену в этом методе:
- (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller
Я устанавливаю логическое значение (applePaymentDidSucceed) в FALSE, прежде чем вызывать Apple Pay, а затем устанавливаю его в true, если «PKPaymentAuthorizationStatus» в этом методе истинно:
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
didAuthorizePayment...
если ( ! applePaymentDidSucceed), пользователь отменил платеж.
Да, есть!
Вы можете использовать событие session.oncancel
Подробнее здесь: - https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession - https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778029-oncancel
Вы получите сообщение об ошибке. Определено несколько кодов ошибок, один для пользователя, отменяющего платеж, другой для пользователя, у которого в настройках отключены платные покупки, и всевозможные другие ошибки (например, вы не можете совершать покупки без доступа к интернету).
Так что никакого конкретного случая для отмены, просто ошибка.
didAuthorizePayment
не будет вызвано. Другой ответ здесь об использовании логического значения для отслеживания состояния - лучший подход.
- person lxt; 04.06.2016