0% found this document useful (0 votes)
27 views48 pages

SwitchIT 4.0 FT and Bill Payment Consolidated API Documentation

Uploaded by

Kenneth Nwanze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 views48 pages

SwitchIT 4.0 FT and Bill Payment Consolidated API Documentation

Uploaded by

Kenneth Nwanze
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 48

Etranzact International PLC

5th Floor, Fortune Towers,

27/29, Adeyemo Alakija St.

Victoria Island, Lagos.

SwitchIT
Funds Transfer & Bill Payment
APIs(consolidated)
Version 1.0

07th October, 2021

The material contained in this document or information disclosed during discussions of this document represents the proprietary, confidential information
pertaining to eTranzact International PLC services, methodologies and methods. Other products and brand names may be trademarks or registered trademarks
of their respective owners.

By reading this document, you agree that the information contained herein will not be disclosed outside the Organization and will not be duplicated, used,
or disclosed for any purpose other than to carry out work internal to etranzact International PLC only.

Revision History

Version Description of Versions / Changes Responsible Party Date

1.0 Initial specification Enterprise Architecture


15/10/2021
Unit

Approval Block

Version Comments Responsible Party Date

1.0 Approved Olayiwola Okunola 15/10/2021


Table of Contents
1.0 INTRODUCTION 4
1.1 SANDBOX TEST PARAMETERS 4
1.2 AVAILABLE BANKS/CODES for FUNDS TRANSFER ENDPOINTS 5
1.3 SUPPORTED BILLERS for BILL PAYMENT ENDPOINTS 6
1.4 LIST OF ALLOWED ACTIONS(Request types) 7
2.0 FUNDS TRANSFER ENDPOINTS 8
2.1 FUNDS TRANSFER 8
2.2 ACCOUNT QUERY 10
2.3 TRANSACTION STATUS 12
2.4 VTU AIRTIME TOP-UP 14
2.5 CARD BALANCE ENQUIRY 16
2.6 BANK LIST 18
2.7 BULK TRANSFERS 20
2.8 BULK QUERY 23
2.8.1 BULK QUERY (BATCH) 23
2.8.2 BULK QUERY (SINGLE TRANSACTION) 27

3.0 BILL PAYMENTS ENDPOINTS 29


3.1 GET BILLER CATEGORY 29
3.2 GET BILLERS IN A CATEGORY 30
3.3 GET BILLER SERVICES AND SERVICE DETAILS 32
3.4 BILL QUERY 34
3.5 BILL PAYMENT 38
3.5.1 BILL PAYMENT (NO SERVICE PLANS) 38
3.5.2 BILL PAYMENT (DATA BUNDLE VTU WITH SERVICE PLANS) 40

4.0 APPENDIX 42
4.1 SAMPLE BILLER PAYMENT PAYLOADS AND SAMPLE CUSTOMER IDs 42
4.1.1 CABLE TV 42
4.1.2 ELECTRICITY 43
4.1.3 TOLL 44
4.1.4 VTU 44
4.1.5 INTERNET SERVICES 45
4.1.6 MOBILE DATA BUNDLE 46

4.2 FUNDS TRANSFER and BILL PAYMENT TRANSACTION ERROR CODES 47


1.0 INTRODUCTION
SwitchIT is an API for eTranzact’s Corporate Payment Systems which when fully integrated allows clients
to carryout funds transfer, perform VTU airtime topup to mobile numbers, utility bill payments, bulk
transfers to recipients, perform transaction status check e.t.c.
Before sending a requests, please note this:
 Client will provide eTranzact with the IP Address of their system (on test and on live
environments) for whitelisting.
 eTranzact would provide Client with test parameters which includes terminal id, pin, MasterKey
for pin encryption.
 Plain text pins must be encrypted using AES Algorithm, using MasterKey as the encryption key.
 SwitchIT supports only TLSV 1.2. All requests not secured with TLS v1.2 will be rejected.
 All client requests must include a unique reference id.

1.1 SANDBOX TEST PARAMETERS

Parameter Value
Terminal id 7000000001
Pin 0006
AES encrypted PIN kghxqwveJ3eSQJip/cmaMQ==
Master key(encryption key) KEd4gDNSDdMBxCGliZaC8w==
Demo Base URL (funds https://demo.etranzact.com/rest/switchIT/api/v1
transfer module)
Live Base URL (funds https://www.etranzact.net/rest/switchIT/api/v1/
transfer module)
Demo Base URL (Bill https://demo.etranzact.com/switchitbillpayment/api/v1/
payments module)
Live Base URL (Bill payments https://www.etranzact.net/switchitbillpayment/api/v1/
module)
Bank account number 0705162854
Bank code 044
Mobile number 2349012345678

Note: you can use any bank account number with the corresponding bank code for the bank that the
account is domiciled in.
1.2 AVAILABLE BANKS/CODES for FUNDS TRANSFER ENDPOINTS
Below table represents banks where transfers can be sent to. The list may be updated at any time,
therefore it is crucial to always use the bank list endpoint to validate available banks at time of
transaction.

S/No Bank Name Bank code


