> ## Documentation Index
> Fetch the complete documentation index at: https://docs.epay123.net/llms.txt
> Use this file to discover all available pages before exploring further.

# 回调通知

## 1.支付通知

当订单支付成功时，支付网关会向商户系统发起回调通知。如果商户系统没有正确返回，支付网关会延迟再次通知。

> 接口说明

请求URL：该链接是通过统一下单接口提交的参数notifyUrl设置，如果无法访问链接，商户系统将无法接收到支付中心的通知。

请求方式：`POST`

请求类型：`application/x-www-form-urlencoded`

> 通知参数

| 字段名    | 变量名            | 必填 | 类型          | 示例值            | 描述                                                   |
| ------ | -------------- | -- | ----------- | -------------- | ---------------------------------------------------- |
| 通知类型   | notifyType     | 是  | int         | 1              | 通知类型:1支付,4结算,5订单交易                                   |
| 支付订单号  | payOrderId     | 是  | String(30)  | P12021022311   | 返回支付系统订单号                                            |
| 商户号    | mchNo          | 是  | String(30)  | M16218734339   | 商户号                                                  |
| 应用ID   | appId          | 是  | String(24)  | 60cc09bce4b0f1 | 应用ID                                                 |
| 商户订单号  | mchOrderNo     | 是  | String(30)  | 2016042721060  | 返回商户传入的订单号                                           |
| 支付接口   | ifCode         | 是  | String(30)  | cbcoinpay      | 支付接口编码                                               |
| 支付方式   | wayCode        | 是  | String(30)  | CB\_COIN\_ADDR | 支付方式,CB\_COIN\_ADDR                                  |
| 支付金额   | amount         | 是  | int         | 100            | 支付金额,单位分                                             |
| 货币代码   | currency       | 是  | String(3)   | USD            | 三位货币代码,美元:USD                                        |
| 订单状态   | state          | 是  | int         | 2              | 支付订单状态 0-订单生成 1-支付中 2-支付成功 3-支付失败 4-已撤销 5-已退款 6-订单关闭 |
| 客户端IP  | clientIp       | 否  | String(32)  | 210.73.10.148  | 客户端IPV4地址                                            |
| 商品标题   | subject        | 是  | String(64)  | yipay商品标题测试    | 商品标题                                                 |
| 商品描述   | body           | 是  | String(256) | yipay商品描述测试    | 商品描述                                                 |
| 渠道订单号  | channelOrderNo | 否  | String      | 2016042721060  | 对应渠道的订单号                                             |
| 渠道错误码  | errCode        | 否  | String      | 1002           | 渠道下单返回错误码                                            |
| 渠道错误描述 | errMsg         | 否  | String      | 1345869445731  | 渠道下单返回错误描述                                           |
| 扩展参数   | extParam       | 否  | String(512) | 1345869445731  | 商户扩展参数                                               |
| 创建时间   | createdAt      | 是  | long        | 1622016572190  | 订单创建时间,13位时间戳                                        |
| 成功时间   | successTime    | 否  | long        | 1622016572190  | 订单支付成功时间,13位时间戳                                      |
| 通知请求时间 | reqTime        | 是  | String(30)  | 1622016572190  | 通知请求时间，,13位时间戳                                       |
| 签名     | sign           | 是  | String(32)  | C38...         | 签名值，详见签名算法                                           |

> 返回结果

业务系统处理后同步返回给支付中心，返回字符串 success 则表示成功，返回非success则表示处理失败，支付中心会再次通知业务系统。（通知频率为0/30/60/90/120/150,单位：秒）

`注意：返回的字符串必须是小写，且前后不能有空格和换行符。`

`通知示例数据`

```json theme={null}
{
    "notifyType": 1,
    "amount": 5,
    "body": "商品描述",
    "clientIp": "192.166.1.132",
    "createdAt": "1622016572190",
    "currency": "USD",
    "extParam": "",
    "ifCode": "cbcoinpay",
    "mchNo": "M1621873433953",
    "appId": "60cc09bce4b0f1c0b83761c9",
    "mchOrderNo": "mho1621934803068",
    "payOrderId": "20210525172643357010",
    "state": 3,
    "subject": "商品标题",
    "wayCode": "CB_COIN_ADDR",
    "sign": "C38..."
}
```

