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

Stripe:如何高效列出待处理的Webhook?

我来帮你解决这个问题!当Webhook超时但日志没给出关键信息时,手动逐个查客户确实效率极低,下面两种方法能帮你快速定位待处理的Webhook事件:

方法一:通过Stripe仪表盘快速排查

不用写代码,直接在后台就能精准筛选:

  • 进入Stripe后台的Webhooks页面,找到你要排查的Webhook端点,点击进入详情页
  • 切换到Events标签页,这里会展示所有发送到该端点的事件记录
  • 利用页面顶部的筛选器缩小范围:
    • 先筛选Status为「Failed」或「Timed out」(不同版本仪表盘措辞可能略有差异)
    • 还可以按Event type精准筛选,比如直接输入customer.subscription.deleted、customer.payment.success这类事件类型
    • 每条失败事件点进去后,在「Event data」板块能直接看到关联的客户ID(通常在object->customer字段),点击ID就能跳转到对应客户的详情页,不用盲目翻找
方法二:用Stripe API批量导出失败Webhook事件

如果需要批量处理或自动化排查,用API能更高效:
首先确保安装了Stripe SDK(以Python为例):

pip install stripe

然后编写脚本批量获取失败事件的关键信息:

import stripe

# 替换成你的Stripe密钥(测试环境用测试密钥,生产环境用生产密钥)
stripe.api_key = "sk_your_secret_key"

# 替换成你要排查的Webhook端点ID(可在仪表盘端点详情页找到)
target_endpoint_id = "we_your_webhook_endpoint_id"

# 批量拉取失败的Webhook事件,支持分页
failed_events_iterator = stripe.Event.list_auto_paging_iter(
    delivery_success=False,  # 筛选发送失败的事件
    webhook_endpoint=target_endpoint_id,
    limit=100  # 每次拉取的数量,可按需调整
)

# 遍历输出关键信息
for event in failed_events_iterator:
    print(f"事件ID: {event.id}")
    print(f"事件类型: {event.type}")
    print(f"关联客户ID: {event.data.object.get('customer', '无关联客户')}")
    print(f"失败原因: {event.last_delivery_error.get('message', '未记录具体原因')}")
    print("------------------------")
  • 如果需要按时间范围筛选,可添加created参数(比如created={"gte": 1690000000},代表筛选某个时间戳之后的事件)
  • 脚本输出的信息可以直接导出为CSV,方便后续批量处理

内容的提问来源于stack exchange,提问作者Félix Paradis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:47:43