Firefox - ReferenceError: PaymentRequest 未定义

Kyl*_*aid 5 firefox payment-request-api google-pay

我正在尝试在网站上实施 google pay。google pay 的外部库是从 pay.google.com 加载的。在这个 google 脚本中,他们调用浏览器 api PaymentRequest()。这个 api 内置于流行的浏览器中,如 Safari、Chrome 等。

我有 google pay 工作,但它在 Firefox 上不起作用。加载外部脚本时,它调用 PaymentRequest 并在控制台中显示以下错误:ReferenceError: PaymentRequest is not defined

链接到谷歌支付脚本 https://pay.google.com/gp/p/js/pay.js

Mozilla Firefox 官方网页声明在安全上下文中支持 PaymentRequest。 https://developer.mozilla.org/en-US/docs/Web/API/Payment_Request_API/Using_the_Payment_Request_API

我只复制和粘贴官方来源提供的相同代码 在此处输入图片说明

在我看来,PaymentRequest 在 Firefox 中不受支持并且不起作用。我错过了什么?

查看 chrome 和 safari 的控制台。 在此处输入图片说明

Soc*_*Soc 5

Google Pay 在 macOS 上的 Firefox 78.0.1 上使用以下方法为我工作:https ://jsfiddle.net/fw5t6caL/

是的,它确实在控制台中的以下代码位记录了错误:

  google.payments.api.UseCanMakePaymentResultFromPayjs && (new PaymentRequest([{
    supportedMethods: [
      'https://google.com/pay'
    ]
  }
  ], {
    total: {
      label: 'Estimated Total Price',
      amount: {
        currency: 'USD',
        value: '10'
      }
    }
  })).canMakePayment().then(function (a) {
    return ef = a
  }).catch (function () {
    return ef = !1
  });
Run Code Online (Sandbox Code Playgroud)

...但它确实有效。您可以尝试使用上面链接的 JSFiddle 吗?

此外,作为仅供参考,我们最近发布了一个 React 和 Web 组件来简化 Google Pay 集成过程。考虑使用它作为替代方案,因为它应该更容易集成。

JSFiddle 输出的屏幕截图:

在此处输入图片说明