Stripe payments Stripe.applePay.checkAvailability在mobile Safari中返回false

Stripe payments Stripe.applePay.checkAvailability在mobile Safari中返回false,stripe-payments,applepay,Stripe Payments,Applepay,根据stripe文档,我正在尝试在web上设置Apple Pay 但是Stripe提供的函数将availability返回为false Stripe.applePay.checkAvailability(function(available) { if (available) { document.getElementById('apple-pay-button').style.display = 'block'; } else { document.getElement

根据stripe文档,我正在尝试在web上设置Apple Pay

但是Stripe提供的函数将availability返回为false

Stripe.applePay.checkAvailability(function(available) {
  if (available) {
    document.getElementById('apple-pay-button').style.display = 'block';
  } else {
    document.getElementById('apple-pay-button').style.display = 'none';
  }
});
我正在开发环境中进行测试,并在我的移动safari上使用ngrok连接到服务器

有人有让它工作的经验吗

更新

所以我最后一次尝试是

  • 使用2016年带指纹读取器的macbook(因此我不需要进行切换)
  • 在韩国的safari,最新的MacOS
  • checkAvailability
    正在被调用,并且
    availability
    返回
    false
  • 唯一的事情是条带API,我们仍然使用旧的API,因为有突破性的变化,我们还没有尝试升级
  • 但是,我们已经成功地使apple pay与我们正在使用的api版本兼容
一些调试技巧可能有助于开发者登陆此处,尝试让Apple Pay和Stripe正常工作:

  • 确保设备的区域设置设置为支持Apple Pay的国家(撰写本文时为美国、英国或加拿大)
  • 在开发过程中保持浏览器开发工具控制台打开,因为第三方库有时会在那里记录指示性错误消息。查看并调试控制台中记录的所有错误
  • 检查页面是否通过HTTPS提供(Apple Pay要求)。考虑在开发环境中使用代理服务,如FWD/NGROKK等。
  • 确认
    checkAvailability
    功能正在运行。尝试发出
    警报(“内部检查可用性”)调用作为回调函数的第一行
  • 再次使用
    警报(…)
    确认可用
    的值符合预期
  • 在使用任何
    stripe.applePay
    功能之前,请检查页面中是否包含
    stripe.js
  • 检查是否为环境(测试或生产)正确设置了条带API密钥
  • 更新至最新的iOS和/或macOS,以确保Safari版本支持Apple Pay

您是否已登录iTunes Connect沙盒帐户?如果你不是,这种情况总会发生。@korben是的,但它是有车的。不总是返回true。可能值得向Apple Pay开发者支持部门提交文件。实际上,checkAvailability()方法只是包装了Apple Pay JS,没有添加任何附加逻辑。你看到单独使用Apple Pay JS的结果吗?@korben我没有单独尝试Apple Pay JS。但我会再挖一点。我会在这里发布我发现的任何东西。我对此也有类似的问题,但是直接使用
ApplePaySession
,而不是通过Stripe。我当时的一些观察结果如下: