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

MethodURL

POST

{{baseUrl}}/api/service/v1/query/merchant/login

HeaderValue

Content-Type

application/json

publicKey

{{publicKey}}

The public key supplied by your account manager.

Request BodyDescription

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

MethodURL

POST

{{baseUrl}}/api/v1/webintegration/query-transaction

HeaderValue

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

Request BodyDescription

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