跳转到主要内容

阅读路径

建议按以下顺序接入通知能力:
  1. 本页(通知概览) — 公共信封、重试、验签与 bizType 说明
  2. 各业务通知子页 — 字段表与代码示例(本菜单「支付 / OTC / 提现 / 订阅 / 机构」分组)
  3. Guide:通知 — 事件目录、终态处理与产品到 bizType 映射
  4. 最佳实践 — 支付查单兜底、退款 10s 规则与安全建议

概述

当订单状态发生变化时(如支付成功、超出支付时间、订单取消、关闭或异常等),GatePay 会向商户注册时配置的 callback URL 发送异步 POST 通知。
  • 投递方式:GatePay 以 POST 方式向 callback URL 发送 JSON 格式通知。
  • 重试机制:若因网络或其他原因导致通知失败,GatePay 将在 15 秒(2 次)/ 30 秒 / 3 分钟 / 10 分钟 / 20 分钟 / 30 分钟(3 次)/ 60 分钟 / 3 小时(3 次)/ 6 小时(2 次) 后重试。若重试仍失败,商户可通过相应查询接口获取最新状态。
  • 幂等要求:同一业务事件可能被多次投递,须基于 bizIdmerchantTradeNo 等业务唯一标识做幂等处理。

处理要求

  1. 验签:收到通知后必须先校验签名,再处理业务。请求头包含 X-GatePay-TimestampX-GatePay-NonceX-GatePay-Signature,验签规则见 安全与签名
  2. 解析 data:凡使用标准信封的回调,data 均为 JSON 字符串,须 JSON.parse 后再读字段;提现(WITHDRAWdata 字段,采用 main_order + suborders 专用结构(见 提现通知)。顶层 client_id / clientId 可能缺失或混用,以实际回调为准。
  3. 应答:处理成功后返回 HTTP 200 及 JSON:{"returnCode":"SUCCESS","returnMessage":""}。返回 FAIL 或超时将触发重试。

消息结构

字段说明
bizType业务类型
bizId业务 ID
bizStatus业务状态
client_id / clientId应用 ClientId(字段名以实际为准,可能缺失)
data业务数据 JSON 字符串(WITHDRAW 除外,见提现通知页)

消息结构示例

{
  "bizType": "PAY",
  "bizId": "xxx",
  "bizStatus": "PAY_SUCCESS",
  "client_id": "xxx",
  "data": "{...}"
}

bizType

bizType说明
PAYGate 支付订单状态
PAY_FIAT法币支付订单状态
PAY_ADDRESS / TRANSFER_ADDRESS地址支付状态 / 资金到账
PAY_FIXED_ADDRESS静态地址收款
FIXED_ADDRESS_RISK静态地址风险
PAY_REFUND退款状态
PAY_BATCH批量转账 / 奖励
PAY_GIFT_BATCH礼品卡批量支付
PAY_UNRESOLVED异常支付
INSTITUTION机构子账户创建结果
OTCOTC 入金 / 出金
WITHDRAW提现 / 出金批次
SUBSCRIPTION_ORDER_STATUS订阅订单状态
SUBSCRIPTION_PAYMENT / ACCOUNT_AUTH_DEDUCTION订阅扣款 / 授权扣款

常见终态与建议动作(摘要)

完整事件目录见 Guide:通知
bizTypebizStatus(示例)是否终态建议动作
PAY / PAY_FIATPAY_SUCCESS标记支付成功并履约
PAY / PAY_FIATPAY_ERROR / PAY_CLOSE标记失败或关闭,停止轮询
PAY_REFUNDREFUND_PROCESS标记处理中,等待后续通知或查单
PAY_REFUNDREFUND_SUCCESS / REFUND_REJECTED完成退款或对账 / 人工处理
PAY_ADDRESSPAY_EXPIRED_IN_PROCESS勿过早终态,继续链上确认
TRANSFER_ADDRESSTRANSFERRED_ADDRESS_BLOCK标记异常,勿入账
PAY_FIXED_ADDRESSPAY_BLOCK风险资金,勿入账
WITHDRAWWITHDRAW_SUCCESS / WITHDRAW_PARTIAL / WITHDRAW_FAIL按批次与子单分别对账
INSTITUTIONINSTITUTION_ACCOUNT_FAIL记录失败并人工跟进

bizStatus 枚举值(支付 / 地址类)

说明
PAY_SUCCESS支付成功
PAY_ERROR支付异常
PAY_CLOSE支付关闭
PAY_BLOCK固定地址收款审核 / 风险阻塞
REFUND_SUCCESS退款成功
REFUND_PROCESS退款处理中
REFUND_REJECTED退款拒绝
PAY_EXPIRED_IN_PROCESS有效期内已达金额但存在未确认链上记录
TRANSFERRED_ADDRESS_IN_TERM有效期内地址划转入账
TRANSFERRED_ADDRESS_DELAY延迟地址划转入账
CONVERT_ADDRESS_PAY_DELAY换币地址支付延迟
TRANSFERRED_ADDRESS_BLOCK地址划转阻塞
PAID批量订单已支付
RISK_ADDRESS固定地址风险
订阅、OTC、机构、异常支付等专用 bizStatus 见对应子页。