2017-03-08 20 views
3

遵循条纹文档,我试图在Web上设置Apple Pay。Stripe.applePay.checkAvailability在移动Safari中返回false

但是由Stripe提供的函数返回可用性为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'; 
    } 
}); 

我在开发环境测试,并连接到服务器ngrok我的移动Safari浏览器。

任何人都有使其工作的经验?

更新

所以我的最后一次尝试是

  • 使用2016年的MacBook带指纹识别器(所以我并不需要做切换)在Safari
  • ,ngrok,最新MacOS ...
  • checkAvailability正在调用,并且available返回false
  • 唯一的是条纹API,我们仍然在旧的API上,因为有突变的改变,我们还没有尝试升级,但是,我们成功地使苹果付费了我们的api版本使用。
+0

您是否已登录iTunes Connect沙盒帐户?如果你不是,这将会一直发生。 – korben

+0

@korben是的,但它是越野车。没有一直回到真实。可能值得使用Apple Pay开发者支持提供 –

+0

。 checkAvailability()方法实际上只包装Apple Pay JS,并且不添加任何额外的逻辑afaik。你是否单独使用Apple Pay JS看到相同的结果? – korben

回答

1

一些调试技巧,可以帮助开发者登陆这里试图让苹果支付和条纹的工作:

  • 保持浏览器开发者工具控制台发展为启发性的错误时打开的邮件有时记录有由第三方库。查看并调试控制台中记录的所有错误。
  • 检查页面是否通过HTTPS提供服务(Apple Pay需要)。考虑使用代理服务,如fwd/ngrok /等。在您的开发环境中。
  • 确认checkAvailability函数正在运行。尝试将alert('inside checkAvailability');调用作为回调函数的第一行。
  • 确认available的值与预期的一样,再次使用alert(...)
  • 检查stripe.js在使用任何Stripe.applePay功能之前包含在页面中。
  • 为环境(测试或生产)设置正确的条纹API密钥
  • 更新到最新的iOS和/或macOS以确保Safari版本支持Apple Pay。
+0

非常感谢这些提示时,我会进行测试。负责任地,我已经完成了所有这些...在我的问题中更新它们。此刻我已经离开这个项目,但稍后会回来。 –