【问题标题】:Stripe checkout button doesn't open checkout window条纹结帐按钮不打开结帐窗口
【发布时间】: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


【解决方案1】:

在 resources/views/layouts/app.blade.php 中,只需将 script src="{{ asset('js/app.js') }}"></script> 移动到页面的头部,而不是放在最后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-28
    • 2015-11-05
    • 2017-07-03
    • 1970-01-01
    • 2021-06-27
    • 2020-12-13
    • 2018-05-27
    • 1970-01-01
    相关资源
    最近更新 更多