Stripe CLI webhook listen 返回 500:本地端点与转发排查
处理 stripe listen 出现 500 的公开案例,区分本地端点错误、CLI 转发与 Stripe 事件配置。
排障原则:先保留错误截图、时间点和网络出口信息;不要在故障期反复切换设备或 IP,以免扩大平台的异常信号。
先给结论
stripe listen 出现 500 时,不要把它直接当作支付失败。公开 Stripe CLI Issue #857 记录过“webhook listen 返回 500”的现象;它不能证明当前端点、CLI 版本或 Stripe 账户具有相同根因。
先保留发生时间、CLI 版本、事件类型和本地端点响应类别。不要记录 signing secret、API key 或完整事件负载。
分层定位
- 通过 Stripe Webhook 官方文档 核对正在使用的 CLI 转发模式与本地端点。
- 检查本地接收服务是否仍在运行,并确认路由、方法和预期响应状态。
- 用一个测试事件复现;把“CLI 建连成功后转发失败”与“CLI 本身无法启动”分开记录。
- 检查近期代码、环境变量名称或 Webhook 验签处理是否改变,但不要把秘密值写入日志。
- 若最小测试仍稳定返回 500,提交脱敏时间线、CLI 版本和端点响应类别给维护者,并引用 Issue #857 作为相似案例。
验证与回滚
仅当同一测试事件能被接收端确认处理、CLI 不再报告 500 且没有掩盖新的验签错误时,才算修复通过。无效变更应回滚到已知可用端点实现。
常见问题
500 是否一定来自 Stripe?
不是。需要先判断错误显示在 CLI、转发响应还是本地接收端,三者的排查路径不同。