Disbursement
Tip
Payout API is used to initiate transfer requests to e-wallets or 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 assigned by Vexora. This value must be submitted in the request header. |
Request Body Parameters
| Parameter name |
Required |
Type |
Description |
| sign |
Yes |
String |
Request signature. Sort all non-empty request body parameters except sign by parameter name in ascending alphabetical order, concatenate them as key1=value1key2=value2, append the app secret, and generate a lowercase MD5 hash. |
| timestamp |
Yes |
String |
Request timestamp in milliseconds, for example 1715941383720. |
| tradeNo |
Yes |
String |
Merchant disbursement order number. This value must be unique for each request. Recommended format: yyyyMMddHHmmss plus random digits. |
| amount |
Yes |
String |
Transaction amount: For KHR, only whole numbers are supported (unit: KHR). For USD, up to two decimal places are supported (unit: USD). |
| firstname |
Yes |
String |
Beneficiary's legal first name. The submitted beneficiary information must match the actual account holder information. |
| lastname |
Yes |
String |
Beneficiary's legal last name. The submitted beneficiary information must match the actual account holder information. |
| mobile |
Yes |
String |
Beneficiary's actual mobile phone number. For Cambodia mobile numbers, the format should be 8 to 9 digits, excluding the country code. |
| email |
Yes |
String |
Beneficiary's email address. |
| channelCode |
Yes |
String |
Disbursement channel code. Use EWALLET for Lanton wallet disbursements. This value follows the Cambodia WayCode appendix. |
| wayCode |
Yes |
String |
Disbursement method code. Use LANTON for Lanton wallet disbursements. This value follows the Cambodia WayCode appendix. |
| bankCode |
Yes |
String |
Beneficiary bank code. Refer to the Disbursement Bank Codes appendix. |
| bankNumber |
Yes |
String |
Beneficiary bank account number. |
| accountId |
No |
String |
Required when channelCode is EWALLET and wayCode is LANTON. The value should be the user's Lanton app account ID. |
| notifyUrl |
Yes |
String |
HTTPS URL used to receive asynchronous disbursement status notifications. |
| remark |
No |
String |
Merchant remark. This value is returned unchanged in API responses and webhook notifications when available. |
Request Parameter Example
{
"amount": "50000",
"bankCode": "0004",
"bankNumber": "88990011",
"accountId": "lanton_88990011",
"mobile": "123456789",
"email": "sophea.chan@example.com",
"firstname": "Sophea",
"lastname": "Chan",
"channelCode": "EWALLET",
"wayCode": "LANTON",
"tradeNo": "KHPO202605160001",
"notifyUrl": "https://merchant.example.com/webhooks/vexora/disbursement",
"remark": "payout_KHPO202605160001",
"sign": "5c6bbefb7f5c8e33c8a9a2f5c1e6bb1f",
"timestamp": "1778919000000"
}
Response Results
| Parameter name |
Required |
Type |
Description |
| msg |
Yes |
String |
Request message. A value such as success only indicates that the API request was accepted, not the final disbursement result. |
| code |
Yes |
String |
API request status code. 0000 means the request was processed successfully by the API layer. The final transaction result must be determined by data.status. |
| timestamp |
Yes |
String |
Response timestamp in milliseconds. |
| success |
Yes |
Boolean |
API request result. This field indicates whether the API request succeeded, not whether the disbursement has completed successfully. |
| data |
Yes |
Object |
Disbursement response object. |
| data.tradeNo |
Yes |
String |
Merchant disbursement order number submitted in the request. |
| data.platFormTradeNo |
Yes |
String |
Vexora platform transaction number. This value is unique in the Vexora system. |
| data.status |
Yes |
String |
Disbursement status. Use this field for transaction state handling. 0000 means successful, 0015 means processing, and other status values should be handled according to the response code table. |
| data.message |
Yes |
String |
Status description or error message returned by the platform. |
| data.remark |
No |
String |
Merchant remark returned unchanged when provided in the request. |
Accepted Response Example
{
"msg": "success",
"code": "0000",
"timestamp": 1778919000123,
"success": true,
"data": {
"tradeNo": "KHPO202605160001",
"platFormTradeNo": "VXKHPO9C2F72QW6M4A8N1",
"status": "0015",
"message": "Processing",
"remark": "payout_KHPO202605160001"
}
}