You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails环境中Stripe Payment Element未显示支付选项求助

问题排查与解决方法

以下是可能导致Payment Element未显示支付选项的几个原因及对应解决方式:

  • 确认币种对应的支付方式已启用
    虽然你提到后台启用了多种支付方式,但需检查这些方式是否支持gbp币种。比如部分支付方式(如Sofort)仅支持欧元,需确保在Stripe后台针对GBP币种开启了Apple Pay、Google Pay、Bancontact等适配的支付方式,且测试模式下这些方式处于可用状态。

  • 完善PaymentIntent的自动支付方法配置
    你的代码仅开启了automatic_payment_methods: {enabled: true},建议添加allow_redirects参数,确保Stripe加载需要跳转的支付方式:

    @intent = Stripe::PaymentIntent.create({
      amount: 100,
      currency: 'gbp',
      automatic_payment_methods: {
        enabled: true,
        allow_redirects: 'always' # 显式允许跳转类支付方式
      },
      transfer_group: 'group1',
    })
    
  • 确保使用最新版Stripe.js
    旧版本的Stripe.js可能不支持Payment Element完整的支付选项展示,请确认页面中引入的是最新版Stripe脚本:

    <script src="https://js.stripe.com/v3/"></script>
    
  • 检查测试环境的限制
    测试模式下部分支付方式有展示条件:

    • Apple Pay需在Safari浏览器或iOS设备上测试,且绑定Stripe测试卡片;
    • Google Pay需在Chrome浏览器中测试;
      请确认测试环境满足对应支付方式的展示要求。
  • 验证Client Secret的正确性
    确保前端secret变量传递的是PaymentIntent的client secret(格式为pi_xxx_secret_xxx),而非Stripe API密钥。可在浏览器控制台打印secret确认值的正确性。

内容的提问来源于stack exchange,提问作者Bazley

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:27:50