Stripe.applePay.checkAvailability在移动版Safari中返回false

时间:2017-03-08 23:33:13

标签: stripe-payments applepay

遵循条纹文档,我正在尝试在网络上设置Apple Pay。

但Stripe提供的功能将avaiability视为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(所以我不需要进行切换)
  • in safari,ngrok,最新的MacOS ......
  • checkAvailability被调用,available返回false
  • 唯一的问题是条带API,我们仍然使用旧的API,因为存在重大变化,我们尚未尝试升级
  • 但是,我们已成功使用我们正在使用的api版本进行苹果付费工作。

1 个答案:

答案 0 :(得分:1)

一些调试技巧可以帮助开发人员登陆这里试图让Apple Pay和Stripe工作:

  • 在开发期间保持浏览器开发工具控制台处于打开状态,因为第三方库有时会在其中记录指示性错误消息。查看并调试控制台中记录的所有错误。
  • 检查网页是否通过HTTPS提供(Apple Pay需要)。考虑使用代理服务,例如fwd / ngrok / etc.在您的开发环境中。
  • 确认checkAvailability功能正在运行。尝试将alert('inside checkAvailability');调用作为回调函数的第一行。
  • 使用available再次确认alert(...)的值符合预期。
  • 在使用任何stripe.js功能之前,检查Stripe.applePay已包含在页面中。
  • 检查条带API密钥是否已针对环境(测试或生产)正确设置
  • 更新到最新的iOS和/或macOS以确保Safari版本支持Apple Pay。