You need to enable JavaScript to run this app. Stripe调用presentWithSetupIntent时SetupIntents对应的PaymentSheet无法正常显示
优惠活动
大模型
产品
解决方案
定价
更多

Stripe调用presentWithSetupIntent时SetupIntents对应的PaymentSheet无法正常显示

问题根因归类

你当前的PaymentSheet调用语法本身没有错误,出现无限加载的问题通常是以下四类原因导致:

  • SetupIntent处于终态:你传入的SetupIntent已经是succeeded、canceled、processing等不可操作的状态,PaymentSheet仅支持状态为requires_payment_method的SetupIntent正常加载
  • 参数校验不通过:传入的customerId、ephemeralKey和SetupIntent绑定的customer不匹配,或者ephemeralKey已经过期(默认有效期仅5分钟)
  • SetupIntent配置错误:生成SetupIntent时未正确指定payment_method_types,或指定的支付方式未在Stripe后台开通、不支持订阅自动扣费场景
  • SDK版本兼容问题:使用的Stripe SDK版本过低,存在PaymentSheet加载SetupIntent的已知bug
排查解决步骤
  • 验证SetupIntent状态:登录Stripe后台,通过你使用的setupIntentClientSecret查询对应SetupIntent的状态,确认处于requires_payment_method可操作状态,若已为终态则重新生成新的SetupIntent即可
  • 校验参数匹配性:
    • 确认传入的customerId与生成该SetupIntent时绑定的客户ID完全一致
    • 确认传入的ephemeralKey是针对同一个customerId生成,且生成时间不超过5分钟未过期
    • 检查setupIntentClientSecret没有被截断、大小写错误,该字段为大小写敏感
  • 修正SetupIntent生成配置:在后端生成SetupIntent的逻辑中,显式传入payment_method_types参数,与你之前PaymentIntents场景的支付方式配置保持一致,确保包含你业务需要的支付方式(如卡支付需包含card)
  • 升级Stripe SDK:将项目中集成的Stripe SDK升级到官方最新稳定版,排除旧版本兼容性问题
  • 查看调试日志:在初始化PaymentSheet前开启Stripe调试日志,Android端调用Stripe.enableLogging(true),iOS端设置STPAPIClient.shared.isLoggingEnabled = true,复现问题后查看日志中的具体错误提示即可精准定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 09:54:06