7. Query Transaction Status
This page goes into details of how to query the status of a transaction using your generated transaction reference.
Key Definitions
LIVE baseUrl
: https://kola.vpay.africa
SANDBOX baseUrl
: https://zander.vpay.africa
accessToken
: JWT token generated from the login endpoint
There are two endpoints involved as described below.
(a) login
Use this endpoint to authenticate your account and obtain a JWT accessToken for use in subsequent endpoints
This endpoint is throttled to 1 request every 270000 milliseconds.
Request
POST
{{baseUrl}}/api/service/v1/query/merchant/login
Content-Type
application/json
publicKey
{{publicKey}}
The public key supplied by your account manager.
username
Merchant email or phone number
mandatory
password
Merchant password
mandatory
Response Payload Sample
{
"status": true,
"message": "Here. Your token.",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6InFhMTAxX3Ntb290aEBnaXZtYWlsLmNvbSIsImZpcnN0bmFtZSI6IlNtb290aCIsImxhc3RuYW1lIjoiVGVzdCIsImJ1c2luZXNzbmFtZSI6IlNtb290aCBUZXN0IC0gVGVzdCBTbGF5IiwiYnVzaW5lc3NpZCI6IjY0NmIzMThkYTU3MzdjNDQ1NmY4ODkzYiIsInB1YmxpY2tleSI6IjMwMjNmZjYwLWIxODItNGNjYi1hNTk5LThkZTRjNzRlMjkxMCIsInZlcnNpb24iOjEsInVzZXIiOiI2NDZiMzE4Y2E1NzM3YzQ0NTZmODg5MGUiLCJyb2xlIjoibWVyY2hhbnQiLCJpYXQiOjE2ODU0ODc3NDAsImV4cCI6MTg0MzE2Nzc0MH0.OEUYoAKRiMoU-fjy4kx0FZF1JJPT57BVHwCC-OC9aIE",
"role": "merchant",
"firstname": "Smooth",
"adminname": "Admin",
"lastname": "Test",
"businessname": "Smooth Admin - Test Slay",
"shortid": "4GOL",
"merchants": [
{
"businessid": "646b318da5737c4456f8893b",
"shortid": "4GOL",
"businessname": "Smooth Admin - Test Slay",
"contactfirstname": "Smooth",
"contactlastname": "Admin",
"publickey": "3023ff60-b182-4ccb-a599-8de4c74e2910",
"address": "This Is A Test Address",
"nuban": "4600000022"
}
],
"lastlogin": "2023-12-30T17:27:02.101Z"
}
(b) query transaction status
Use this endpoint to query the status of your transaction using your previously generated transaction reference
This endpoint is throttled to 1 request every 1000 milliseconds.
Request
POST
{{baseUrl}}/api/v1/webintegration/query-transaction
Content-Type
application/json
publicKey
{{publicKey}}
b-access-token
{{accessToken}}
Use the token value that was provided in the response payload from the login endpoint above
transactionRef
Your unique transaction reference
case sensitive and mandatory
Response Payload Sample
{
"data": {
"paymentstatus": "paid",
"transactionref": "ref-647635b3ddcce187361685468595",
"paymentmethod": "bank",
"orderamount": 990,
"originalamount": 0,
"reversed": false
}
}
Last updated
Was this helpful?