稳定币账户 › Webhook
转账完成
站内转账成交时发送 —— 一步到账,没有待审态。
事件类型
| 事件 | 什么时候发 |
|---|---|
transfer.completed | 会员收到一笔站内转账 |
投递约定
- 我方向你配置的端点发
POST,application/json,超时 10 秒。 - 回任意 2xx 即视为收到。 非 2xx 或超时会按退避重投。
- 请求头四个:
content-type·z-signature·z-event-id·z-event-type。 - 按
z-event-id去重 —— 同一条事件可能到达多次。
事件体只带 ID 与状态
没有金额、没有资产代码、没有卡号的任何片段、没有风控原因。这不是省字节 ——
webhook 端点是你的服务,我方没有办法保证它的传输与存储;
而 GET /v1/<资源>/{id} 那条路径上有 API Key、scope、
代理会员三层校验。要详情就拿 data.id 回查,
别指望从事件体里读出金额来记账。
逐条
transfer.completed
会员收到一笔站内转账什么时候发
转账成交那一刻(一步到账,没有待审态,成交即对方的可用余额)。⚠ 只发给收款方。 data.external_member_id 是收款人的外部号,发起方一条都不发 —— 他是自己按的确认键,流水里已经有了。⚠ 跨商户转账是禁止的,所以收款人一定也是你的会员。⚠ status_version 恒为 0。
事件体
{
"event_id": "evt_d6710b3fa825469c8e14f0d539b7a2c1",
"event_type": "transfer.completed",
"created_at": "2026-08-12T18:30:07Z",
"merchant_id": "acme",
"livemode": true,
"data": {
"object": "internal_transfer",
"id": "0af62d81-59b3-4c07-9e2a-816d3f0b5ca4",
"external_member_id": "u_88999",
"status": "completed",
"status_version": 0
}
}验签
验签方式与所有事件一致,见 Webhook 概览; 可以用签名调试器逐字符比对签名串。