1. Home
  2. Virtual Card Management
  3. Card Funding

Card Funding


Validate Customer Endpoint

Endpoint

POST {scheme}://{host}:{port}/virtual-card/api/v1/cards/funding/validate-customer

Request Type is application/json

Authorization: {passport generated bearer token}

Request Message description

Field#Field nameData typeMax lengthRequiredDescription
1mobileNumberString13YesPhone number format

Sample Request

{
   “mobileNumber”:”2348133497153″
}

Sample Success Response

{
    "responseCode": "00",
    "responseMessage": "Successful",
    "data": {
        "sessionId": "XFwchShFP2mQh57x7CwfpdDzGCAXXjsRvFMXdHJSimvHYQFNfXzWHwpl8ICCE4HAjtCELzXS3Hk",
        "statusCode": "90000",
        "statusDescription": null
    }
}


Card Funding Payment Endpoint

Endpoint

POST {scheme}://{host}:{port}/virtual-card/api/v1/cards/funding/payment

Request Type is application/json

Authorization: {passport generated bearer token}

Request Message description

Field#Field nameData typeMax lengthRequiredDescription
1pinNumeric4YesPin of the card to be debited
2mobileNumberString13YesMobile Number tied to the virtual card that will be funded
3amountNumericYesAmount is in kobo
4cardPanString19YesPan details of card/account to be debited
5expiryDateNumeric4YesExpiry date of PAN to be debited
6cvvNumeric3YesCVV details of PAN to be debited
7sessionIdStringYesSessionId gotten when a validate customer call is made
8instrumentIdentifierStringNoRequired for existing payment instrument

Plain Sample Request

{
   "pin":"5971",
   "mobileNumber":"2348133497153",
   "amount":"2500",
   "cardPan":"5060990580000217499",
   "expiryDate":"5003",
   "cvv":"111",
   "instrumentIdentifier": "",
   "sessionId":"11UF2IHebXDTHlJZXqa7xrhPtzQstGbZw3pgHhverDgwqPey5bYuZjdRHzg6HFzXxnkk1a5PWVw"
}

Encrypted Sample Request

{
   "data":"T4DZPBE42uzXl61X+3D47lTyB1uXkvgTY/Q2ATx5/A2Qm/8fAlkbJbMtmpGciOCIOimf44BRnntAsX7mn5UwFd6yE+fnVQvWLti+MYKud6ywK5fckw8b0ZrzR5+nvNLEaTA9jFptCBq0nNN1tCk7QzcgajBbad1/pbC8QUf7oYZ1rVqQ/Kghyi0aC5tIyL2h3ul/jiPyjEmb18I0xTSz3w=="
}

Sample Success Response

{
    "responseCode": "00",
    "responseMessage": "Successful",
    "data": {
        "inProgress": false,
        "approvedAmount": 0,
        "transactionReference": null,
        "sessionId": "11UF2IHebXDTHlJZXqa7xrhPtzQstGbZw3pgHhverDgwqPey5bYuZjdRHzg6HFzXxnkk1a5PWVw",
        "supportMessage": "<div class=''><div class='ipg--otp'>Didn't get the <bold>OTP</bold>? Dial <strong> *723*0# </strong> on your phone (MTN,Etisalat,Airtel) Glo,use <strong>*805*0#</strong></div><div class='ipg--otp--more'><a href='
https://connect.interswitchng.com/3-great-ways-to-generate-your-safetoken-otp/' target='_blank'>Other ways to get OTP?</a></div></div>",
        "plainTextSupportMessage": "Didn't get the OTP? Dial *723*0# on your phone (MTN,Etisalat,Airtel) Glo,use *805*0#.",
        "displayMessage": "Enter the OTP sent to 234805***1111",
        "statusCode": "900T0",
        "statusDescription": "Enter the OTP sent to [[PhoneNumber]]",
        "paymentId": 3555162,
        "successful": false,
        "retryable": false
    }
}

{
    "responseCode": "00",
    "responseMessage": "Successful",
    "data": {
        "inProgress": false,
        "approvedAmount": 2500,
        "transactionReference": null,
        "sessionId": "11UF2IHebXDTHlJZXqa7xrhPtzQstGbZw3pgHhverDgwqPey5bYuZjdRHzg6HFzXxnkk1a5PWVw",
        "supportMessage": null,
        "plainTextSupportMessage": null,
        "displayMessage": "Approved by Financial Institution",
        "statusCode": "90000",
        "statusDescription": "Approved by Financial Institution",
        "successful": false,
        "retryable": false
    }
}


Validate OTP Endpoint

Endpoint

POST {scheme}://{host}:{port}/virtual-card/api/v1/cards/funding/validate-otp

Request Type is application/json

Authorization: {passport generated bearer token}

Request Message description

Field#Field nameData typeMax lengthRequiredDescription
1otpString6YesOne time password
2sessionIdStringYesSession ID from Quickteller
3mobileNumberString
YesMobile number

Plain Sample Request

{
   "otp":"123456",
   "mobileNumber":"2348148497163",
   "sessionId":"SfiK4MgejhfqpaGtFqtlGp8BUZnWUr4FcQkTKjvCRPds73mpztPxlqetjBFT25U5aNwQtmSAuQk"
}

Encrypted Sample Request

{
   "data":"T4DZPBE42uzXl61X+3D47lTyB1uXkvgTY/Q2ATx5/A2Qm/8fAlkbFTkjdhdoUIYTBHGt3w=="
}

Sample Success Response

{
    "responseCode": "00",
    "responseMessage": "Successful",
    "data": {
        "inProgress": false,
        "approvedAmount": 2500,
        "transactionReference": null,
        "sessionId": "11UF2IHebXDTHlJZXqa7xrhPtzQstGbZw3pgHhverDgwqPey5bYuZjdRHzg6HFzXxnkk1a5PWVw",
        "supportMessage": null,
        "plainTextSupportMessage": null,
        "displayMessage": "Approved by Financial Institution",
        "statusCode": "90000",
        "statusDescription": "Approved by Financial Institution",
        "successful": false,
        "retryable": false
    }
}

Sample Failed Response

{
    "responseCode": "W103",
    "responseMessage": "{\"code\":\"70038\",\"description\":\"Your transaction may have expired.\",\"responseCode\":\"70038\",\"responseDescription\":\"Your transaction may have expired.\"}",
    "errors": []
}

Was this article helpful to you? Yes 1 No

How can we help?