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
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 transaction number (recommended format: yyyymmddhhmmss + random number)
amount Yes String Transaction amount (integer only, unit: yuan)
mobile Yes String Payer's actual mobile number (10โ€‘digit number starting with 0, without country code, e.g., 09XXXXXXXX). 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: Bank payment โ€“ NET_BANKING; Retail store โ€“ STORE; Eโ€‘wallet โ€“ EWALLET
wayCode Yes String Payment channel (see WayCode appendix for details)
ipAddress Yes String Payer's IP address (must be real). Each IP is limited to 10 transactions per day, with a maximum of 3 successful transactions.
postcode No String Payer's postal code. Required when channelCode is STORE.
address No String Payer's address. Required when channelCode is STORE.
bankNumber No String Payer's account number(s). Incoming funds will be matched against the payment source; if not matched, funds will be refunded. Multiple accounts can be provided, e.g., "bank code 1โ€‘account 1, bank code 2โ€‘account 2; 808โ€‘0358988888888,013โ€‘0458988888888888". Required when channelCode is NET_BANKING.
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
NET_BANKING
{
        "sign": "f53ee692f15d0329a1461373b67ff25a",
        "timestamp": "1724142041682",
        "tradeNo": "00000007",
        "amount": "300",
        "mobile": "0912345678",
        "firstname": "abc",
        "lastname": "efg",
        "email": "123@gmail.com",
        "channelCode": "NET_BANKING",
        "wayCode": "BANK_TRANSFER",
        "ipAddress": "192.168.0.1",
        "bankNumber": "808-0368988888888",
        "notifyUrl": "https://google.com",
        "returnUrl": "http://abc.com/callback_page",
        "remark": "000000"
}
STORE
{
        "sign": "f53ee692f15d0329a1461373b67ff25a",
        "timestamp": "1724142041682",
        "tradeNo": "00000007",
        "amount": "300",
        "channelCode": "STORE",
        "wayCode": "711",
        "ipAddress": "192.168.0.1",
        "mobile": "0912345678",
        "firstname": "abc",
        "lastname": "efg",
        "postcode":"123",
        "address":"123",
        "email": "123@gmail.com",
        "notifyUrl": "https://google.com",
        "returnUrl": "http://abc.com/callback_page",
        "remark": "000000"
}
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 Merchant transaction number
data.platFormTradeNo Yes String Unique 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.desc Yes String Error description
data.remark Yes String Returned content of the request (as is)
data.paymentLink Yes String Cashier URL
Successful Response Example
{
    "msg": "success",
    "code": "0000",
    "timestamp": 1728609277476,
    "success": true,
    "data": {
        "tradeNo": "428c430ce59b47138674c971ff07a711",
        "platFormTradeNo": "c167o1itir0fypid",
        "status": "0015",
        "desc": "Paying",
        "remark": "11111",
        "paymentUrl": "https://ccutest.dj70000.com/?data=0ae849a17a57ad6fa6edfa42c208b042ae54e83ef3997c36271eddd0434c24f54a6e71a8b536da873167746c263f47772849fffc0a9829bc0f5ba99a24719c548f75a78b1205574c15aaca8fd3de67e97963afc5d9fcfa4ef559f59326bd91d0e1bc0fb9600a7bd893c688b301928d7dd69d79d0d4e3489f5711658c3302810b37520b20ecd22816e10a4d3b1cbc1754b0417a0f446462bfa357595a048430e7489fcba303d0ff5f6da6b06eb53c7cf63967b3a36686bffd757db669f7a293dffc97661c17ae21bec4386f321cd6953ee222edd0afcc64f2af4a0b00ad67738345ba446e04950b12a1b560973498eecdf1c2d406340d9941c880482509fccf21dbffb19164a47d2d089bbe75548af19eaaba93b9e70f780ef7ba50c081e453f5"
    }
}