Checkout¶
Saudi Arabia 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 Saudi Arabia 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, up to 2 decimal places, unit: Saudi Riyal (SAR) |
| currency | Yes | String | Currency code. Supported value: SAR |
| mobile | Yes | String | Payer mobile number registered for the selected payment method |
| name | Yes | String | Payer name |
| Yes | String | Payer email address | |
| userId | No | String | Member ID |
| ipAddress | Yes | String | Member IP address. A real client IP is recommended for risk control verification |
| channelCode | Yes | String | Payment product code. See the WayCode appendix |
| wayCode | Yes | String | Payment method code. 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": "SA202607010001",
"amount": "100.00",
"currency": "SAR",
"mobile": "500123456",
"name": "Faisal Hassan",
"email": "faisal.hassan@example.com",
"userId": "vip-10001",
"ipAddress": "203.0.113.10",
"channelCode": "MADA",
"wayCode": "MADA",
"notifyUrl": "https://merchant.example.com/vexora/payment-notify",
"returnUrl": "https://merchant.example.com/payment/result",
"remark": "Order SA202607010001"
}
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": "SA202607010001",
"platFormTradeNo": "SAPI202607010001",
"status": "0015",
"message": "PAYING",
"paymentLink": "https://pay.vexora.com/checkout/SAPI202607010001",
"remark": "Order SA202607010001"
}
}