Agent Skills
返回列表
💻

Webhook 调试器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/webhook-debugger-skillhub。

技能介绍

解决的核心问题

在对接 Stripe 等第三方支付服务时,Webhook 调试常面临三大痛点:请求链路不可见(如 POST /webhooks 是否被正确接收)、签名验证逻辑复杂(需处理 stripe-signature 头)、事件负载结构嵌套深(如 data.object 中的字段层级)。这些环节任何一环出错都会导致支付回调失败,且难以快速定位问题。

核心能力与工作逻辑

该技能基于 Node.js 构建,提供两个关键能力:

  • 负载解析:自动拆解 Stripe 事件的标准 JSON 结构,通过 event.type 标识事件类型(如 checkout.session.completed),提取 data.object 中的业务数据(如订单号、金额)。
  • 签名验证:模拟 Stripe 的签名校验机制,利用 stripe 库的 Webhook.constructEvent 方法,对请求体的原始字节流(而非解析后的 JSON)与 stripe-signature 头进行匹配验证,防止伪造回调。

使用时需先通过 npm install stripe --save 安装依赖,再编写接口接收 Webhook 请求,将原始请求体和签名头传入验证方法。验证通过后,即可根据 event.type 执行后续业务逻辑(如更新订单状态)。

适用边界与注意点

  • 仅限 Stripe 生态:核心逻辑依赖 Stripe 官方库,无法直接处理其他服务(如 PayPal)的 Webhook,扩展需自行适配签名算法。
  • 依赖 Node.js 环境:需确保服务器已安装 Node.js 运行时,且项目通过 npm 管理依赖。
  • 原始数据保留:验证签名时必须使用原始请求体(如 Express 中需保留 req.rawBody),若中间件已解析 JSON,需额外配置还原原始数据。

使用场景

  • 对接Stripe支付回调时,排查`POST /webhooks`请求未被正确接收或处理的问题
  • 验证Stripe事件负载的签名有效性,防止伪造回调导致支付状态更新异常
  • 解析Stripe Webhook返回的复杂JSON数据,提取`data.object`中的订单信息用于业务逻辑
  • 调试Node.js服务中Webhook签名验证失败的报错,定位原始请求体处理问题

适合人员

  • 对接Stripe支付功能的后端开发者,需要快速定位Webhook回调失败的具体原因
  • 负责支付系统集成的工程师,需确保Webhook签名验证逻辑正确防止安全风险
  • 使用Node.js开发支付相关服务的开发者,需要解析Stripe事件数据完成业务闭环
  • 排查支付回调问题的技术支持人员,需理解Webhook请求链路与签名机制