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.
ID Type Description
| idType |
Description |
| DNI |
DNI (National Identity Document), numeric only, 7 or 8 digits |
| CUIL |
CUIL (Labor Identification Code), 11 digits, fixed format XX-XXXXXXXX-X |
| CUIT |
CUIT (Tax Identification Code), 11 digits, fixed format XX-XXXXXXXX-X |
| PA |
Passport, up to 15 digits |
WayCode
| ChannelCode |
WayCode |
| BANK_TRANSFER |
CVU |
| QR |
QR |
Request URL
Request Method
- Method: POST
- Content-Type: application/json
| 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 mobile number. |
| firstname |
Yes |
String |
Payer's first name. |
| lastname |
Yes |
String |
Payer's last name. |
| email |
Yes |
String |
Payer's email address |
| idType |
Yes |
String |
Payer ID type. Refer to the ID Type Description table. |
| idCardNumber |
Yes |
String |
Payer ID card number. The value must match the selected idType. |
| channelCode |
Yes |
String |
Payment method(see WayCode appendix for details) |
| wayCode |
Yes |
String |
Payment channel (see WayCode appendix for details) |
| 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": "1123456789",
"firstname": "Juan",
"lastname": "Perez",
"email": "juan.perez@example.com",
"idType": "DNI",
"idCardNumber": "12345678",
"channelCode": "BANK_TRANSFER",
"wayCode": "CVU",
"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 |
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.message |
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": 1719876543210,
"success": true,
"data": {
"tradeNo": "VX20260331005678",
"platFormTradeNo": "vx7k2m9d3pl0q8f1a",
"status": "0015",
"desc": "Processing",
"remark": "order_vx_05678",
"paymentLink": "https://checkout.vexora.com/pay?token=vx7k2m9d3pl0q8f1a9bc45de7812fg90"
}
}