SuperAPI AI 工具集

praxis-webhooks

通用与其它

查看项目

更新于 10-15 22:14

技能介绍

用途:接收并验证 Praxis(Praxis Tech,即 Cashier 支付编排平台)发出的 Webhook,适用于搭建 Praxis Webhook 端点、校验 gt-authentication 签名、签署回执,以及处理支付与订阅通知事件。

主要能力:Praxis 对每个出站 Webhook 使用 SHA-384 十六进制摘要签名,放在小写 gt-authentication 头中。这不是 HMAC,也不是 Standard Webhooks。签名方式为:按文档规定的顺序取该 Webhook 类型固定字段值,拼接成一个字符串,追加 Merchant Secret,再做 sha384 哈希。端点须返回 200 及 { "status": 0, ... } 响应体,并用 external-request-signature 头签署该回执。

使用方式:验证时按顺序拼接字段值(不要按字母排序,字母排序仅用于通用 API 请求签名),追加 Merchant Secret 后做 sha384(hex),与 gt-authentication 头比较,建议使用 timingSafeEqual 做时序安全比较。回执签名是 status + timestamp + secret 的 sha384,放入 external-request-signature 头。注意:签名覆盖字段值而非原始请求体,因此必须先解析 JSON 再重建签名字符串,这与基于原始请求体的 HMAC 提供商相反。订阅通知带 event 字段,支付通知不带。

事件类型:支付通知通过 transaction.transaction_status 识别,取值包括 initialized、pending、approved、rejected、error。订阅通知通过 event 字段识别,如 SubscriptionCreated、SubscriptionActivated、SubscriptionDeactivated、SubscriptionExpired、SubscriptionCanceled、PaymentAttemptApproved、PaymentAttemptFailed、PaymentSucceeded、PaymentFailed、PaymentManuallyPaid、PaymentRefundSucceeded、PaymentRefundFailed;subscription_status 取值为 active、inactive、expired、canceled。

环境变量:PRAXIS_MERCHANT_SECRET 用于验证入站签名并签署回执。本地开发可用 npx hookdeck-cli listen 3000 praxis --path /webhooks/praxis 启动隧道。

限制:具体启用的字段与事件值需以 Praxis 官方 Webhook 文档为准;本资料未提供收费、价格等信息。