Disbursement
Tip
Payout API is used to initiate transfer requests to bank accounts.
- All requests are
Post requests, and the data format is json
Request URL
Request Method
- Method: POST
- Content-Type: application/json
| header |
Required |
Type |
Description |
| merchantNo |
yes |
String |
Merchant number |
Request Body Parameters
| Parameter name |
Required |
Type |
Description |
| sign |
yes |
String |
The sign field is generated by sorting all fields except sign in alphabetical order and concatenating them as key1=value1key2=value2. Use app secret as salt for MD5 encryption. The sign field should be in lowercase. |
| timestamp |
yes |
String |
Timestamp๏ผ1715941383720๏ผ |
| tradeNo |
yes |
String |
Transaction number (unique (recommended year month day hour minute second + random number)) |
| amount |
Yes |
String |
Transaction amount (supports up to two decimal places, unit: THB) |
| bankCode |
Yes |
String |
Bank code. Refer to the Disbursement Bank Codes appendix. |
| bankNumber |
Yes |
String |
Beneficiary bank account number. |
| name |
Yes |
String |
Beneficiary's full name. |
| email |
Yes |
String |
Beneficiary's email address |
| mobile |
Yes |
String |
Beneficiary's mobile number. Must be a 9-digit number starting with 9. |
| notifyUrl |
Yes |
String |
Asynchronous callback URL |
| remark |
No |
String |
Remarks (this field will be returned asโis) |
Request Parameter Example
{
"amount": "100",
"bankCode": "002",
"bankNumber": "12345678901234",
"name": "Somchai Prasert",
"email": "somchai.prasert@example.com",
"mobile": "912345678",
"tradeNo": "VX20260331008901",
"notifyUrl": "https://api.merchant.com/vexora/disbursement/notify",
"sign": "7c6a180b36896a0a8c02787eeafb0e4c",
"timestamp": "1719876543210"
}
Response Results
| Parameter name |
Required |
Type |
Description |
| msg |
yes |
String |
Request result (when success is returned, it only means that the request for this time is successful and cannot be used for merchant-side logical judgment) |
| code |
yes |
String |
Request response code (when 0000 is returned, it only means that the request for this time is successful, and cannot be used for merchant-side logical judgment). For specific status/error codes, please check the status/error code directory |
| timestamp |
yes |
String |
Transaction timestamp |
| success |
yes |
Boolean |
Transaction result |
| data |
yes |
Object |
Return Object |
| data.tradeNo |
yes |
String |
Merchant transaction number |
| data.platFormTradeNo |
yes |
String |
vexora transaction number, unique |
| 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 |
remark |
Successful Returned Example
{
"msg": "success",
"code": "0000",
"timestamp": 1719876543210,
"success": true,
"data": {
"tradeNo": "VX20260331011223",
"platFormTradeNo": "vx4m8k2d9pl0q7f1a",
"status": "0015",
"message": "Processing",
"remark": "payout_vx_11223"
}
}