1 United Bank for Africa PLC 033
2 Wema Bank 035
3 Access Bank PLC 044
4 EcoBank PLC 050
5 FirstBank PLC 011
6 Zenith Bank PLC 057
7 Guaranty Trust Bank PLC 058
8 Polaris Bank 076
9 Stanbic-IBTC Bank PLC 039
10 First City Monument Bank 214
11 Unity Bank PLC 215
12 Sterling Bank 232
13 Fidelity Bank 070
14 Union Bank 032
15 Keystone Bank 082
16 Access (Diamond) Bank 063
17 Providus Bank 101
18 Standard Chartered Bank 068
19 PocketMoni Mobile wallet 700
20 AB Microfinance Bank 755
21 CITIBANK NIGERIA LIMITED 023
22 FSDH MERCHANT BANK LIMITED 501
23 GLOBUS BANK LIMITED 103
24 RAND MERCHANT BANK NIGERIA 502
25 SUNTRUST BANK NIGERIA LIMITED 100
26 TAJ BANK LIMITED 302
27 TITAN TRUST BANK LIMITED 102
1.3 SUPPORTED BILLERS for BILL PAYMENT ENDPOINTS

All endpoints maintain a standard set response alongside corresponding HTTP status codes.

BILLER NAME BILLER CATEGORY BILL QUERY


GOTV Cable TV Yes
DSTV Cable TV Yes
STARTIMES Cable TV Yes
SWIFT Internet No
SMILE Internet Yes
SPECTRANET Internet Yes
LCC Toll Yes
PHCN IBADAN (Prepaid & Postpaid) Electricity Yes
PHCN ENUGU (Prepaid & Postpaid) Electricity Yes
PHCN JOS (Prepaid & Postpaid) Electricity Yes
PHCN EKO (Prepaid & Postpaid) Electricity Yes
PHCN KANO (Prepaid & Postpaid) Electricity Yes
PHCN ABUJA (Prepaid & Postpaid) Electricity Yes
Airtel Airtime VTU No
Glo Airtime VTU No
MTN Airtime VTU No
Etisalat Airtime VTU No
Airtel Data Bundle VTU Yes
Glo Data Bundle VTU Yes
MTN Data Bundle VTU Yes
Etisalat Data Bundle VTU Yes

Kindly note that all attempts to perform Bill-Payment and some Bill-Query on the sandbox will fail,
this is as a result of unavailability of test connections to the billers. For successful end to end tests,
please request for a controlled-live test. This will require migration to production and implies
readiness to go –live(all business requirements fulfilled).
1.4 LIST OF ALLOWED ACTIONS(Request types)

S/No ACTION DESCRIPTION


1 FT Funds transfer
2 AQ Account Query
3 VT Airtime/Data purchase(VTU)
4 BL Bank List
5 TS Transaction Status
6 BE Balance Enquiry
7 PB Bill payment
8 BT Bulk transfers
9 BQ Bulk transaction status query
2.0 FUNDS TRANSFER MODULE
2.1 FUNDS TRANSFER
Description: Enables the transfer of funds to a destination bank account. Use respective bank
code when sending to mobile wallet and set endpoint parameter to “A”.
Endpoint: {base_url}/fund-transfer
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “FT” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
senderName string Name of sender, name of receiver, and source account, in Yes
this format:
Sender;Reciever;Source Account
bankCode string Bank Code Yes
amount decimal Transaction amount Yes
description string Transaction description/narration Yes
destination string Destination account number Yes
reference string Client’s reference number. Maximum of 15 characters. Yes
endPoint string Defines type of operation. Local bank transfer(A), local Yes
mobile wallet(M) or international funds transfer(FX), Bulk
batch status query(B) or bulk individual status query(I).

Sample Request
{
"action":"FT",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"senderName": "JOHN DOE; HELLO WORLD;0123456789",
"bankCode":"033",
"amount":"5",
"description":"Fund Transfer",
"destination":"2125347370",
"reference":"FTRestTest001",
"endPoint":"A"
}
}
RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be 0, to Yes
mean successfully processed.
message string Description of transaction status Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Other reference number No
action string The transaction type in request, for which response Yes
is being given. e.g. FT
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG2101180053321838MQIC3",
"companyId": null,
"date": null,
"amount": 0,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "Transaction Successful",
"bulkItems": null,
"otherReference": null,
"action": "FT",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.2 ACCOUNT QUERY
Description: perform an account name enquiry against a bank account.
Endpoint: {base_url}/account-query
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “AQ” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
bankCode string Bank Code Yes
amount decimal Transaction amount Yes
description string Transaction description/narration Yes
destination string Destination account number to be queried. Yes
reference string Client’s reference number. Maximum of 15 Yes
characters.
endPoint string Defines type of operation. Local bank transfer(A), Yes
local mobile wallet(M) or international funds
transfer(FX), Bulk batch status query(B) or bulk
individual status query(I).

Sample Request
{
"action":"AQ",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"bankCode":"700",
"amount":"0.0",
"description":"Account Query",
"destination":"1234567890",
"reference":"FTRestTest002",
"endPoint":"M"
}
}
RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed, Not used No
here.
totalSuccess integer Total number of transactions that succeeded, Not No
used here.
error integer Error code. If there is no error, value will be 0, to Yes
mean successfully processed.
message string Account name on bank account Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Other reference number No
action string The transaction type in request, for which response Yes
is being given. e.g. AQ
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "",
"companyId": null,
"date": null,
"amount": 0,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "JOHN DOE",
"bulkItems": null,
"otherReference": null,
"action": "AQ",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.3 TRANSACTION STATUS
Description: Fetch status of transaction
Endpoint: {base_url}/transaction-status
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “TS” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
description string Transaction description/narration Yes
reference string Client’s reference number. Maximum of 15 Yes
characters.
lineType string Defaults to “OTHERS” for transaction status check. Yes

