有没有办法知道在 Apple Pay 视图中何时按下 CANCEL

Posted

技术标签:

【中文标题】有没有办法知道在 Apple Pay 视图中何时按下 CANCEL【英文标题】:Is there a way to know when CANCEL is pressed in the Apple Pay view 【发布时间】:2016-05-11 17:07:13 【问题描述】:

有没有办法知道何时在 Apple Pay 视图中按下了 CANCEL?我试图寻找代表,但没有找到。

【问题讨论】:

【参考方案1】:

如果您设置了 PKPaymentAuthorizationViewControllerDelegate 方法,则可以在此方法中捕获取消:

    - (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller

我在调用 Apple Pay 之前将布尔值 (applePaymentDidSucceed) 设置为 FALSE,然后如果此方法中的“PKPaymentAuthorizationStatus”为 true,则将其设置为 true:

    - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                   didAuthorizePayment...

如果 (!applePaymentDidSucceed),用户取消了。

【讨论】:

我希望 PKPaymentAuthorizationStatus 包含一个取消的字段..【参考方案2】:

是的,有!

你可以使用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

【讨论】:

这个仅供网络使用【参考方案3】:

你会得到一个错误。定义了几个错误代码,一个是用户取消付款,另一个是用户在其设置中禁用了支付购买,以及各种其他错误(例如,您无法在没有互联网访问的情况下进行购买)。

所以没有特殊情况可以取消,只是一个错误。

【讨论】:

我在哪里处理错误?或者知道是哪个错误? 您不会收到取消错误,因为不会调用didAuthorizePayment。这里关于使用布尔值跟踪状态的另一个答案是更好的方法。

以上是关于有没有办法知道在 Apple Pay 视图中何时按下 CANCEL的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将 Apple Pay 用作 Arduino 的 NFC 标签?

Apple Pay 检测 Wallet 没有信用卡

Apple Pay - 如何注册

iOS5通知下拉菜单:有没有办法知道用户何时按下iPhone上我的应用程序通知上的清除按钮?

有没有办法知道何时呈现 UIViewController 失败?

Apple Pay(转)