Skip to content

Checkout

Tip

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

This section introduces the API endpoint for creating a payment link.

Request URL
  • /v1/vexora/checkout
Request Method
  • Method: POST
  • Content-Type: application/json
Headers
Header Required Type Description
merchantNo Yes String Merchant Number๏ผˆMID๏ผ‰
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 String Timestamp (e.g. 1715941383720)
tradeNo Yes String Unique disbursement ID for a specific request, generated by partner.
amount Yes float The amount your user must paid to complete the transaction, the minimum amount for Rp10.000
username Yes String Customer name linked to the transaction.
mobile Yes String User's mobile phone number (starting with 08 or 628, a total of 10-13 digits of Indonesian mobile phone number)
email Yes String Email of user, using email standard format.
channelCode No String Payment channel code for limiting the displayed payment channels at the cashier. If not specified, all channels will be displayed. Options: QRIS, EWALLET, VA
wayCode No String Payment method code. Refer to the Deposit WayCode. Note: If using wayCode, channelCode is required; otherwise, wayCode is invalid.
notifyUrl Yes String The URL used by the system to send an automatic response or N otification after a transaction or process is completed.
returnUrl No String URL to redirect the customer to after successful authorization
remark No String Remarks (will be returned as is)
Request Body Example
{
  "sign": "363b4674a1c1772e8a50295dc19d6727",
  "timestamp": "1732988442913",
  "tradeNo": "0b4ece82fa9749e8b8e57fa64931b7f8",
  "username": "jack",
  "amount": 1000000,
  "channelCode": "EWALLET",
  "wayCode": "DANA",
  "email": "user@gmail.com",
  "mobile": "6281245907765",
  "notifyUrl": "https://google.com",
  "returnUrl": "http://abc.com/callback_page",
  "remark": "test"
}
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 String Transaction result
data Yes Object Response object
data.tradeNo Yes String Unique disbursement ID which partner put on the request.
data.platFormTradeNo Yes String Unique disbursement ID from vexora, partners can use this ID for reconciliation.
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.desc Yes String Error description
data.remark Yes String Returned content of the request (as is)
data.paymentUrl Yes String paymentUrl
data.qrString No String QR code information
Successful Response Example
{
    "msg": "success",
    "code": "0000",
    "timestamp": 1728609277476,
    "success": true,
    "data": {
        "tradeNo": "428c430ce59b47138674c971ff07a711",
        "platFormTradeNo": "c167o1itir0fypid",
        "status": "0015",
        "desc": "Paying",
        "remark": "11111",
        "paymentUrl": "http://vexora.tech/cashier/dsfjlsdkjflksdfjlkfs",
        "qrString": "00020101021226670021ID/.HTTPS://CFSUKSESS011893600922376110100202097611010020303UMI51440014ID.CO.QRIS.WWW0215ID20243249690030303UMI520465335802ID5902CF6015 JAKARTA SELATA610512760540550000530336062360525db913be449be4568b21c4b19e0703A0163041909"
    }
}