【发布时间】:2017-12-28 23:19:28
【问题描述】:
我正在尝试集成 Stripe 签出。为此,我正在关注此文档:
https://stripe.com/docs/recipes/subscription-signup#creating-the-signup-form-using-checkout
所以我将<script> 标签粘贴到我的表单中,例如:
<form action="/create_subscription.php" method="POST">
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="pk_test_lrpNHu3jIKBoBo2ZLZ8dzzBh"
data-image="images/marketplace.png"
data-name="Emma's Farm CSA"
data-description="Subscription for 1 weekly box"
data-amount="2000"
data-label="Sign Me Up!">
</script>
</form>
文档说当用户点击注册按钮时,它应该打开一个询问卡详细信息的弹出窗口,但它不是直接提交表单。
我很确定 Stripe 密钥与此无关,但我仍然使用了正确的密钥。此外,控制台上没有任何 Javascript 错误。
我几乎在互联网上搜索了所有内容,但仍然没有运气。
PS:我使用的是 http 而不是 https,不确定这是否是问题所在。
编辑:
我认为问题是在 HTTP 而不是 HTTPS 上运行的,正如这里提到的:
https://stripe.com/docs/checkout#does-checkout-require-https
但现在我认为这不是问题,因为它在 HTTP 上运行良好:
http://demo.ilovephp.net/stripe/stripe_pay_checkout_demo.php
编辑:
我发现了问题:Laravel 的默认 app.js 与 Stripe 的 checkout.js 有问题。没有 app.js 它工作正常。
https://laracasts.com/discuss/channels/laravel/issue-with-stripe-api-js-and-laravel-js?page=1
我仍然没有找到一个好的解决方案。
谢谢
【问题讨论】:
-
我已经提到过这个问题。无论如何,我发现了这个问题。完成后会发布。
-
您提供的代码没有问题。您可以在新页面中检查此表格以进行测试。可能是您页面的其他一些因素抑制了 Stripe 弹出窗口。
-
你有更多的代码来阻止你的页面吗?您能否分享指向相关页面的链接或 JSFiddle 中的完整代码,人们可以查看。我怀疑问题超出了此处的 Checkout 块。
-
@duck,请参阅问题中的第二个编辑。
标签: javascript stripe-payments payment-gateway payment checkout