Disbursement¶
Tip
Payout API is used to initiate transfer requests to bank accounts.
- All requests are
Postrequests, and the data format isjson
Request URL¶
/v1/vexora/disbursements
Request Method¶
- Method: POST
- Content-Type: application/json
Header¶
| 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 | Integer | Timestamp๏ผ1715941383720๏ผ |
| tradeNo | yes | String | Transaction number (unique; recommended format: year month day hour minute second + random number; maximum 32 characters) |
| 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. |
| Yes | String | Beneficiary's email address | |
| mobile | Yes | String | Beneficiary's mobile number |
| userId | Yes | String | Unique user identifier on the merchant platform |
| bankAccountHolderName | Yes | String | User's bank account holder name |
| lastDepositDate | Yes | String | User's most recent deposit date (format: YYYY-MM-DD) |
| lastWithdrawalDate | Yes | String | User's most recent withdrawal date. Applicable to withdrawals only (format: YYYY-MM-DD) |
| lastRegisterDate | Yes | String | User's registration date on the merchant platform (format: YYYY-MM-DD) |
| totalDepositAmount | Yes | String | User's total deposit amount in THB. Minimum value: 100,000 |
| notifyUrl | Yes | String | Asynchronous callback URL |
| remark | Yes | 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",
"userId": "user_10001",
"bankAccountHolderName": "Somchai Prasert",
"lastDepositDate": "2026-08-30",
"lastWithdrawalDate": "2026-09-01",
"lastRegisterDate": "2025-01-15",
"totalDepositAmount": "100000",
"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 |