当商户通过 Payout API 向终端用户发起付款时,NUSDpay 通过 Webhook 推送付款状态变更事件。

Payload 示例

{
  "request_id": "7d7aef02-07c8-4ebd-830e-97282766d3b6",
  "wallet_id": "e9167870-e18b-4e82-8b87-92ec7ede8e45",
  "transaction_id": "b02dc125-cf75-4487-a5b4-b350ced7e78c",
  "hash": "",
  "type": "Withdrawal",
  "to": "0xdc2e6b357766aa4b66f41dc29598379ce7d61d46",
  "chain_id": "BASE_ETH",
  "token_id": "BASE_USDT",
  "amount": 1.19,
  "confirmed_num": 0,
  "status": "Processing",
  "create_at": 1761036574369,
  "update_at": 1761036574369
}

字段说明

字段类型说明
request_idstring商户发起付款时的请求 ID(用于幂等判断)
wallet_idstring商户钱包 ID
transaction_idstringNUSDpay 系统生成的交易唯一标识
hashstring链上交易哈希(广播上链后才有值)
typestring交易类型(固定为 Withdrawal
tostring终端用户的收款地址
chain_idstring链标识(如 BASE_ETH
token_idstring代币标识(如 BASE_USDT
amountnumber付款金额
confirmed_numnumber当前区块确认数
statusstring付款状态(见下表)
create_atnumber交易创建时间戳(毫秒)
update_atnumber最近更新时间戳(毫秒)

状态说明

状态说明
Processing处理中(审核或排队)
Confirming已广播上链,等待区块确认
Completed付款成功,终端用户已到账
Failed付款失败(具体原因参阅 交易状态说明
请使用 request_id 做幂等处理。同一笔付款在状态变更时会多次触发 Webhook。

处理建议

statusCompleted 时,付款已成功完成,终端用户已收到资金。
statusFailed 时,冻结的 NUSD 已自动释放回商户余额。商户可重新发起付款。
除 Webhook 外,建议定期调用 交易记录 接口做对账兜底。