SuperAPI AI 工具集

adyen-webhooks

测试与质量

查看项目

更新于 10-15 22:14

技能介绍

用途:帮助开发者搭建 Adyen webhook(标准通知)接收端点,验证 HMAC 签名,并处理支付授权、捕获、退款、拒付等事件。

主要能力:Adyen 以 HTTP POST 发送 JSON,body 含 notificationItems 数组,每项包裹 NotificationRequestItem。端点需对每项校验 additionalData.hmacSignature,并以字面量 [accepted] 和 HTTP 200 应答,否则 Adyen 会重试。HMAC 并非对原始 body 计算,而是对固定顺序字段用冒号拼接后计算:pspReference : originalReference : merchantAccountCode : merchantReference : amount.value : amount.currency : eventCode : success,字段原样拼接不转义,空字段为空串;Customer Area 提供的 HMAC key 是十六进制字符串,需先 hex 解码,再用 HMAC-SHA256 计算并 base64 编码,与签名比对。因签名覆盖解析后字段,需先解析 JSON 再逐项验证。

使用方式:官方 @adyen/api-library SDK 可直接调用 hmacValidator.validateHMAC(item, process.env.ADYEN_HMAC_KEY)。无 Node SDK 时可按上述算法手动实现,示例见资料中的 Python 代码。完整处理器(路由、事件分发、Basic Auth、测试)见 examples/express/、examples/nextjs/、examples/fastapi/。环境变量包括 ADYEN_HMAC_KEY,以及可选的 ADYEN_WEBHOOK_USERNAME、ADYEN_WEBHOOK_PASSWORD。本地开发可用 npx hookdeck-cli listen 3000 adyen --path /webhooks/adyen 启动隧道。

适用场景:设置 Adyen webhook 处理器、调试 HMAC 校验失败、处理 AUTHORISATION、CAPTURE、CAPTURE_FAILED、REFUND、REFUND_FAILED、CANCELLATION、CANCEL_OR_REFUND、CHARGEBACK、NOTIFICATION_OF_CHARGEBACK、REPORT_AVAILABLE 等事件。注意始终检查 success 字段,success 为 "false" 的 AUTHORISATION 表示支付被拒绝。

限制:资料未提供收费、价格、平台支持范围等信息;具体实现细节以官方文档和示例为准。