Sample Request
{
"action":"TS",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"description":"Status check",
"reference":"FTRestTest001",
"lineType":"OTHERS"
}
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be Yes
0, to mean successfully processed.
message string Description of Transaction status Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Client Reference for which status is sought No
action string The transaction type in request, for which Yes
response is being given. e.g. TS
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": null,
"companyId": null,
"date": null,
"amount": 0,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "Transaction Successful",
"bulkItems": null,
"otherReference": "FTRestTest002",
"action": "TS",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.4 VTU AIRTIME TOP-UP
Description: instruction topup airtime to a mobile number, after successful payment on
merchant’s platform.
Endpoint: {base_url}/topup
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “VT” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
amount decimal Transaction amount Yes
description string Transaction description/narration Yes
provider string This represents alias for telcos and would hold values
such as MTN, GLO, ETISALAT, AIRTEL e.t.c
lineType string Defaults to “VTU” for virtual topup transactions.
destination string Destination account number to be queried. Yes
reference string Client’s reference number. Maximum of 15 characters. Yes
senderName string Name of sender Yes

Sample Request
{
"action":"VT",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"amount":100,
"description":"Virtual TopUp",
"provider":"GLO",
"lineType":"VTU",
"destination":"07012345678",
"reference":"VTURestTest002",
"senderName":"Etranzact Test"
}
}
RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be 0, to Yes
mean successfully processed.
message string Transaction status description Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Client Reference for which status is sought No
action string The transaction type in request, for which Yes
response is being given. e.g. VT
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG21011801011453770D1BV",
"companyId": null,
"date": null,
"amount": 0,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "Transaction Successful",
"bulkItems": null,
"otherReference": null,
"action": "VT",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.5 CARD BALANCE ENQUIRY
Description: Get current balance on merchant’s transaction card.
Endpoint: {base_url}/balanceenquiry
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “BE” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
description string Transaction description/narration Yes
reference string Client’s reference number. Maximum of 15 characters. Yes

Sample Request
{
"action":"BE",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"description":"Virtual TopUp",
"reference":"VTURestTest002"
}
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Balance on card Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be 0, to mean Yes
successfully processed.
message string Description of transaction status Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Other reference number No
action string The transaction type in request, for which response is Yes
being given. e.g. FT
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG21011801011453770D1BV",
"companyId": null,
"date": null,
"amount": 57000.00,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "Transaction Successful",
"bulkItems": null,
"otherReference": null,
"action": "BE",
"records": null,
"openingBalance": 0,
"closingBalance": 0

}
2.6 BANK LIST
Description: Get list of commercial/microfinance banks and mobile wallets, whose accounts
can be credited via Etranzact.
Endpoint: {base_url}/banks
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “BL” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
pin string AES encrypted PIN Yes
reference string Client’s reference number. Maximum of 15 characters. Yes

