我在我的网站上使用 Stripe
支付。
过程
当点击结帐按钮
时,我正在发送一个Ajax
请求(在服务器端我正在做一些应该在付款发生之前运行的数据库事务) 然后在 ajax 成功时显示弹出窗口。它在 chrome 和其他桌面浏览器上完美运行。
但是它不适用于移动浏览器
(弹出 block 问题发生)。
我知道我可以通过在点击后立即打开弹出窗口来解决这个问题,而不用像这个 Stripe doc 那样等待 ajax 成功。
但在我的情况下,我需要等到我收到服务器的响应
我该如何解决这个问题或者有什么我可以处理我的案子的吗?谢谢。
最佳答案
通常,发生这种情况是因为您没有直接在点击处理程序中打开 Stripe Checkout。当客户单击页面上的元素而不是在回调中时,您需要调用 handler.open()
。这向浏览器表明用户已明确请求弹出窗口。否则,移动设备和某些版本的 Internet Explorer 将阻止弹出窗口并阻止用户 checkout 。
关于javascript - 移动设备中的 Stripe 支付弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36563822/