Skip to content

Checkout

Tip

  • All requests are Post requests, and the data format is json
Brief Description

This section introduces the cashier checkout interface for creating a payment link.

Current Availability

Thailand collection supports both cashier checkout and Direct Deposit. At this stage, QR is supported and BANK_TRANSFER is currently not supported.

Payment Methods
ChannelCode wayCode Description
QR QR PromptPay QR code payment
BANK_TRANSFER BANK_TRANSFER Bank transfer (currently not supported)
Request URL
  • /v1/vexora/checkout
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 sign field should be in lowercase.
timestamp Yes Integer Timestamp (e.g. 1715941383720)
tradeNo Yes String Unique transaction number (recommended format: yyyymmddhhmmss + random number; maximum 32 characters)
amount Yes String Transaction amount (supports up to two decimal places, unit: THB)
mobile Yes String Payer's mobile number
name Yes String Payer's full name
email Yes String Payer's email address
channelCode Yes String Payment method(see WayCode appendix for details)
wayCode Yes String Payment channel (see WayCode appendix for details)
bankNumber Yes String Bank account number used for the transaction
bankCode Yes String Bank code. Refer to the "Bank List" section
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)
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
returnUrl Yes String URL to redirect the customer after successful authorization
remark No String Remarks (this field will be returned asโ€‘is)
Request Body Example
{
  "sign": "9d5ed678fe57bcca610140957afab571",
  "timestamp": 1719876543210,
  "tradeNo": "VX20260331002345",
  "amount": "300",
  "mobile": "912345678",
  "name": "Somchai Prasert",
  "email": "somchai.prasert@example.com",
  "channelCode": "QR",
  "wayCode": "QR",
  "bankNumber": "1234567890",
  "bankCode": "004",
  "userId": "user_10001",
  "bankAccountHolderName": "Somchai Prasert",
  "lastDepositDate": "2026-08-30",
  "lastRegisterDate": "2025-01-15",
  "totalDepositAmount": "100000",
  "notifyUrl": "https://api.merchant.com/vexora/payment/notify",
  "returnUrl": "https://merchant.com/payment/result",
  "remark": "order_vx_02345"
}
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 Vexora platform transaction number
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 Merchant remark returned as submitted
data.paymentLink Yes String Cashier URL
data.depositAmount Yes String Deposit amount
Successful Response Example
{
  "msg": "success",
  "code": "0000",
  "timestamp": "1719876543210",
  "success": true,
  "data": {
    "tradeNo": "VX20260331005678",
    "platFormTradeNo": "vx7k2m9d3pl0q8f1a",
    "status": "0015",
    "message": "Processing",
    "remark": "order_vx_05678",
    "paymentLink": "https://checkout.vexora.com/pay?token=vx7k2m9d3pl0q8f1a9bc45de7812fg90",
    "depositAmount": "300.00"
  }
}