javascript - Stripe 结帐按钮不会打开结帐窗口

标签 javascript stripe-payments payment-gateway payment checkout

我正在尝试集成 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 key 与此无关,但我仍然使用了正确的 key 。此外,控制台上没有任何 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

我仍然没有找到好的解决方案。

谢谢

最佳答案

在 resources/views/layouts/app.blade.php 中移动 < script src="{{ asset('js/app.js') }}"></script>到页面的头部而不是在末尾。

关于javascript - Stripe 结帐按钮不会打开结帐窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45262502/

相关文章:

paypal - 我的桌面应用程序是否在 PCI 认证范围内?

javascript - 使用 javascript/html 关闭窗口

payment-gateway - Stripe 身份验证和捕获

javascript - 完全被 Stripe Checkout 困住了

node.js - Stripe Angular 错误: Uncaught (in promise): TypeError: Cannot read property 'stripeService' of undefined

paypal - 付款时银行无法验证您的 VISA

javascript - jQuery - Google 图像功能在点击时滚动到无序列表行的顶部

javascript - SuiteScript 中的 ID 字段抛出 INVALID_FLD_VALUE

javascript - jQuery 根据复选框的状态为变量分配值以进行提交

php - 第一次数据支付网关集成soap故障报错