Firefox - ReferenceError: PaymentRequest is not defined

Firefox - ReferenceError: PaymentRequest is not defined

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

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

Link 到 google 支付脚本 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

我只复制和粘贴官方提供的相同代码

从我的角度来看,Firefox 不支持 PaymentRequest,因此无法正常工作。我错过了什么?

查看 chrome 和 safari 的控制台。

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
  });

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

另外,仅供参考,我们最近 released a React and Web Component 简化了 Google 支付集成流程。考虑使用它作为替代方案,因为它应该更容易集成。

JSFiddle 输出的屏幕截图: