Skip to content

Checkout

Tip

  • All requests are Post requests, and the data format is json
Brief Description
  • Use this API to create a Malaysia collection transaction.
Request URL
  • /v1/vexora/checkout
Request Method
  • Method: POST
  • Content-Type: application/json
Header Required Type Description
merchantNo Yes String Merchant number assigned by Vexora.
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, supports up to 2 decimal places, unit: Malaysian Ringgit (MYR).
mobile Yes String Payer's real mobile number (format: 10-11 digits starting with 01).
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 (see WayCode appendix for details)
wayCode Yes String Payment channel (see WayCode appendix for details)
bankCode Yes String Collection bank code (see WayCode appendix for details).
notifyUrl Yes String Webhook URL for asynchronous transaction notifications.
returnUrl Yes String URL to redirect the customer after successful authorization
remark No String Merchant remark. This value is returned as submitted when available.
Request Parameter Example
{
  "sign": "363b4674a1c1772e8a50295dc19d6727",
  "timestamp": "1732988442913",
  "tradeNo": "MY202605140001",
  "amount": "100.00",
  "mobile": "01234567890",
  "firstname": "Amir",
  "lastname": "Rahman",
  "email": "amir.rahman@example.com",
  "channelCode": "NET_BANKING",
  "wayCode": "BANK_TRANSFER",
  "bankCode": "0013",
  "notifyUrl": "https://merchant.example.com/vexora/payment-notify",
  "returnUrl": "https://merchant.example.com/payment/result",
  "remark": "Order MY202605140001"
}
Response Result
Parameter Name Required Type Description
msg Yes String API request message. A value such as success only indicates that the API request was processed.
code Yes String API request code. 0000 only indicates that the API request was successful. Use data.status to determine the transaction result.
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.status Yes String Transaction status. Use this value to determine the final business result. For details, refer to the response code section.
data.message Yes String Error description
data.remark Yes String Merchant remark returned as submitted.
Successful Response Example
{
    "msg": "success",
    "code": "0000",
    "timestamp": 1748247675703,
    "success": true,
    "data": {
        "tradeNo": "MY202605140001",
        "platFormTradeNo": "MYPI202605140001",
        "status": "0015",
        "message": "PAYING",
        "remark": "Order MY202605140001"
    }
}