Webhook 用于实时通知商户系统交易状态变更(如充值入账、付款完成等)。当事件发生时,NUSDpay 向商户配置的 Endpoint URL 发送 HTTP POST 请求。

工作机制

收到 Webhook 后,请先验证 wallet_id 是否为您的项目,非本项目的事件应忽略。

配置 Webhook

1

准备 Endpoint URL

在您的服务器上部署一个 HTTP 接口,用于接收 Webhook 事件。
2

提供 URL 给我们

将 Endpoint URL 提供给技术支持进行配置。
3

实现处理逻辑

在接口中实现:解析请求 → 验证签名 → 处理业务逻辑 → 响应 200/201。

验证签名

为防止未经授权的访问,收到 Webhook 事件时需验证签名。

步骤

  1. 从请求头中获取时间戳和签名:
  1. 拼接消息:请求体原始字符串 + "|" + 时间戳
  2. 对消息进行双重 SHA256 哈希
  3. 使用 Ed25519 公钥验证签名

完整验签代码

PUB_KEY 请联系技术支持获取。

Webhook 事件

事件类型

NUSDpay 不保证事件按生成顺序到达。您的 Endpoint 应基于事件内容而非到达顺序处理业务逻辑。

重试机制

  • 超时(2 秒内未响应)或非 200/201 响应:系统自动重试
  • 最多重试 10 次
  • 超过重试上限后,事件状态变为「发送失败」
建议使用 request_id 做幂等处理,防止重试导致重复消费。同时建议定期调用查询接口做对账兜底。

完整实现示例

下一步

充值回调

查看充值事件的 Payload 字段说明。

链上付款回调

查看提现事件的 Payload 字段说明。