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 name | Data type | Max length | Required | Description |
---|---|---|---|---|---|
1 | mobileNumber | String | 13 | Yes | Phone 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 name | Data type | Max length | Required | Description |
---|---|---|---|---|---|
1 | pin | Numeric | 4 | Yes | Pin of the card to be debited |
2 | mobileNumber | String | 13 | Yes | Mobile Number tied to the virtual card that will be funded |
3 | amount | Numeric | – | Yes | Amount is in kobo |
4 | cardPan | String | 19 | Yes | Pan details of card/account to be debited |
5 | expiryDate | Numeric | 4 | Yes | Expiry date of PAN to be debited |
6 | cvv | Numeric | 3 | Yes | CVV details of PAN to be debited |
7 | sessionId | String | – | Yes | SessionId gotten when a validate customer call is made |
8 | instrumentIdentifier | String | – | No | Required 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 name | Data type | Max length | Required | Description |
---|---|---|---|---|---|
1 | otp | String | 6 | Yes | One time password |
2 | sessionId | String | – | Yes | Session ID from Quickteller |
3 | mobileNumber | String | Yes | Mobile 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": []
}