Skip to content

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
  • /v1/vexora/disbursements
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"
    }
}