Balance API

Overview

The Balance API provides balance enquiry capabilities for merchant wallets and virtual cards. It supports retrieving the current wallet balance as well as the virtual card wallet balance for a Quickteller terminal.

Base URLs

EnvironmentBase URL
Productionhttps://orion.interswitchng.com
QA / UAThttps://qa.interswitchng.com

Authentication

All balance endpoints require a Bearer token obtained from the Interswitch Passport authentication service. The token must include the merchant-wallet audience and relevant wallet actions in the JWT claims.

Include the token in the request header as follows:

Authorization: Bearer <access_token>

Note: The access token is short-lived. Obtain a fresh token before making API calls.


1. Wallet Balance

Retrieve the current wallet balance for a Quickteller terminal.

Endpoint

GET /quicktellerservice/api/v5/wallet/balance

Request

HTTP Method

GET

Required Headers

HeaderValueDescription
AuthorizationBearer <access_token>OAuth 2.0 bearer token
Content-Typeapplication/jsonOptional, but recommended

Path Parameters

None.

Query Parameters

None.

Request Body

None.

Response

Success Response

HTTP Status: 200 OK

Content-Type: application/json

{
  "Balance": 1006310,
  "LedgerBalance": 1006310,
  "AvailableBalance": 1006310,
  "ResponseCode": "90000",
  "ResponseCodeGrouping": "SUCCESSFUL"
}

Response Fields

FieldTypeDescription
BalanceintegerCurrent wallet book balance in minor units (e.g., kobo for NGN). Divide by 100 for the main currency value.
LedgerBalanceintegerLedger balance in minor units.
AvailableBalanceintegerAvailable/withdrawable balance in minor units.
ResponseCodestringInternal response code from the Quickteller service. 90000 indicates success.
ResponseCodeGroupingstringHigh-level status grouping. SUCCESSFUL indicates the request was processed successfully.

Sample Request

curl --location 'https://orion.interswitchng.com/quicktellerservice/api/v5/wallet/balance' \
--header 'Authorization: Bearer <access_token>'

Replace <access_token> with a valid bearer token retrieved from the Interswitch Passport service.

Sample Response

{
  "Balance": 1006310,
  "LedgerBalance": 1006310,
  "AvailableBalance": 1006310,
  "ResponseCode": "90000",
  "ResponseCodeGrouping": "SUCCESSFUL"
}

2. Virtual Card Balance

Retrieve the current virtual card wallet balance for a Quickteller terminal.

Endpoint

GET /quicktellerservice/api/v5/wallet/virtualcardbalance

Request

HTTP Method

GET

Required Headers

HeaderValueDescription
AuthorizationBearer <access_token>OAuth 2.0 bearer token
CookieBIGipServeruat_quickteller_service_pool=<value>Required in QA/UAT to maintain session affinity with the load balancer

Path Parameters

None.

Query Parameters

None.

Request Body

None.

Sample Request

curl --location 'https://qa.interswitchng.com/quicktellerservice/api/v5/wallet/virtualcardbalance' \
--header 'Cookie: BIGipServeruat_quickteller_service_pool=<cookie_value>' \
--header 'Authorization: Bearer <access_token>'

Replace <access_token> and <cookie_value> with valid values for your environment.

Response

Pending: The response payload for this endpoint has not been provided yet. Please share a sample response to complete this section.

Expected Response Structure

Based on the wallet balance endpoint, the response is expected to contain balance fields and a response code grouping. Update the table below once the actual response is confirmed.

FieldTypeDescription
BalanceintegerCurrent virtual card wallet balance in minor units.
LedgerBalanceintegerLedger balance in minor units.
AvailableBalanceintegerAvailable balance in minor units.
ResponseCodestringInternal response code.
ResponseCodeGroupingstringHigh-level status grouping.

Sample Response

{
  "Balance": 0,
  "LedgerBalance": 0,
  "AvailableBalance": 0,
  "ResponseCode": "90000",
  "ResponseCodeGrouping": "SUCCESSFUL"
}

Note: The values above are placeholders. Replace them with the actual response sample once available.


Common Response Codes

Virtual Card Balance

Response CodeGroupingDescription
90000SUCCESSFULBalance retrieved successfully.
70012FAILEDUnrecognised terminal owner.
70040FAILEDFinancial transactional card not configured.
10001FAILEDUnexpected error while performing balance enquiry.
<upstream>FAILEDUpstream ESB/Postilion balance-inquiry response code on failure.

Wallet Balance

Response CodeGroupingDescription
90000SUCCESSFULWallet balance retrieved successfully.
70081FAILEDTerminal owner wallet details not configured.
70082FAILEDWallet service exception.
70084FAILEDFailed to retrieve wallet details.
70086FAILEDWallet balance request did not return a successful result.
90006FAILEDGeneric wallet failure (DLL mapped code 06).
90009PENDINGWallet transaction still in progress (DLL mapped code 09).
90051PENDINGInsufficient wallet funds (DLL mapped code 51).
10005FAILEDEmpty or missing response code from wallet remote call.

Note: Actual response codes may vary based on the Quickteller service implementation. Refer to the latest Interswitch integration guide for the complete list.

Important Notes

  • All monetary values are returned in minor units. For Nigerian Naira (NGN), divide by 100 to get the main currency value (e.g., 1006310 kobo = NGN 10,063.10).
  • Use a valid bearer token scoped for balance enquiries.
  • Use the production base URL (orion.interswitchng.com) only for live transactions. Use qa.interswitchng.com for testing and integration validation.
  • The virtualcardbalance endpoint in QA/UAT requires a Cookie header for load-balancer session affinity.

Related Endpoints

  • GET /quicktellerservice/api/v5/wallet/balance — Retrieve main wallet balance.
  • GET /quicktellerservice/api/v5/wallet/virtualcardbalance — Retrieve virtual card wallet balance.

Did this page help you?