支付
地址支付状态通知
地址支付场景下,GatePay 通过 PAY_ADDRESS(订单状态变更)与 TRANSFER_ADDRESS(订单资金流转)两类通知向商户 callback URL 投递消息。
商户须校验签名,处理成功后返回 {"returnCode":"SUCCESS","returnMessage":""}。通知失败时按 通知概览 中的间隔重试。
WEBHOOK
Documentation Index
Fetch the complete documentation index at: https://docs.gate.com/llms.txt
Use this file to discover all available pages before exploring further.
概述
本页说明webhook addressPaymentNotify。完整的参数、响应结构与示例由上方关联的 OpenAPI 或 webhook 定义渲染。
地址支付订单状态或资金流转变更时,GatePay 向商户配置的 callback URL 发送异步通知(bizType 为 PAY_ADDRESS 或 TRANSFER_ADDRESS)。
说明
触发情形
- 订单由创建状态转为支付完成状态
- 订单由创建状态转为过期状态
- 用户在有效期内支付足够金额,但截止订单过期时间链上未确认完毕,进入
PROCESS状态 - 订单结束(过期或完成)前,每次检测到成功的支付记录后向商户支付账户转入对应金额;有效期内累计某笔付款总金额达到订单金额后将订单状态改为完成
- 订单结束后,订单地址检测到新的到账,确认完毕后转入商户支付账户
- 订单结束后,闪兑订单地址检测到新的到账
消息结构
| 字段名 | 类型 | 说明 |
|---|---|---|
bizType | string | 通知类别,见下表 |
bizId | string | 订单 ID |
bizStatus | string | 业务状态,见下表 |
client_id | string | 创建订单的商户 client_id(TRANSFER_ADDRESS 等场景常见) |
data | string | 业务数据 JSON 字符串;结构因 bizType 不同而不同 |
bizType 枚举值
| 值 | 说明 |
|---|---|
PAY_ADDRESS | 订单状态变更通知 |
TRANSFER_ADDRESS | 订单资金流转通知 |
bizStatus 枚举值(bizType=PAY_ADDRESS)
| 值 | 说明 |
|---|---|
PAY_SUCCESS | 订单支付成功 |
PAY_ERROR | 订单支付遇到错误 |
PAY_CLOSE | 订单过期,订单关闭 |
PAY_EXPIRED_IN_PROCESS | 用户在有效期内支付金额 ≥ 订单金额,但链上仍有尚未确认的支付单,订单进入 PROCESS 中间状态 |
PAY_EXPIRED_IN_EXCHANGE_FLUCTUATION 等状态(以实际回调为准)。
bizStatus 枚举值(bizType=TRANSFER_ADDRESS)
| 值 | 说明 |
|---|---|
TRANSFERRED_ADDRESS_IN_TERM | 非闪兑:检测到成功支付后,将对应金额充值到商户支付账户(有效期内到账) |
TRANSFERRED_ADDRESS_DELAY | 非闪兑:延迟支付记录对应金额充值到商户支付账户(超过有效期到账) |
CONVERT_ADDRESS_PAY_DELAY | 闪兑:延迟到账,通知商户但不充值到商户支付账户 |
TRANSFERRED_ADDRESS_BLOCK | 资金 Gate 已成功接收,但有风险,不会入账 |
data 字段说明(bizType=PAY_ADDRESS,非闪兑)
| 字段名 | 类型 | 说明 |
|---|---|---|
merchantTradeNo | string | 商户交易号 |
productType | string | 创建订单时的 goodsType |
productName | string | 创建订单时的 goodsName |
tradeType | string | 创建订单时的 terminalType |
goodsName | string | 商品名称 |
terminalType | string | 终端类型 |
currency | string | 订单币种 |
orderAmount | string | 订单金额 |
underpaidAmount | string | 支付完成后未支付金额 |
payerId | int64 | 支付用户 UID |
createTime | int64 | 订单创建时间(毫秒) |
transactionId | string | 交易流水号 |
waitAmountOnChain | string | 链上有效期内确认中金额 |
doneAmountOnChain | string | 链上有效期内确认完毕金额 |
channelId | string | 客户名称 |
chain | string | 网络 |
address | string | 收款地址 |
fromAddress | string | 付款方地址 |
clientId | string | data 内嵌的商户 client_id(与顶层 client_id 可能同时出现) |
originalOrderId | string | 关联原订单 ID(闪兑等场景,无则空字符串) |
data 字段说明(bizType=PAY_ADDRESS,闪兑)
除上表部分字段外,还可能包含:
| 字段名 | 类型 | 说明 |
|---|---|---|
totalFee | string | 订单金额 |
payCurrency | string | 支付币种 |
payAmount | string | 要求支付金额 |
rate | string | 汇率 |
transferAmount | string | 给商户转账金额;状态变更通知中常为空字符串 |
overPay | string | 用户超额支付部分;仅支付成功时有值,其它为 0 |
data 字段说明(bizType=TRANSFER_ADDRESS)
| 字段名 | 类型 | 说明 |
|---|---|---|
merchantTradeNo | string | 商户交易号 |
productType | string | 创建订单时的 goodsType |
productName | string | 创建订单时的 goodsName |
tradeType | string | 创建订单时的 terminalType |
goodsName | string | 商品名称 |
terminalType | string | 终端类型 |
currency | string | 订单币种 |
orderAmount | string | 订单金额 |
payerId | int64 | 支付用户 UID |
createTime | int64 | 订单创建时间(毫秒) |
transactionId | string | 交易流水号 |
transferAmount | string | 给商户转账金额(到账金额) |
channelId | string | 客户名称 |
chain | string | 网络 |
address | string | 收款地址 |
txHash / tx_hash | string | 链上交易 Hash(建议兼容解析) |
回调示例
订单状态变更(bizType=PAY_ADDRESS,支付成功)
订单状态变更(bizType=PAY_ADDRESS,闪兑)
资金流转(bizType=TRANSFER_ADDRESS)
请求体
application/json
通知类别:PAY_ADDRESS 订单状态变更;TRANSFER_ADDRESS 订单资金流转。
可用选项:
PAY_ADDRESS, TRANSFER_ADDRESS 订单 ID。
业务状态,因 bizType 而异。PAY_ADDRESS 常见:PAY_SUCCESS、PAY_ERROR、PAY_CLOSE、PAY_EXPIRED_IN_PROCESS 等;TRANSFER_ADDRESS 常见:TRANSFERRED_ADDRESS_IN_TERM、TRANSFERRED_ADDRESS_DELAY、CONVERT_ADDRESS_PAY_DELAY、TRANSFERRED_ADDRESS_BLOCK。
业务数据 JSON 字符串,解析后结构见 addressPaymentData。
创建订单的商户 client_id。
data 解析后的对象;非闪兑/闪兑、PAY_ADDRESS/TRANSFER_ADDRESS 下字段可能不同。