Sample Request
{
"action":"BL",
"terminalId":"7000000001",
"transaction": {
"pin":"kghxqwveJ3eSQJip/cmaMQ==",
"reference":"BLRestTest002"
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Not used here Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be 0, to Yes
mean successfully processed.
message string Contains list of banks if request was successfully Yes
processed.See sample response for structure.
bulkItems object Object holding bulk items. Not used here. No
otherReference string Other reference number No
action string The transaction type in request, for which response is Yes
being given. e.g. FT
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG21011801011453770D1BV",
"companyId": null,
"date": null,
"amount": 57000.00,
"totalFailed": 0,
"totalSuccess": 0,
"error": "0",
"message": "<Banks><bank><bankCode>500</bankCode><bankName>eTranzact Intl Plc</bankName>
<bankAlias>eTranzact</bankAlias></bank><bank><bankCode>771</bankCode><bankName>IMSU
MICROFINANCE
BANK</bankName><bankAlias>MFB</bankAlias></bank><bank><bankCode>770</bankCode><bankName>ALVANA
MICROFINANCE
BANK</bankName><bankAlias>OWERRI</bankAlias></bank><bank><bankCode>767</bankCode><bankName>Ilaro
Poly mfb</bankName><bankAlias>MFI</bankAlias></bank><bank><bankCode>764</bankCode><bankName>Unical
mfb</bankName><bankAlias>MFI</bankAlias></bank><bank><bankCode>761</bankCode><bankName>FED POLY
NASARAWA MFB</bankName><bankAlias>Nasarawa
p</bankAlias></bank><bank><bankCode>754</bankCode><bankName>IMO STATE MFB</bankName><bankAlias>IMO
STATE</bankAlias></bank><bank><bankCode>738</bankCode><bankName>3LineCard Managenent
LTD</bankName><bankAlias>3LineCard</bankAlias></bank> ><bank><bankCode>797</bankCode><bankName>FCE
OBUDU MFB</bankName><bankAlias>FCE</bankAlias></bank><bank><bankCode>785</bankCode><bankName>ASO
SAVINGS</bankName><bankAlias>ASOMOBILE</bankAlias></bank><bank><bankCode>700</bankCode><bankName>P
ocketMoni</bankName><bankAlias>PocketMoni</bankAlias></bank>
><bank><bankCode>732</bankCode><bankName>Parallex
MFB</bankName><bankAlias>eTranzact</bankAlias></bank><bank><bankCode>800</bankCode><bankName>Kadun
a Polytechnic MFB</bankName><bankAlias>KADPOLY
MF</bankAlias></bank><bank><bankCode>710</bankCode><bankName>PocketMoni -
Access</bankName><bankAlias>PocketMoni</bankAlias></bank><bank><bankCode>781</bankCode><bankName>F
UTO MICROFINANCE BANK</bankName><bankAlias>FUTO
MFB</bankAlias></bank><bank><bankCode>714</bankCode><bankName>eTz MFB Global Teller
Scheme</bankName><bankAlias>PocketMoni</bankAlias></bank><bank><bankCode>602</bankCode><bankName>N
IBSS Routed
MMO</bankName><bankAlias>MMO</bankAlias></bank><bank><bankCode>301</bankCode><bankName>Jaiz
Bank</bankName><bankAlias>Jaiz
Bank</bankAlias></bank<bank><bankCode>765</bankCode><bankName>Highland
mfb</bankName><bankAlias>MFI</bankAlias></bank><bank><bankCode>763</bankCode><bankName>Fed Poly
Nekede
mfb</bankName><bankAlias>MFI</bankAlias></bank><bank><bankCode>758</bankCode><bankName>YellowAccou
nt</bankName><bankAlias>YellowAcco</bankAlias></bank><bank><bankCode>719</bankCode><bankName>UBA
Social
Banking</bankName><bankAlias>UBA</bankAlias></bank><bank><bankCode>796</bankCode><bankName>Abia
State University MFB</bankName><bankAlias>ABSU</bankAlias></bank> ",
"bulkItems": null,
"otherReference": null,
"action": "BE",
"records": null,
"openingBalance": 0,
"closingBalance": 0

}
2.7 BULK TRANSFERS
Description: Send transfers to multiple recipients, up to a maximum of 500.
Endpoint: {base_url}/bulk-transfer
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “BT” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
companyId string Id that identifies a corporate merchant
pin string AES encrypted PIN Yes
amount decimal Total transaction amount
reference string Client’s reference number. Maximum of 15 Yes
characters.
senderName string Sender’s name. Default’s to merchant’s name. Yes
endPoint string Defines type of operation. Local bank transfer(A), Yes
local mobile wallet(M) or international funds
transfer(FX), Bulk batch status query(B) or bulk
individual status query(I).
terminalCard boolean Defaults to False No
bulkItems Object Object containing bulk items Yes
bulkitem array Contains array of individual bulk items Yes
uniqueId String Unique transaction id for each bulk item Yes
bankCode String Destination bank code Yes
accountId String Destination account number(mobile wallet should Yes
start with 234)
beneficiaryName String Name of beneficiary Yes
narration String Funds transfer description Yes
amount decimal Transaction amount for item Yes

Sample Request
{
"action": "BT",
"terminalId": "7000000001",
"transaction": {
"companyId": "TestCompanyID",
"pin": "kghxqwveJ3eSQJip/cmaMQ==",
"amount": 15.00,
"reference": "BTTestBT0002",
"senderName": "Test Accounts",
"endPoint": "A",
"terminalCard": false,
"bulkItems": {
"bulkItem": [
{"uniqueId": "BTTestBT04",
"bankCode": "011",
"accountId": "3028875212",
"beneficiaryName": "Peter Azuka",
"narration": "narration",
"amount": 5.0 },
{"uniqueId": "BTTestBT05",
"bankCode": "033",
"accountId": "2125347370",
"beneficiaryName": "Peter Azuka",
"narration": "narration",
"amount": 5.0 },
{"uniqueId": "BTTestBT06",
"bankCode": "058",
"accountId": "0129915440",
"beneficiaryName": "Peter Azuka",
"narration": "narration", "amount": 5.0 }
]
}
}
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Total transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be Yes
0, to mean successfully processed.
message string Description of Transaction status Yes
bulkItems object Object holding bulk items. Not used here. No
otherReference string Client Reference for which status is sought No
action string The transaction type in request, for which Yes
response is being given. e.g. BT
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No
Sample Response:
{
"direction": "response",
"reference": "09FG210118005839171BQS6I7",
"companyId": "TestCompanyID",
"date": null,
"amount": 15,
"totalFailed": 0,
"totalSuccess": 3,
"error": "0",
"message": "Transaction Successful",
"bulkItems": null,
"otherReference": null,
"action": "BT",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.8 BULK QUERY
2.8.1 BULK QUERY (BATCH)
Description:Query the status of multiple transactions in a bulk transfer, up to maximum of 50.
Endpoint: {base_url}/bulk-query
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “BQ” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
companyId string Id that identifies a corporate merchant
pin string AES encrypted PIN Yes
amount decimal Total transaction amount. Not used here
reference string Client’s reference number. Maximum of 15 Yes
characters.
senderName string Sender’s name. Default’s to merchant’s name. Not Yes
used here
endPoint string Defines type of operation. Local bank transfer(A), Yes
local mobile wallet(M) or international funds
transfer(FX), Bulk batch status query(B) or bulk
individual status query(I).
terminalCard boolean Defaults to False No
bulkItems Object Object containing bulk items Yes
bulkitem array Contains array of individual bulk items Yes
uniqueId String Unique transaction id for each bulk item Yes

Sample Request
{
"action": "BQ",
"terminalId": "7000000001",
"transaction": {
"companyId": "TestCompanyID",
"pin": "kghxqwveJ3eSQJip/cmaMQ==",
"amount": 15.00,
"reference": "BTTestBT0002",
"senderName": "Test Accounts",
"endPoint": "B",
"terminalCard": false,
"bulkItems": {
"bulkItem": [
{
"uniqueId": "BTTestBT04"
},
{
"uniqueId": "BTTestBT05"
},
{
"uniqueId": "BTTestBT06"
}
]
}
}
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be Yes
0, to mean successfully processed.
message string Description of error code Yes
bulkItems object Object holding bulk items. No
bulkitem array Contains array of individual bulk items Yes
uniqueId String Unique transaction id for each bulk item Yes
merchantCode string Not used here No
bankCode String Destination bank code. May not always be No
populated
terminalId string Merchant terminal id. Identifies merchant. Yes
accountId String Destination account number(mobile wallet Yes
should start with 234)
sortCode string Not used here No
beneficiaryName String Name of beneficiary Yes
narration String Funds transfer description Yes
amount decimal Transaction amount for item Yes
status String Transaction status code. Same as error codes Yes
message string Description of status code Yes
otherReference string Client Reference for which status is sought No
action string The transaction type in request, for which Yes
response is being given. e.g. BQ
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG210118005839171BQS6I7",
"companyId": "TestCompanyID",
"date": null,
"amount": ,
"totalFailed": 0,
"totalSuccess": 3,
"error": "0",
"message": "Successful",
"bulkItems": {
"bulkItem": [
{
"uniqueId": "BTTestBT04",
"merchantCode": null,
"bankCode": null,
"terminalId": "7000000001",
"accountId": "3028875212",
"sortCode": null,
"beneficiaryName": "Peter Azuka",
"narration": "narration",
"amount": 5, "status": "0",
"message": "SUCCESSFUL"
},
{
"uniqueId": "BTTestBT05",
"merchantCode": null,
"bankCode": null,
"terminalId": "7000000001",
"accountId": "2125347370",
"sortCode": null,
"beneficiaryName": "Peter Azuka",
"narration": "narration",
"amount": 5,
"status": "0",
"message": "SUCCESSFUL"
},
{
"uniqueId": "BTTestBT06",
"accountId": "0129915440",
"sortCode": null,
"beneficiaryName": "Peter Azuka",
"narration": "narration",
"amount": 5,
"status": "0",
"message": "SUCCESSFUL"
}
]
},
"otherReference": null,
"action": "BQ",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
2.8.2 BULK QUERY (SINGLE TRANSACTION)
Description: Query the status of a single transaction in a bulk transfer.
Endpoint: {base_url}/bulk-query
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
action string Use “BQ” for this endpoint. Refer to section 1.4 Yes
terminalId string Merchant terminal id. Identifies merchant. Yes
transaction object An object holding the transaction information Yes
companyId string Id that identifies a corporate merchant
pin string AES encrypted PIN Yes
amount decimal Total transaction amount. Not used here
reference string Client’s reference number. Maximum of 15 Yes
characters.
senderName string Sender’s name. Default’s to merchant’s name. Not Yes
used here
endPoint string Defines type of operation. Local bank transfer(A), Yes
local mobile wallet(M) or international funds
transfer(FX), Bulk batch status query(B) or bulk
individual status query(I).
terminalCard boolean Defaults to False No

Sample Request
{
"action": "BQ",
"terminalId": "7000000001",
"transaction": {
"companyId": "TestCompanyID",
"pin": "kghxqwveJ3eSQJip/cmaMQ==",
"amount": 0.00,
"reference": "BTTestBT04",
"senderName": "Test Accounts",
"endPoint": "I",
"terminalCard": false,
}
}
RESPONSE PARAMETERS
Parameter Type Description MANDATORY
direction string Parameter to identify a response. Defaults to Yes
“response”.
reference string Etranzact transaction Reference Number Yes
companyId string Company Identifier, Not used here. No
date string Date, Not used here. No
amount decimal Transaction amount Yes
totalFailed integer Total number of transactions that failed No
totalSuccess integer Total number of transactions that succeeded No
error integer Error code. If there is no error, value will be Yes
0, to mean successfully processed.
message string Description of error code Yes
bulkItems object Object holding bulk items. Not used here. No
bulkItem array Not used here. No
otherReference string Client Reference for which status is sought No
action string The transaction type in request, for which Yes
response is being given. e.g. BQ
records integer Not used here. No
openingBalance decimal Opening Balance, Not used here. No
closingBalance decimal Closing Balance, Not used here. No

Sample Response:
{
"direction": "response",
"reference": "09FG210118005839171BQS6I7",
"companyId": "TestCompanyID",
"date": null,
"amount": ,
"totalFailed": 0,
"totalSuccess": 3,
"error": "0",
"message": "Successful",
"bulkItems": {
"bulkItem": [ ]
},
"otherReference": null,
"action": "BQ",
"records": null,
"openingBalance": 0,
"closingBalance": 0
}
3.0 BILL PAYMENTS MODULE
3.1 GET BILLER CATEGORY
Description: Retrieve available list of biller categories
Endpoint: {base_url}/biller-category
Request type: GET

Sample Request

https://demo.etranzact.com/switchitbillpayment/api/v1/biller-category

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
id Integer ID of biller category. Used to get billers under category Yes
categroyName String Name of biller category Yes
description string Description of biller category No

Sample Response:
{
"status": true,
"message": "Biller category retrieved successfully",
"result": [
{
"id": 1,
"categoryName": "Cable TV",
"description": "This is cable TV service biller category "
},
{
"id": 2,
"categoryName": "Electricity",
"description": "This is electricity biller category "
}
]
}
3.2 GET BILLERS IN A CATEGORY
Description: Retrieve available list of billers in category
Endpoint: {base_url}/biller/category/{category-id}
Request type: GET

Sample Request

https://demo.etranzact.com/switchitbillpayment/api/v1/biller/category/1

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
id Integer ID of biller. Used to get billers under category Yes
billerName String Name of biller category Yes
billerCode string Code/alias for biller Yes
description string Description of biller category No
billCategory string Category of biller No

Sample Response:
{
"status": true,
"message": "Biller category retrieved successfully",
"result": [
{
"id": 1,
"billerName": "GOTV",
"billerCode": "gotv",
"description": "This is gotv biller",
"billCategory": null
},
{
"id": 2,
"billerName": "DSTV",
"billerCode": "dstv",
"description": "This is dstv biller",
"billCategory": null
},
{
"id": 3,
"billerName": "Startimes",
"billerCode": "startimes",
"description": "This is startimes biller",
"billCategory": null
}
]
}
3.3 GET BILLER SERVICES AND SERVICE DETAILS
Description: Retrieve available list of services a biller provides. Request payloads in bill-
payment endpoint will differ based on items in expectedFields parameter in response data. See sample
requests payloads for bill-payment in Appendix section of this document.
Endpoint: {base_url}/service-type/biller/{service-id}
Request type: GET

Sample Request

https://demo.etranzact.com/switchitbillpayment/api/v1/service-type/biller/1

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
id Integer ID of biller. Used to get billers under category Yes
billName String Name of biller category Yes
billType string INTEGRATED = biller requires validation of user Yes
data
NON-INTEGRATED = No validation of user data
required
description string Description of biller category No
expectedFields array Parameters expected during bill-query or bill- No
payment requests.
biller object Contains additional Biller information Yes
Id integer Yes
billerCategory string Category of biller Yes
id Integer ID of biller category. Yes
categroyName String Name of biller category Yes
description string Description of biller category No
status integer Indicates Category activity Yes
1 = (Active)
0 = (Inactive)
billerName String Name of biller category Yes
billerCode string Code/alias for biller Yes
description string Description of biller category No
status integer Indicates biller activity Yes
1 = (Active)
0 = (Inactive)

Sample Response:
{
"status": true,
"message": "Service type retrieved successfully",
"result": [
{
"id": 9,
"billName": "PHCN Enugu Prepaid",
"billType": "INTEGRATED",
"description": "This is PHCN Enugu Prepaid.",
"expectedFields": [
"ClientRef",
"BillId",
"CustomerId"
],
"biller": {
"id": 12,
"billerCategory": {
"id": 2,
"categoryName": "Electricity",
"description": "This is electricity biller cat egory",
"status": 1
},
"billerName": "PHCN Enugu Prepaid",
"billerCode": "phcnenu",
"description": "This is phcn enugu prepaid biller" ,
"status": 1
}
}
]
}
3.4 BILL QUERY
Description: Used to validate payer detail defined in a biller’s integrated service.
ADDITIONAL NOTES:
1. The plan ID gotten from this query will be passed in productid parameter in Bill Payment
endpoint.
2. It’s important to highlight or verify with the user making payment, that amount and plan name
are correct.
3. MTN: This biller’s plan IDs are the same but amount and name are always different. The plan ID
should still be sent in productid field during Bill Payment.
4. AIRTEL: This Biller’s plan IDs are in a numbered format. The plan ID should still be sent in
productid field during Bill Payment.
5. ETISALAT: This Biller doesn’t send planIDs but all prices for all Data Bundles are unique. Leave
the productId parameter empty.
6. GLO: This Biller send plan IDs in the format: DATA-XX where XX is a numeric number. Plan ID
should be sent in productid field during Bill Payment.
7. Sample

Endpoint: {base_url}/bill-query
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
clientRef string Client’s reference number. Maximum of 15 characters. Yes
billId string This is the corresponding Biller ID (First ID returned in Yes
the service-type endpoint)
customerId object Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.

Sample Request
{
"clientRef": "TestBillPay004048",
"billId": 8,
"customerId": "45037649550"
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
clientRef string Client’s reference number received in request Yes
paymentRef string Internal transaction reference number Yes

NB: The value of this parameter is required in the


billQueryRef field of Bill Payment request, in order to
perform a successful transaction
customerId string Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.
terminalId string Client Identification Number Yes
mobile string Customer’s phone number, when applicable, prefixed No
with 234
billId integer This is the corresponding Biller service ID (First ID Yes
returned in the service-type endpoint)
billName String Name of biller’s service Yes
billerCode Biller’s alias Yes
customerName string Contains customer details. Dependent on parameter No
been queried.
status integer Status of query Yes
error string Error description No
plans array Available plans on this Biller’s service No
plainId string ID used to identify the service Plan payment is to be Yes
made on.
The plan ID gotten from this query will be passed as
productid in Bill Payment endpoint.
planName string Name of service plan. (Usually contains amount of Yes
data when biller service is telco data)
planPrice string Amount to be paid for service plan Yes
planCode string Code/alias to identify plan. No
planSize string Size of plan. Not used No
planValidity string Duration or validy of plan where applicable Yes

Sample Response (Regular biller service e.g. Electricity disco):


{
"status": true,
"message": "Service type retrieved successfully",
"result": {
"clientRef": "TestBillPay048",
"paymentRef": "09FG2101151946145196HKVQP",
"customerId": "45037649550",
"terminalId": "7000000001",
"mobile": null,
"billId": 12,
"billName": "PHCN Enugu PrePaid",
"billerCode": "phcnenu",
"customerName": "NAME: MR OKECHUKWU ANI
|DISTRICT:ENU|ADDRESS:3 Ngene Street Enugu South Lga Awkbq
|MERCHANT:700602X2RL|ARREARS:39237.5",
"status": "SUCCESS",
"error": null,
"plans": null
}
}

Sample Response (Telco data bundle):


{
"status": true,
"message": "Service type retrieved successfully",
"result": {
"clientRef": "TestBillPay048",
"paymentRef": "09FG2101151946145196HKVQP",
"customerId": "45037649550",
"terminalId": "7000000001",
"mobile": null,
"billId": 12,
"billName": "PHCN Enugu PrePaid",
"billerCode": "phcnenu",
"customerName": "NAME: MR OKECHUKWU ANI
|DISTRICT:ENU|ADDRESS:3 Ngene Street Enugu South Lga Awkbq
|MERCHANT:700602X2RL|ARREARS:39237.5",
"status": "SUCCESS",
"error": null,
"plans": [
{
"planId": "9",
"planName": "20MB",
"planPrice": "25",
"planCode": null,
"planSize": null,
"planValidity": " 1 Day"
},
{
"planId": "9",
"planName": "50MB",
"planPrice": "50",
"planCode": null,
"planSize": null,
"planValidity": " 7 Days"
},
{
"planId": "9",
"planName": "100MB",
"planPrice": "100",
"planCode": null,
"planSize": null,
"planValidity": "24 Hours"
},
{
"planId": "9",
"planName": "160MB",
"planPrice": "150",
"planCode": null,
"planSize": null,
"planValidity": " 30 Days"
}
]
}
}
3.5 BILL PAYMENT
3.5.1 BILL PAYMENT (NO SERVICE PLANS)
Description: Used to make a bill payment. Payload may differ depending on biller. All billers
and their respective payload can be found at the end of document. Sample below is for regular biller
service with no service plans, e.g. electricity disco.
Endpoint: {base_url}/bill-payment
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
clientRef string Client’s reference number. Maximum of 15 characters. Yes
billQueryRef string This is the unique eTz reference generated in bill-query Yes
stage of process.
This field will require the exact reference returned upon
successful bill query
billId string This is the corresponding Biller ID (First ID returned in the Yes
service-type endpoint)
customerId object Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.
amount decimal Amount to be paid Yes
mobile string Customer’s phone number, when applicable, prefixed with No
234

Sample Request
{
"clientRef": "TestBillPay049",
"billQueryRef":"09FG2101151946145196HKVQP",
"billId": 8,
"customerId": "45037649550",
"amount": 100,
"mobile":"23490766063"
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
clientRef string Client’s reference number received in request Yes
paymentRef string Internal etranzact transaction reference number Yes
customerId string Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.
terminalId string Client Identification Number Yes
mobile string Mobile number, when applicable, prefixed with 234 No
productId string Service Plan paid for, when applicable No
billId integer This is the corresponding Biller service ID (First ID Yes
returned in the service-type endpoint)
billName String Name of biller’s service Yes
billerCode Biller’s alias Yes
customerName string Contains customer details. No
status integer Status of query Yes

Sample Response:
{
"status": true,
"message": "Bill Payment was successful",
"result": {
"clientRef": "TestBillPay049",
"paymentRef": "09FG210115194653080AB6MUK",
"customerId": "45037649550",
"terminalId": "7000000001",
"mobile": "23490766063",
"productId": null,
"billId": 12,
"billName": "PHCN Enugu PrePaid",
"billerCode": "phcnenu",
"customerName": null,
"status": "PAID_PROCESSED"
}
}
3.5.2 BILL PAYMENT (DATA BUNDLE VTU WITH SERVICE PLANS)
Description: Used to make a bill payment. Payload may differ depending on biller. All billers
and their respective payload can be found at the end of document. Specification below is for biller
service with service plans e.g. Telco Data bundle.
Endpoint: {base_url}/bill-payment
Request type: POST

REQUEST PARAMETERS
Parameter Type Description Required?
clientRef string Client’s reference number. Maximum of 15 characters. Yes
billQueryRef string This is the unique eTz reference generated in bill-query Yes
stage of process.
This field will require the exact reference returned upon
successful bill query
billId string This is the corresponding Biller ID (First ID returned in the Yes
service-type endpoint)
customerId object Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.
amount decimal Amount to be paid Yes
mobile string Customer’s phone number, when applicable, prefixed with No
234

Sample Request
{
"clientRef": "TestBillPay049",
"billQueryRef":"09FG2101151946145196HKVQP",
"billId": 8,
"customerId": "2348077373795",
"amount": 100,
"productId":"DATA-31"
}

RESPONSE PARAMETERS
Parameter Type Description MANDATORY
message String Description of status Yes
status boolean Status of the operation performed. Yes
True = Success
False = failed
result array Contains result set Yes
clientRef string Client’s reference number received in request Yes
paymentRef string Internal etranzact transaction reference number Yes
customerId string Holds the biller’s unique customer ID. E.g. smartcard Yes
number, meter number, etc.
terminalId string Client Identification Number Yes
mobile string Mobile number, when applicable, prefixed with 234 No
productId string Service Plan paid for, when applicable No
billId integer This is the corresponding Biller service ID (First ID Yes
returned in the service-type endpoint)
billName String Name of biller’s service Yes
billerCode Biller’s alias Yes
customerName string Contains customer details. No
status integer Status of query Yes

Sample Response:
{
"status": true,
"message": "Bill Payment was successful",
"result": {
"clientRef": "TestBillPay052",
"paymentRef": "09FG210115194653080AB6MUK",
"customerId": "2348077373795",
"terminalId": "7000000001",
"mobile": null,
"productId": "DATA-31",
"billId": 35,
"billName": "Glo Data Bundle",
"billerCode": "glo",
"customerName": null,
"status": "PAID_PROCESSED"
}
}
4.0 APPENDIX
4.1 SAMPLE BILLER PAYMENT PAYLOADS AND SAMPLE CUSTOMER IDs
4.1.1 CABLE TV

DSTV/GOTV
{
"clientRef": "96rnui88we65y89jn09iifijiho",
"billQueryRef":"09FG201119101527018O8O24M",
"billId": 4,
"customerId": "2003009470",
"amount": 1050,
"productId": "GOWAWU – GOtv Lite Freeview",
"productName": "GOWAWU – GOtv Lite Freeview Campaign",
"mobile": "2348068267215"
}

STARTIMES
{
"clientRef": "96rnrs4978j9f8hkyuiiyijiho",
"billQueryRef":"09FG201117152411267X7KO8N",
"billId": 6,
"customerId": "02145984666",
"amount": 100
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
DSTV 4271975322 5
GOTV 2003009470 4
STARTIMES 02145984666 6
4.1.2 ELECTRICITY

ALL ELECTRICITY
{
"clientRef": "96rnr978489r9f8j89giiyjiho",
"billQueryRef":"09FG201119154115921DQC4GX",
"billId": 25,
"customerId": "14260673232",
"amount": 100,
"mobile":"2347039232333"
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
Enugu Prepaid 0101185004377 8
Enugu Postpaid 564403173301 9
Eko Prepaid 43901448670 10
Eko Postpaid 108158038801 11
Jos Prepaid 0101170174177 14
Jos Postpaid 611181101701 15
Kano Prepaid 30530037834 16
Kano Postpaid 344421215201 17
Abuja Prepaid 14249716441 18
Abuja Postpaid 716114381 19
Ibadan Prepaid 14260673232 22
Ibadan Postpaid 185222186701 23
Kaduna Prepaid 04224564478 24
Kaduna Postpaid 1341794 25
Port Harcourt Prepaid N/A 26
Port Harcourt Postpaid N/A 27
4.1.3 TOLL

LCC
{
"clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billQueryRef":"09FG2011060933067077QTLCI",
"billId": 2,
"customerId": "14895-00",
"amount": 200.00
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
LCC 14895-00 2

4.1.4 VTU

AIRTIME
{
"clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billId": 33,
"customerId": "14895-00",
"amount": 200.00
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
MTN 2349039712884 30
GLO 2347051825495 31
AIRTEL 2349075766063 32
ETISALAT 2348099697234 33
4.1.5 INTERNET SERVICES

SWIFT
{
"clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billQueryRef":"09FG201106145215961QFZLFQ",
"billId": 28,
"customerId": "14895-00",
"amount": 200.00
}

SMILE
{
"clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billQueryRef":"09FG201106145215961QFZLFQ",
"billId": 3,
"customerId": "1512007152",
"amount": 200.00,
"mobile": "2347069029416",
"productId": "624"
}

SPECTRANET
{
"clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billQueryRef":"09FG201106145215961QFZLFQ",
"billId": 29,
"customerId": "18204560",
"amount": 200.00
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
SWIFT 210063 28
SMILE 1512007152 3
SPECTRANET 18204560 29
4.1.6 MOBILE DATA BUNDLE

MTN
{ "clientRef": "96rnrs49d79f68hkyuiiyijiho",
"billQueryRef":"09FG201106145215961QFZLFQ",
"billId": 34,
"customerId": "2349039712884",
"amount": 200,
"productId":"9"
}

GLO
{ "clientRef": "djj282617ppp09ho",
"billQueryRef":"09FG201106145215961MYRWC5",
"billId": 35,
"customerId": "2347051825495",
"amount": 50,
"productId":"DATA-17"
}

AIRTEL
{ "clientRef": "196222n1282617ppp09ho",
"billQueryRef":"09FG201106145215961P6RCWL",
"billId": 36,
"customerId": "2347089725597",
"amount": 50,
"productId":"49.99"
}

ETISALAT
{ "clientRef": "djj282617ppp0890909ho",
"billQueryRef":"09FG201106145215961MU5FC1",
"billId": 37,
"customerId": "2348099697234",
"amount": 50,
"productId":""
}

SAMPLE CUSTOMER IDs


Biller Sample ID Biller ID
MTN DATA 2349039712884 34
GLO DATA 2347051825495 35
AIRTEL DATA 2347089725597 36
ETISALAT DATA 2348099697234 37
4.2 FUNDS TRANSFER and BILL PAYMENT TRANSACTION ERROR CODES

ERROR Description
CODE
-1 Transaction timed out.
0 Transaction Successful
1 Destination Card Not Found
2 Card Number Not Found
3 Invalid Card PIN
4 Card Expiration Incorrect
5 Insufficient balance
6 Spending Limit Exceeded
7 Internal System Error Occurred please contact the service provider
8 Financial Institution Cannot authorize transaction Please try later
9 PIN tries Exceeded
10 Card has been locked
11 Invalid Terminal Id
12 Payment Timeout
13 Destination card has been locked
14 Card has expired
15 PIN change required
16 Invalid Amount
17 Card has been disabled
18 Unable to credit destination account request will be rolled back
19 Transaction not permitted on terminal
20 Exceeds withdrawal frequency
21 Destination Card has Expired
22 Destination Card Disabled
23 Source Card Disabled
24 Invalid Bank Account
25 Insufficient Balance
26 Request/Function not supported
27 No Route to Issuer/Bank
28 Bank TSS not Funded
29 Transaction with this amount, destination account has already
been approved today.
30 Bank Account Restricted
31 Pending transaction, upon confirmation from bank.
32 Transaction status unknown, contact eTranzact after T+1 for status.
92 No Route to Issuer/Bank
99 Transaction Failed
1000 Invalid Session
1001 Invalid Caller
1002 Invalid Transaction Reference
1003 Duplicate Transaction Reference
1004 Invalid Information
1005 Invalid Date Format
1006 Invalid Source Information
1007 Invalid Payout Bank

You might also like