Payout API
Tips
Payout API is used to initiate transfer requests to e-wallets or bank accounts.
- All requests are
Postrequests, and the data format isjson
Brief Description
(This section is intentionally left blank for brevity.)
Request URL
/v1/paypro/payOut
Request Method
- POST
Header
| Header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | string | N/A |
Request Body Parameters
| Parameter | Required | Type | Description |
|---|---|---|---|
| sign | Yes | string | Compose the remaining fields (excluding sign) in alphabetical order as key1=value1key2=value2, use the app secret as the salt for MD5 encryption, and the final sign should be in lowercase letters. Use the new field name name (not customerName) when generating the signature. |
| timestamp | Yes | integer | Timestamp (e.g., 1715941383720) |
| tradeNo | Yes | string | Uniqueness (recommended format: YYYYMMDDHHMMSS+random number) |
| amount | Yes | string | Payment amount (ecimals are not recommended) |
| bankCode | yes | string | Bank code (use the latest Vexora Bank List; legacy bank codes are no longer valid) |
| bankAccountNo | yes | string | Bank Account Number |
| name | yes | string | User Name |
| mobile | yes | string | Userโs mobile phone number |
| yes | string | email account | |
| notifyUrl | Yes | string | Asynchronous callback URL |
| remark | Yes | string | Remarks, this field will be returned in the callback |
Request Parameter Example
{
"sign": "29604bf1662fd6acddfbd33eaee0179f",
"timestamp": 1748248240605,
"tradeNo": "rgB36f2n9AElhTeY",
"amount": "500",
"bankCode": "000001",
"bankAccountNo": "123456789",
"mobile": "15875595997",
"email": "kevin@gmail.com",
"name": "kevin",
"notifyUrl": "http://www.google.com",
"remark": "remark"
}
Response Result
| Parameter | Required | Type | Description |
|---|---|---|---|
| msg | Yes | string | Request result (when "success" is returned, it only indicates the success of this request and cannot be used for merchant-side logical judgment) |
| code | Yes | string | Request response code (when "0000" is returned, it only indicates the success of this request and cannot be used for merchant-side logical judgment). For specific error codes, please refer to the business error code enumeration. |
| timestamp | Yes | string | Transaction timestamp |
| success | Yes | string | Transaction result |
| data | Yes | Object | Returned object |
| data.platFormTradeNo | Yes | string | Unique platform order number |
| data.status | Yes | string | Transaction results. Merchants can process subsequent workflows based on the returned status in the transaction result. For details, please refer to the status code reference table. |
| data.message | Yes | string | Error description |
| data.remark | Yes | string | Remarks |
Success Response Example
{
"msg": "success",
"code": "0000",
"timestamp": 1748248243683,
"success": true,
"data": {
"tradeNo": "rgB36f2n9AElhTeY",
"platFormTradeNo": "64qpx8yljs8beccd",
"status": "0015",
"message": "PAYING",
"remark": "remark"
}
}