<Frame>
  ***

  ***

  \==========================================================
</Frame>

## 2.结算通知

当结算状态发生变化（如结算成功或失败）时，平台会主动通过Webhook方式通知商户。

> 接口说明

请求URL：该链接是通过结算发起接口提交的参数notifyUrl设置，如果无法访问链接，商户系统将无法接收到支付中心的结算通知。

请求方式：`POST`

请求类型：`application/x-www-form-urlencoded`

> 通知参数

| **字段名** | **变量名**      | **类型** | **示例值**       | **描述**             |
| :------ | :----------- | :----- | :------------ | :----------------- |
| 通知类型    | notifyType   | int    | 4             | 通知类型:1支付,4结算,5订单交易 |
| 结算请求ID  | requestId    | String | S202508...    | 商户结算请求ID           |
| 状态      | status       | int    | 1             | 结算状态：1-成功, 2-失败    |
| 失败原因    | errorMsg     | String | 余额不足          | 结算失败时的原因说明         |
| 完成时间    | completeTime | long   | 1622016572190 | 结算完成时间, 13位时间戳     |
| 签名      | sign         | String | C38...        | 签名值                |

> 返回结果

业务系统处理后同步返回给支付中心，返回字符串 success 则表示成功，返回非success则表示处理失败，支付中心会再次通知业务系统。（通知频率为0/30/60/90/120/150,单位：秒）

`注意：返回的字符串必须是小写，且前后不能有空格和换行符。`

`通知示例数据`

```json theme={null}
{
    "notifyType": 4,
    "requestId": "1234567890",
    "status": 1,
    "errorMsg": "余额不足",
    "completeTime": "1622016572190",
    "sign": "C38..."
}
```

<Frame>
  ***

  ***

  \==========================================================
</Frame>

## 3.订单交易通知

当订单产生交易流水（如客户部分充值、充值合规检测等）时，平台会主动通过Webhook方式通知商户。

> 接口说明

请求URL：该链接是通过创建支付订单接口提交的参数notifyUrl设置，如果无法访问链接，商户系统将无法接收到支付中心的该订单交易通知。

请求方式：`POST`

请求类型：`application/x-www-form-urlencoded`

> 通知参数

| **字段名** | **变量名**    | **类型**  | **示例值**    | **描述**                                                              |
| :------ | :--------- | :------ | :--------- | :------------------------------------------------------------------ |
| 通知类型    | notifyType | int     | 5          | 通知类型:1支付,4结算,5订单交易                                                  |
| 订单交易ID  | txId       | String  | 1234-5678  | 订单交易ID                                                              |
| 支付订单号   | payOrderId | String  | P202508... | 支付订单号                                                               |
| 金额      | amount     | decimal | 1000.24    | 支付金额,含小数点                                                           |
| 币种      | tokenId    | String  | ETH\_USDT  | 币种ID                                                                |
| 交易状态    | status     | String  | Completed  | 状态：Confirming-确认中, PendingScreening-合规扫描中,Completed-成功（以该状态为成功入账标准） |
| 签名      | sign       | String  | C38...     | 签名值                                                                 |

> 返回结果

业务系统处理后同步返回给支付中心，返回字符串 success 则表示成功，返回非success则表示处理失败，支付中心会再次通知业务系统。（通知频率为0/30/60/90/120/150,单位：秒）

`注意：返回的字符串必须是小写，且前后不能有空格和换行符。`

`通知示例数据`

```json theme={null}
{
    "notifyType": 5,
    "txId": "1234567890",
    "payOrderId": "P1234567890",
    "amount": "1000.85",
    "tokenId": "TRON_USDT",
    "status": "Completed",
    "sign": "C38..."
}
```
