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

Method
URL

POST

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

Header
Value

Content-Type

application/json

publicKey

{{publicKey}}

The public key supplied by your account manager.

Request Body
Description

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

Method
URL

POST

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

Header
Value

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 Body
Description

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