# Transfer Notification
When the payment is completed (successful or failed), the payment gateway will initiate a callback notification to the merchant system. If the merchant system does not return correctly, the payment gateway will delay notification again.
# Notification API
Notification
Request URL: This link is set by the parameter notifyUrl submitted through the transfer API. If the link cannot be accessed, the merchant system will not be able to receive notifications from the payment center.
Request method: POST
Request type: application/x-www-form-urlencoded
* Security: For the production environment, the source of the notification is strongly verified, and the production environment traffic export "Production Environment Traffic Export"
# Notification parameters
| Field Name | Variable Name | Required | Type | Example Value | Description |
|---|---|---|---|---|---|
| Transfer Order No | transferId | Yes | String(30) | T20160427210604000490 | Payment order number generated by the payment center |
| Merchant No | mchNo | Yes | String(30) | M1621873433953 | Merchant Number |
| App ID | appId | Yes | String(24) | 60cc09bce4b0f1c0b83761c9 | App ID |
| Merchant Order No | mchOrderNo | Yes | String(30) | 20160427210604000490 | Payment order number generated by the merchant |
| Transfer Amount | amount | Yes | String(long) | 100 | Payment amount, in cents |
| Arrival Amount | arrivalAmount | Yes | String(long) | 100 | Arrival amount, in cents |
| Fee Bearer | feeBear | Yes | String(32) | merchant | Fee bearer merchant-merchant bear beneficiary-payee bear |
| Currency Code | currency | Yes | String(3) | USD | Three-digit currency code |
| Entry Type | entryType | Yes | String(20) | PIX | Payment channel |
| Transfer State | state | Yes | int | 2 | Payment status 0-Order generated 1-Payment in progress 2-Payment successful 3-Payment failed 4-Payment closed |
| Recipient Account No | accountNo | Yes | String(64) | o6BcIwvTvIqf1zZZohc61biryWik | Payee account Id |
| Beneficiary Account Type | accountType | No | String(32) | account | beneficiary account type |
| Payee Name | accountFullName | No | String(64) | Sky Wong | Payee Name |
| Transfer Remark | transferDesc | No | String(128) | Test payment | Payment remark information |
| Channel Error Code | errCode | No | String | 1002 | Channel order return error code |
| Channel Error Message | errMsg | No | String | Business exception error | Channel order return error description |
| Extended Parameters | extraParam | No | String(512) | 134586944573118714 | Merchant extended parameters, which will be returned unchanged during callback |
| Creation Time | createdAt | Yes | long | 1622016572190 | Order creation time, 13-digit timestamp |
| Success Time | successTime | No | long | 1622016572190 | Order payment success time, 13-digit timestamp |
# Return Results
After processing, the business system synchronously returns to the payment center. The return string success means that it has been processed (*success only means that the notification has been received, and has nothing to do with the order status). If an exception occurs in the processing and returns non-success, it means that the processing failed, and the payment center will notify the business system again. (Notification frequency is 0/30/60/90/120/150, unit: seconds)
| State | state | Business System Response |
|---|---|---|
| 2 | Payment successful | success |
| 3 | Payment failed | success |
| 4 | Transfer Closed | success |
Attention
The returned string must be lowercase and cannot have spaces or newlines before or after it.
# Notification Example Data
accountNo=o6BcIwvTvIqf1zZZohc61biryWik&amount=1&appId=6113805e42020495c62bd4cb&createdAt=1628818820011¤cy=USD&entryType=PIX&errCode=ACCOUNT_NOT_ALLOW&errMsg=ACCOUNTNOTALLOW&mchNo=M1623997351&mchOrderNo=1628818820&state=3&transferDesc=%E6%8E%A5%E5%8F%A3%E8%B0%83&transferId=T202108130940200100001&sign=4210976D520A0FC7F4E951549E8F087C