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

Android集成Stripe PaymentSheet报Checkout创建的PaymentIntents不可操作错误

错误触发场景说明

该报错与Android端PaymentSheet配置、测试卡号填写逻辑无关,核心触发原因是后端返回的PaymentIntent资源创建来源与前端调用的支付能力不匹配,具体触发条件如下:

  • 后端生成PaymentIntent时,是通过创建Stripe Checkout Session(Stripe托管结账页资源)的方式连带生成的关联PaymentIntent,而非独立调用PaymentIntent创建接口生成的普通PaymentIntent。
  • Stripe对不同来源的PaymentIntent做了强权限隔离:绑定Checkout Session的PaymentIntent仅允许通过Stripe官方托管的Checkout页面完成支付流程,禁止传入移动端/网页端SDK的PaymentSheet、自定义卡片收集组件等客户端支付模块做后续操作,一旦客户端尝试操作这类PaymentIntent就会抛出该错误。
排查修复方案
  • 排查后端创建支付参数的逻辑:禁止将Checkout Session返回结果中关联的PaymentIntent对应的clientSecret传给前端,这类参数仅适配Stripe托管结账页跳转场景,无法用于原生PaymentSheet唤起。
  • 调整后端创建逻辑:如果业务场景需要使用Android端原生PaymentSheet完成支付,后端需直接独立调用Stripe的PaymentIntent创建接口(服务端SDK对应方法为PaymentIntent.create()),将接口直接返回的clientSecret下发给前端即可,无需提前创建Checkout Session资源。
  • 校验方式:拿到后端返回的paymentIntentID后,可在Stripe后台开发者日志中查询该资源详情,若详情中存在checkout_session关联字段,即可确认PaymentIntent创建来源错误。

你贴出的Android端presentPaymentSheet实现代码本身无语法或配置错误,替换为正确来源的clientSecret后,使用4242 4242 4242 4242测试卡即可正常走通支付流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:51:17