Single Transfer

This service grants you access to Funds Transfer functionality of Quickteller Service

To call Do Transfer method of Quickteller service, you are required to generate Generate Token.

Do Transfer

This method is used to perform Quickteller Funds Transfer

This endpoint enables transfer of funds between one account or wallet to another, i.e single or peer to peer transactions. it enables users with the capability to send money from one person to another.

Process Flow

Step 1: Ideally, the first step will be to validate the account number of the intended recipent.
Step 2: Build the sender and beneficiary objects and initiate a Single Transfer call.
Step 3: Check transaction status

📘

Method

POST

Request Message description
N/B: Secure data version 12 was used

📘

mac

mac = sha512(initiatingAmount + initiatingCurrencyCode + initiatingPaymentMethodCode + terminatingAmount + terminatingCurrencyCode + terminatingPaymentMethodCode + terminatingCountryCode)

FieldField nameData typeMax lengthRequiredDescription
1macstringtruea combination of customer data
2transfercodestringtruea uniques string to identify each transaction from sva perspective.
3terminationobjecttrueThis contains what the termination details. The content include amount and accountreceivable (also an object that has accountnumber and accounttype), entitycode, currencycode, paymentmethodcode and countrycode
aamountnumerictrueAmount that will be received by beneficiary in small denomination
baccountreceivableobjecttrue
iaccountnumberstring10trueAccount Number should be the 10 digits Nuban Account Number of the beneficiary.
ii.accounttypestring2trueFor bank accounts only.
10 = Savings account
20 = Current Account
00 = default value / not sure
centityCodestring5trueCode of bank/agent where transfer should be collected
dcurrencyCodestring3trueISO 4217 standard currency code
epaymentMethodCodestring2trueOne of the payment method codes for where the transfer is to be terminated.
TerminatingPaymentMethodCode must always be AC.
fcountryCodestring2trueISO 4217 standard currency code
4senderobjecttrueThis contains the sender details. The content include phone, email, lastname, and othernames
aLastnamestring<50trueSender Last name
bOthernamesstring<50truetrueOther names of Sender
cEmailstringfalseEmail Address of Sender (Mandatory if customer should receive notification)
dPhonestringfalsePhone Number of sender (Mandatory if customer should receive notification)
5initiatingEntityCodestringtruethe terminalshort code is placed here
6initiationobjecttrueThis contains the initiation details. The content include amount, currencycode, paymentmethodcode, channel, accounttype, and bankcode
aamountNumerictrueAmount to be sent to the beneficiary in small denomination. Initiation Amount and Termination amount should be the same.
bcurrencyCodestring3trueISO 4217 standard currency code
cpaymentMethodCodestring2truePayment Method Code of where transfer is being initiated from.
InitiationPaymentMethodCodemust always be CA.
dchannelNumerictrueChannel must always be 7
eaccountTypestring2falseFor bank accounts only.
10 = Savings account
20 = Current Account
00 = default value / not sure
fbankCodestring3false
7beneficiaryobjecttrueThis contains the beneficiary details. The content include lastname and othernames
alastnamestring<50true
bothernamesstring<50true

📘

Endpoint

Url https://qa.interswitchng.com/quicktellerservice/api/v5/transactions/TransferFunds

📘

Headers

Authentication Bearer
TerminalID 3PBL0001

Sample Request

{
    "mac": "9f4e4f53c57be63e1f08d8f07a7bc1a9461e4a7d5304043daa1ef54bd727b6cde148f4fbfc5e2ad8c4a60f78dfa76304de671fbeb70657b1628f14b6b6baa5e1",
    "TransferCode": "990148469",
    "termination": {
        "amount": "100000",
        "accountReceivable": {
            "accountNumber": "0113711588",
            "accountType": "20"
        },
        "entityCode": "058",
        "currencyCode": "566",
        "paymentMethodCode": "AC",
        "countryCode": "NG"
    },
    "sender": {
        "phone": "08124888436",
        "email": "[email protected]",
        "lastname": "Adubiaro",
        "othernames": "Deborah"
    },
    "initiatingEntityCode": "voc",
    "initiation": {
        "amount": "100000",
        "currencyCode": "566",
        "paymentMethodCode": "CA",
        "channel": "7",
        "accountType": "00",
        "bankCode": "011"
    },
    "beneficiary": {
        "lastname": "ralph",
        "othernames": "ralpo"
    }
}

Response Message field description

FieldField namedescription
1mac
2transactiondate
3transactionreference
4pin
5transfercode
6responsecode
7responsecodegrouping

Sample Response (success)

{
    "MAC": "0A009B68B5732E741255B034CC5BCD28A0F106E7E8C58D19FF1565362C92D5ECDBF2A9B590835D7E79D89EFC9B816B10CD7F4293E8BC05E1B5F2DA043C1779A5",
    "TransactionDate": "16/Nov/2020 08:48:10",
    "TransactionReference": "VOC|LOC|CA|FBN|AC|161120084810|KENVY7UBEK",
    "Pin": "c685c74ea2012394",
    "TransferCode": "9901484879",
    "ResponseCode": "90000",
    "ResponseCodeGrouping": "SUCCESSFUL"
}

Sample Response (failure)

{
    "ResponseCode": "30020",
    "ResponseDescription": "30020 - Duplicate TransferCode/Request reference: 990148469",
    "ResponseCodeGrouping": "PENDING"
}

Response Codes

30020Duplicate Transaction Code
70075No Customer Card
70076Invalid Initiation Bank
20020Null or Empty Payload

What’s Next

API References