如何配置Stripe WebHook仅触发平台账户余额变动通知、过滤关联账户通知
解决方案
方法1:在Webhook处理逻辑中增加账户判断
Stripe触发的balance.available事件有明确标识可区分事件归属:
- 若事件属于平台主账户,事件对象的
account字段为空/不存在 - 若事件属于关联的Express账户,事件对象的
account字段会返回对应关联账户的ID
你只需要在处理balance.available事件前加一层过滤,跳过带account字段的事件即可,修改后代码如下:
switch (event.type) { case 'balance.available': // 新增过滤:如果是关联账户触发的事件直接跳过不处理 if (event.account) break; const paymentIntent = event.data.object; console.log(paymentIntent); transfer("acct_1Jc63wPhWrt3Vrlk"); console.log('End'); break; }
方法2:修改Webhook端点配置(治本方案)
如果这个Webhook端点只需要处理平台主账户的事件,不需要接收任何关联账户的事件,可以直接在Stripe后台调整端点配置:
- 进入Stripe Dashboard的「开发者」-「Webhooks」页面,找到你当前使用的端点
- 关闭监听关联账户事件的开关,保存配置后该端点就只会收到平台主账户触发的事件,不会再收到关联账户的余额变动通知
内容的提问来源于stack exchange,提问作者Harsha W
相关产品推荐
相关产品推荐

