Skip to content

checkout API

Tip

  • All requests are Post requests, and the data format is json
Brief Description
  • None
Request URL
  • /v1/vexora/checkout
Request Method
  • Method: POST
  • Content-Type: application/json
Header Required Type Description
merchantNo Yes String -
Body
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 String Timestamp (e.g., 1715941383720)
tradeNo Yes String Transaction number (must be unique, recommended format: YYYYMMDDHHMMSS + random digits; max 32 characters)
amount Yes String Transaction amount (integer only)
mobile Yes String Payer's actual mobile number (11-digit number starting with 0, without country code; e.g., 01XXXXXXXXX). Note: The mobile number and payer information in the request must match the actual payer information.
firstname Yes String Payer's actual first name. Note: The mobile number and payer information in the request must match the actual payer information.
lastname Yes String Payer's actual last name. Note: The mobile number and payer information in the request must match the actual payer information.
email Yes String Payer's email address
channelCode Yes String Payment method (currently only e-wallet is supported: EWALLET)
wayCode Yes String Payment channel (see WayCode appendix for details)
ipAddress Yes String Payer's IP address (must be the real IP). Each IP is limited to 10 transactions per day, with a maximum of 3 successful transactions.
dateOfBirth No String Payerโ€™s date of birth. This is only required when the wayCode is VA. The payer must be between 18 and 59 years old. Format: YYYY-MM-DD.
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 Parameter Example
{
  "sign": "363b4674a1c1772e8a50295dc19d6727",
  "timestamp": "1732988442913",
  "tradeNo": "0b4ece82fa9749e8b8e57fa64931b7f8",
  "amount": 1000000,
  "mobile": "01012459077",
  "firstname": "abc",
  "lastname": "efg",
  "email": "123@gmail.com",
  "channelCode": "NET_BANKING",
  "wayCode": "BANK_TRANSFER",
  "ipAddress": "192.168.0.1",
  "dateOfBirth": "1992-08-15",
  "notifyUrl": "http://abc.com/callback_page",
  "returnUrl": "http://abc.com/callback_page",
  "remark": "test"
}
Response Result
Parameter Name Required Type Description
msg Yes String Request result (Returning "success" only indicates the request was successful; it should not be used for merchant-side logic)
code Yes String Request response code (Returning "0000" only indicates the request was successful; it should not be used for merchant-side logic)
timestamp Yes String Transaction time
success Yes String Transaction result
data Yes Object Response object
data.tradeNo Yes String Merchant transaction number returned
data.platFormTradeNo Yes String Unique vexora transaction number
data.payInfo Yes String Payment information, payment link, or QR code information
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 Returned content of the request (returned as is)
Successful Response Example
{
    "msg": "success",
    "code": "0000",
    "timestamp": 1748247675703,
    "success": true,
    "data": {
        "tradeNo": "pSPqrzJJ3MHkdyzS",
        "platFormTradeNo": "7gwtljttc64lu4e2",
        "status": "0015",
        "message": "PAYING",
        "payInfo": "https://sandbox-casher-sk.vexora.com/sk/f024b03c653aa1b3d7c257cf37d9ae92",
        "remark": "test"
    }
}