Skip to content

Checkout

Tip

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

This section introduces the cashier checkout interface for creating a payment link.

Current Availability

Tanzania collection supports both cashier checkout and Direct Deposit. Use EWALLET as the channel code. Supported payment methods are YAS, VODACOM, HALOTEL, and AIRTEL.

Payment Methods
channelCode wayCode
EWALLET YAS
EWALLET VODACOM
EWALLET HALOTEL
EWALLET AIRTEL
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 Integer Timestamp (e.g. 1715941383720)
tradeNo Yes String Unique transaction number (recommended format: yyyymmddhhmmss + random number; maximum 32 characters)
amount Yes String Transaction amount (integers only, unit: TZS)
mobile Yes String Payer's actual 10-digit mobile number, including the leading 0 and excluding the country code (for example, 0741234567).
name Yes String Payer's full name
email Yes String Payer's email address
channelCode Yes String Payment product code. Use EWALLET.
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 Yes String Remarks (this field will be returned asโ€‘is)
Request Body Example
{
  "sign": "9d5ed678fe57bcca610140957afab571",
  "timestamp": 1719876543210,
  "tradeNo": "VX20260331002345",
  "amount": "300",
  "mobile": "0741234567",
  "name": "Ahmed Hassan",
  "email": "ahmed.hassan@example.com",
  "channelCode": "EWALLET",
  "wayCode": "YAS",
  "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 Boolean Transaction result
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 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 Merchant remark returned as submitted
data.paymentLink Yes String Cashier URL
Successful Response Example
{
  "msg": "success",
  "code": "0000",
  "timestamp": "1719876543210",
  "success": true,
  "data": {
    "tradeNo": "VX20260331005678",
    "platFormTradeNo": "vx7k2m9d3pl0q8f1a",
    "status": "0015",
    "message": "Processing",
    "remark": "order_vx_05678",
    "paymentLink": "https://checkout.vexora.com/pay?token=vx7k2m9d3pl0q8f1a9bc45de7812fg90"
  }
}