小编Pau*_*oke的帖子

iOS 13 Apple Pay 按钮单击引发错误:“必须从用户手势处理程序创建新的 ApplePaySession。”

在一个已经与 Apple Pay 集成的网站上工作了大约一年,没有出现任何问题。我们注意到,现在仅适用于 iOS 13 设备。iOS 12 及以下版本均按预期工作。

前端点击处理程序:

<div class="btn btn-apple">
  <div class="apple-pay-button apple-pay-button-white" lang="en" data-bind="click: intializeApplePaySession"></div>
</div>
Run Code Online (Sandbox Code Playgroud)

JS 点击处理程序:

self.intializeApplePaySession = function() {
  new RestClient(RestClient.POST, "/rest/model/someController", {},
    //Success
    function(data, textStatus, jqXHR) {

      var session = new ApplePaySession(3,data.applePayPaymentRequest);
      initializeCallbacks(session);
      session.begin();
    },
...
Run Code Online (Sandbox Code Playgroud)

“必须从用户手势处理程序创建一个新的 ApplePaySession。” 总是被扔到

var session = new ApplePaySession(3,data.applePayPaymentRequest);

适用于所有 iOS 13 设备。iOS 12 及更低版本可以使用相同的代码正常工作。

从我的调试中我可以看到正在处理的事件是一个 MouseEvent,这对我来说很有意义。关于为什么会抛出这个有什么想法吗?

javascript ios knockout.js applepay

5
推荐指数
1
解决办法
7746
查看次数

标签 统计

applepay ×1

ios ×1

javascript ×1

knockout.js ×1