如何验证Stripe Webhook已配置payment_intent.succeeded?能否API触发事件?
关于Stripe Webhook验证的问题解答
问题1:能否在客户被扣款前验证payment_intent.succeeded是否已定向到Webhook?
没法直接提前验证该事件是否会被触发,但可以通过两种方式间接确认:
- 调用Stripe的Webhook Endpoints API,获取客户配置的端点详情,检查该端点的
enabled_events列表中是否包含payment_intent.succeeded。这是最直接的方式,在客户启动结账流程前就能确认他们是否正确订阅了所需事件。 - 在测试环境中,创建测试用的Payment Intent,使用Stripe测试卡号(如
4242 4242 4242 4242)完成模拟扣款,触发真实的payment_intent.succeeded事件,验证你的Webhook是否能正常接收。不过这种方法仅适用于测试场景,生产环境不建议用真实扣款来做验证。
问题2:能否通过API触发事件?
Stripe没有提供公开API来直接手动触发任意Webhook事件,CLI的stripe trigger只是本地模拟事件发送,并非调用Stripe官方接口生成真实事件。替代方案:
- 测试环境下:通过API创建测试Payment Intent,调用确认接口并使用测试卡号完成支付,让其自然进入成功状态,从而触发真实的
payment_intent.succeeded事件并发送到配置的Webhook端点。 - 生产环境下:不要尝试触发真实扣款事件,建议通过检查Webhook端点的事件订阅配置(即问题1中的第一种方法)来确认配置是否正确。
内容的提问来源于stack exchange,提问作者Christian Gollhardt
相关产品推荐
相关产品推荐

