能否配置Stripe Webhook在请求头中返回订单编号?
问题解答
不行,Stripe Webhook的请求头里无法自定义携带你要的订单编号这类业务数据。
Stripe发送Webhook请求时,请求头是固定的,只会包含签名验证、版本标识这类官方预设的字段(比如Stripe-Signature、Stripe-Version),没有提供让开发者自定义添加请求头参数的配置入口。
不过你可以用这两个替代方案满足需求:
- 直接从Payload提取(最推荐):你已经在生成Payment Link时附带了订单号元数据,支付完成后,Stripe会在Webhook的Payload里返回这个元数据——比如关联的
checkout.session或payment_intent对象里的metadata.order_id字段,直接解析Payload拿到就行,这也是Stripe设计的标准用法。 - 加一层代理服务:如果你的业务逻辑必须从请求头获取订单号,可以自己搭建一个中间代理服务。让Stripe把Webhook请求发送到这个代理,代理先解析Payload提取订单号,然后给请求加上自定义头(比如
X-Order-ID: 12345),再转发给你的业务服务。
注意:无论用哪种方案,都必须严格校验Stripe的Webhook签名,避免接收伪造的请求。
内容的提问来源于stack exchange,提问作者aruntheimperfect
相关产品推荐
相关产品推荐

