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

如何在Stripe的payment_intent.succeeded Webhook中获取关联优惠券?

Stripe支付会话优惠券获取问题解答

为什么payment_intent.succeeded里拿不到优惠券?

Payment Intent的核心是处理支付执行流程(确认金额、验证支付方式、记录支付状态),它不直接存储优惠券或折扣的关联数据。优惠券属于订单(Checkout Session)或客户(Customer)层面的信息,默认不会同步到Payment Intent的返回字段中。

解决办法

方案1:监听checkout.session.completed事件(推荐)

支付完成后,Stripe会触发checkout.session.completed Webhook事件,该事件的Payload里直接包含discount字段,完整提供优惠券的所有信息(如优惠券ID、折扣金额、适用规则等),可以直接提取使用。

方案2:通过Payment Intent关联查询Checkout Session

如果必须依赖payment_intent.succeeded事件,可按以下步骤操作:

  • 在payment_intent.succeeded的事件Payload中,获取checkout_session字段(关联的支付会话ID)
  • 调用Stripe API查询该支付会话:stripe.checkout.sessions.retrieve("checkout_session_id")
  • 从返回的支付会话对象中提取discount字段,获取优惠券详情

方案3:通过Customer对象查询(若优惠券绑定到客户)

如果优惠券是直接应用到Customer对象上的,可:

  • 从payment_intent.succeeded事件的customer字段获取客户ID
  • 调用Stripe API查询客户:stripe.customers.retrieve("customer_id")
  • 从返回的客户对象的discount字段中获取优惠券信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 04:05:25