Checkout¶
Laos APIs
Introduction 路 Response Code 路 Checkout 路 Check Deposit Status 路 Deposit WayCode 路 Check Balance 路 Webhook
Tip
- All requests are
POSTrequests, and the data format isjson
Brief Description¶
- Use this API to create a Laos collection transaction.
Request URL¶
/v1/vexora/checkout
Request Method¶
- Method: POST
- Content-Type: application/json
Header¶
| Header | Required | Type | Description |
|---|---|---|---|
| merchantNo | Yes | String | Merchant number assigned by Vexora |
Body¶
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| sign | Yes | String | Signature generated from all non-empty fields except sign, sorted alphabetically and hashed with the app secret |
| timestamp | Yes | String | Timestamp in milliseconds |
| tradeNo | Yes | String | Merchant transaction number. Must be unique |
| amount | Yes | String | Transaction amount in Lao Kip (LAK). Supported precision and limits are pending confirmation |
| mobile | Yes | String | Payer mobile number registered for the selected payment method |
| username | Yes | String | Payer name |
| Yes | String | Payer email address | |
| channelCode | Yes | String | Payment product code: QR for LAPNET or EWALLET for NEWPAY. See the WayCode appendix |
| wayCode | Yes | String | Payment method code: LAPNET with QR, or NEWPAY with EWALLET. See the WayCode appendix |
| notifyUrl | Yes | String | Webhook URL for asynchronous notifications |
| returnUrl | No | String | Redirect URL after customer completion, when supported by the channel |
| remark | No | String | Merchant remark returned as submitted when available |
Request Example¶
{
"sign": "08b429c56d7d96a31ca5d65fb2a5801c",
"timestamp": "1782878400000",
"tradeNo": "LA202607010001",
"amount": "100.00",
"mobile": "<payer-mobile>",
"username": "Example Customer",
"email": "customer@example.com",
"channelCode": "QR",
"wayCode": "LAPNET",
"notifyUrl": "https://merchant.example.com/vexora/payment-notify",
"returnUrl": "https://merchant.example.com/payment/result",
"remark": "Order LA202607010001"
}
Response Result¶
| Parameter Name | Required | Type | Description |
|---|---|---|---|
| msg | Yes | String | API request message |
| code | Yes | String | API request code. 0000 only means the request was accepted |
| timestamp | Yes | String | Response timestamp |
| success | Yes | Boolean | Whether the request was processed successfully |
| data | Yes | Object | Response object |
| data.tradeNo | Yes | String | Merchant transaction number |
| data.platFormTradeNo | Yes | String | Unique Vexora platform transaction number |
| data.status | Yes | String | Transaction status used for final business judgment |
| data.message | Yes | String | Status description |
| data.paymentLink | Yes | String | Payment link |
| data.remark | Yes | String | Merchant remark returned when available |
Successful Response Example¶
{
"msg": "success",
"code": "0000",
"timestamp": 1782878401200,
"success": true,
"data": {
"tradeNo": "LA202607010001",
"platFormTradeNo": "LAPI202607010001",
"status": "0015",
"message": "PAYING",
"paymentLink": "https://pay.vexora.com/checkout/LAPI202607010001",
"remark": "Order LA202607010001"
}
}