Skip to content

Direct Deposit

Tip

  • All requests use POST
  • Content type is application/json
Brief Description

Use this API to create a Thailand deposit order and obtain the payment instructions required for the payer to complete the transfer.

Payment Methods
ChannelCode wayCode Description
QR QR PromptPay QR code payment
BANK_TRANSFER BANK_TRANSFER Bank transfer (currently not supported)
Request URL
  • /v1/vexora/deposits
Request Method
  • Method: POST
  • Content-Type: application/json
Headers
Header Required Type Description
merchantNo Yes String Merchant number
Body
Parameter 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 final sign must be lowercase.
timestamp Yes String Timestamp (for example 1715941383720)
tradeNo Yes String Unique transaction number (recommended format: yyyymmddhhmmss + random number)
amount Yes String Transaction amount (supports up to two decimal places, unit: THB)
name Yes String Payer's full name
mobile Yes String Payer's mobile number. Must be a 9-digit number starting with 9.
email Yes String Payer's email address
channelCode Yes String Payment method. Currently supported: QR
wayCode Yes String Payment route code. Currently supported: QR
bankNumber No String Bank account number used for the transaction
bankCode No String Bank code. Refer to the "Bank List" section
notifyUrl Yes String Asynchronous callback URL
remark No String Remarks (this field will be returned as-is)
Request Body Example
{
  "sign": "a8f5f167f44f4964e6c998dee827110c",
  "timestamp": "1719876543210",
  "tradeNo": "VX20260331000125",
  "amount": "300.00",
  "name": "Somchai Prasert",
  "mobile": "912345678",
  "email": "somchai.prasert@example.com",
  "channelCode": "QR",
  "wayCode": "QR",
  "notifyUrl": "https://merchant-api.com/vexora/payment/notify",
  "remark": "order_vx_000125"
}
Response
Parameter Required Type Description
msg Yes String Request result (success only indicates successful request, not for merchant logic judgment)
code Yes String Request response code (0000 indicates successful request, not for merchant logic judgment). For specific error codes, refer to the business error code enumeration
timestamp Yes String Transaction time
success Yes Boolean Transaction result
data Yes Object Response object
data.tradeNo Yes String Merchant transaction number
data.platFormTradeNo Yes String Unique platform transaction number
data.status Yes String Transaction result status. Merchants should continue follow-up processing based on this value.
data.message Yes String Error description
data.remark Yes String Returned content of the request (as is)
data.qrType No String QR code type. 1: raw QR string, 2: QR image in Base64
data.paymentInfo Yes String Payment information. Returns QR payment details when channelCode is QR
data.bank No String Bank information. Returned when channelCode is BANK_TRANSFER
data.accountNumber No String Receiving bank account number. Returned when channelCode is BANK_TRANSFER
Successful Response Example
{
  "msg": "success",
  "code": "0000",
  "timestamp": 1728609277476,
  "success": true,
  "data": {
    "tradeNo": "VX20260331000125",
    "platFormTradeNo": "th7o1itir0fypid9",
    "status": "0015",
    "message": "Paying",
    "remark": "order_vx_000125",
    "qrType": "1",
    "paymentInfo": "00020101021230680016A000000677010112011501055555555555802TH53037645406300.005802TH5915SOMCHAI PRASERT6007BANGKOK62100506VX01256304ABCD"
  }
}