从Safari浏览器调用Apple Pay时,iOS 13中未显示Apple Payment表

时间:2019-10-09 20:53:56

标签: javascript mobile-safari ios13 applepayjs

我正在使用Apple Pay JS。我为我的网站创建了Apple Pay功能,该功能在iOS设备的Safari浏览器中一直运行良好,但在将iOS更新到最新版本iOS13后停止了工作。

问题是Apple Pay表不再出现在iOS13上。 我在日志中看不到任何错误。它启动Apple Pay会话,但不调用onvalidatemerchant及其后的任何内容。

在单击Apple Pay的按钮时,我具有以下方法

function makePayment()
{
    var applePayRequest = sampleRequest;
    var applePaySession = new ApplePaySession(1, applePayRequest)

    applePaySession.onvalidatemerchant = function(event) {
      log('validate merchant called');

       // api service call with event.validationUrl to get the session data
    };

    applePaySession.onPaymentAuthorized = function(event) {
      log('on payment authorized called');

       // get payment token and call api service with details for
      // payment processing 
    };

    log('begin Apple Pay session');
    applePaySession.begin();

    log('Apple Pay session called');

 }

打印以下日志 “开始Apple Pay会议” “ Apple Pay会议召开了”

这意味着甚至没有调用onvalidatemerchant。 在iOS 12设备上,我还将另外获得“验证商家称为”的日志。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我有同样的问题。 正如您在文档中看到的那样,最新版本是6。

https://developer.apple.com/documentation/apple_pay_on_the_web/applepaysession/1778014-supportsversion enter image description here

但是我检查了版本窗口。ApplePaySession.supportsVersion(8)可用。

在替换版本后

var applePaySession = new ApplePaySession(1, applePayRequest)

var applePaySession = new ApplePaySession(8, applePayRequest)

正在工作!