Skip to content

Disbursement

Tip

Payout API is used to initiate transfer requests to e-wallets or bank accounts.

  • All requests are Post requests, and the data format is json
Brief Description
  • None
Request URL
  • /v1/vexora/disbursements
Request Method
  • Method: POST
  • Content-Type: application/json
Header Required Type Description
merchantNo Yes String None
Request Body Parameters
Parameter Name Required Type Description
tradeNo Yes String Unique identifier (recommended format: YYYYMMDDHHMMSS + random number)
amount Yes String Payment amount (no decimals allowed, minimum amount is 1 PKR)
name Yes String Recipient's name
customerCert Yes String
Recipient's identification number (CNIC - 13 digits - format XXXXX-YYYYYY-Z) with strong validation
email Yes String Recipient's email
mobile Yes String Payer's mobile number (10-digit number starting with 3) with strong validation
accountType Yes String Recipient's account type (BANK or WALLET)
bankName Yes String
Bank name code, see the bank support list (real verification required)
bankNumber Yes String
Recipient's bank account number (real verification required)
notifyUrl Yes String Asynchronous callback URL
remark Yes String Request remarks
timestamp Yes String Timestamp (e.g., 1715941383720)
sign Yes String Generate the sign by sorting the body fields alphabetically to form key1=value1key2=value2, then use the app secret as salt for MD5 encryption; the final sign should be in lowercase.
Example of Request Parameters
{
    "amount": "5000",
    "tradeNo": "order67890",
    "name": "Jane Doe",
    "customerCert": "1730123456789",
    "email": "jane@gmail.com",
    "mobile": "3115112345",
    "accountType": "BANK",
    "bankName": "ALLIED_BANK_LIMITED",
    "bankNumber": "9876543210",
    "notifyUrl": "https://yourcallbackurl.com/notify",
    "remark": "Payment for invoice #1001",
    "timestamp": "1730057564",
    "sign": "xxxx"
}
Response Result
Parameter Name Required Type Description
msg Yes String Request result (when returning "success", it only indicates that this request was successful; it should not be used for merchant-side logic judgment)
code Yes String Request response code (when returning "0000", it only indicates that this request was successful; it should not be used for merchant-side logic judgment). For specific error codes, please refer to the business error code enumeration.
timestamp Yes String Transaction timestamp
success Yes String Transaction result
data Yes Object Returned object
data.platFormTradeNo Yes String vexora transaction number, unique
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 Content returned from the request (returned as is)
Example of Successful Return
{
    "msg": "success",
    "code": "0000",
    "data": {
        "platFormTradeNo": "dxy6779lhk4vofur",
        "remark": "Payment for invoice #1001",
        "status": "0015",
        "desc": "CREATED"
    },
    "success": true,
    "timestamp": 1731656734898
}