Stripe API测试自动化:如何模拟Checkout Session支付完成后端流程测试
Stripe Checkout Session 自动化支付测试流程
核心结论
你不需要手动调用Payment Methods、Charge接口完成测试,也不需要复现Stripe支付页的前端请求,直接用Stripe测试环境提供的标准能力即可完成全流程校验。
前置准备
确认当前使用的是Stripe测试模式的API密钥,所有操作均在测试环境下执行。
方案1:手动快速验证
适合快速验证功能是否正常,无需写自动化代码:
- 拿到Checkout Session的跳转地址后直接在浏览器打开
- 支付时填入Stripe官方测试卡信息:
- 卡号:
4242 4242 4242 4242 - 有效期填任意未来时间,例如
12/34 - CVC填任意3位数字,例如
123
- 卡号:
- 其余信息随意填写后提交支付,即可直接支付成功,自动跳转你预设的success URL。
方案2:服务端API自动化测试
适合Postman、CI脚本等无UI自动化场景,完全在后端完成全流程:
步骤1:获取Checkout Session关联的Payment Intent ID
调用Stripe的Retrieve a Checkout Session接口,传入你已创建的Session ID,从返回结果中获取payment_intent字段的值,Checkout Session的支付状态本质由关联的Payment Intent控制。
步骤2:确认Payment Intent完成支付
调用Stripe的Confirm a PaymentIntent接口,传入上一步拿到的Payment Intent ID,请求携带以下参数即可:
payment_method:固定传测试环境预设值pm_card_visa,无需自行创建支付方式return_url:填你配置的success URL即可
请求执行成功后,Payment Intent状态会变为succeeded,对应的Checkout Session状态会变为complete,同时自动触发你配置的支付成功回调。
步骤3:校验支付结果
调用Retrieve a Checkout Session接口,查看返回的status字段,若值为complete即代表支付成功,即可继续执行你自身的订单核销、状态更新等后端逻辑。
注意事项
你之前尝试复现Stripe支付页的stripe.com/api/payment_methods请求无法成功,是因为Stripe官方对前端支付页的请求做了会话绑定、CSRF校验,不允许外部直接调用,也不推荐你用这种方式测试,上述两种方案是Stripe官方支持的标准测试路径。
内容的提问来源于stack exchange,提问作者Amj
相关产品推荐
相关产品推荐

