用途:在接入 Coinbase Commerce 加密货币支付时,搭建并调试 Webhook 处理程序,重点解决 X-CC-Webhook-Signature 验签失败问题,并理解 charge 事件与载荷结构。
主要能力:说明 Coinbase Commerce 使用以共享密钥为键的 HMAC-SHA256 对原始请求体签名,十六进制摘要放在 X-CC-Webhook-Signature 头中;校验必须针对原始请求体(不能是已解析的 JSON),并采用时序安全比较。事件对象嵌套在请求体的 event 键下。同时给出常见事件类型及触发时机:charge:created(新建 charge)、charge:pending(客户已付款,链上检测到但未确认)、charge:confirmed(已确认,charge 完成)、charge:failed(失败或过期未足额支付)、charge:delayed(付款延迟或超额/不足)、charge:resolved(此前延迟的 charge 已解决)。
使用方式:Node 可调用官方 coinbase-commerce-node SDK 的 Webhook.verifyEventBody(rawBody, signature, sharedSecret),验签不匹配时抛 SignatureVerificationError,返回已校验事件;也可用任意语言手动实现 HMAC-SHA256 十六进制摘要的时序安全比较。完整路由接线、事件分发与测试示例见 examples/express、examples/nextjs、examples/fastapi。环境变量为 COINBASE_COMMERCE_WEBHOOK_SECRET,取自设置中的通知配置。本地开发可用命令:npx hookdeck-cli listen 3000 coinbase-commerce --path /webhooks/coinbase-commerce 启动隧道,无需账号。
适用场景与限制:适合需要处理加密货币支付回调的开发者;资料未提供具体支持的编程语言全集、Coinbase Commerce 官方费率、重试时间表或部署平台限制。建议搭配 webhook-handler-patterns 技能以处理处理顺序、幂等、错误处理与重试。生成文件时可添加注释“// Generated with: coinbase-commerce-webhooks skill”及对应仓库地址。