什么是 Webhook 回调?

Webhook 回调是一种事件驱动的通信机制,当特定事件发生时,WaaS 平台会主动向商户系统发送通知,用于异步告知操作结果或状态变化。这种机制让商户能够实时获知区块链操作的结果,无需主动轮询查询。

核心特点

双向认证机制

通过 API-Key 机制确保回调来源可信

端到端加密

通知内容使用 RSA 加密 + Base64 编码

实时推送

事件完成后立即触发通知,无延迟

多场景覆盖

支持存币、提币、地址更换等关键场景

回调处理流程

  1. 事件发生:用户在 WaaS 平台发起存币、提币等操作
  2. WaaS处理:平台处理交易并确认区块链状态
  3. 通知构建:WaaS 生成通知数据并进行安全处理:
    • 使用商户私钥进行 RSA 加密
    • 将加密结果转换为 Base64 格式
  4. 回调发送:WaaS 向商户注册的回调 URL 发送 HTTP POST 请求
  5. 商户处理
    • Base64 解码接收到的数据
    • 使用商户公钥进行 RSA 解密
    • 解析 JSON 格式的业务数据
    • 根据业务类型进行相应处理
  6. 响应返回:商户处理完成后,返回加密的响应数据

示例场景

1. 存币通知流程

1. 用户存币
2. 区块链确认
3. WaaS检测
4. 商户处理

关键步骤:

  1. 用户向商户地址存入加密货币
  2. 交易在区块链网络完成确认(通常需要多个区块确认)
  3. WaaS 系统检测到成功交易
  4. WaaS 调用商户回调 URL,发送 NOTIFY_DEPOSITED 类型通知
  5. 商户验证交易并更新用户账户余额

2. 提币通知流程(无二次确认)

1. 商户发起
2. WaaS处理
3. 区块链广播
4. 交易确认
5. 商户处理

关键步骤:

  1. 商户系统通过 API 发起提币请求
  2. WaaS 处理提币请求并进行安全审查
  3. WaaS 向区块链网络广播提币交易
  4. 交易被区块链网络确认
  5. WaaS 发送 NOTIFY_WITHDRAW 通知提币成功
  6. 商户接收通知并更新订单状态

3. 提币流程(带二次确认)

1. 商户系统发起提币申请
2. WaaS接收后主动回调商户
3. 商户响应提币具体详情信息
4. 执行提币上链
5. 结果通知商户

关键步骤:

  1. 商户系统通过 API 发起提币请求,携带callbackId
  2. 接收到请求后,WaaS会主动回调商户提供的回调URL(NOTIFY_REQUEST_WITHDRAW)
  3. 接收到请求后,WaaS返回一个成功的响应,然后WaaS主动调用商户提供的回调URL(枚举类型为NOTIFY_REQUEST_WITHDRAW,携带callbackId作为参数)
  4. 商户的回调接口被请求后,根据callbackId向WaaS响应返回提币的具体信息,包括:提币金额、目标地址、币种、链类型…
  5. WaaS在收到响应后,将执行提币上链。
  6. 上链成功后,WaaS会再次回调商户(NOTIFY_WITHDRAW),通知其提币结果。