Introduction
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
This API is not authenticated.
Authentication
Register
This endpoint lets you create a user account.
Example request:
curl --request POST \
"http://o2.local/api/auth/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"Aiken\",
\"last_name\": \"Geln\",
\"email_address\": \"johndoe@example.com\",
\"phone_number\": \"08100123000\",
\"date_of_birth\": \"1989-01-27\",
\"bank_verification_number\": 29201193888,
\"referral_code\": \"JKRCIYQ-1\",
\"terms_and_conditions\": null,
\"password\": \"password\"
}"
const url = new URL(
"http://o2.local/api/auth/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "Aiken",
"last_name": "Geln",
"email_address": "johndoe@example.com",
"phone_number": "08100123000",
"date_of_birth": "1989-01-27",
"bank_verification_number": 29201193888,
"referral_code": "JKRCIYQ-1",
"terms_and_conditions": null,
"password": "password"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"user_id": 1,
"email": "johndoe@example.com",
"phone": "08100123000"
},
"message": "OTP sent, will arrive in just a minute.",
"status": true
}
Example response (422):
{
"data": {
"name": "Aiken Geln",
"email": "johndoe@example.com",
"phone": "08100123000"
},
"message": "Validation error",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify
This endpoint allows you to verify a user after a successful registration
Example request:
curl --request PATCH \
"http://o2.local/api/auth/1/verify" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"both\",
\"otp\": \"1234\",
\"device_name\": \"postman\"
}"
const url = new URL(
"http://o2.local/api/auth/1/verify"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "both",
"otp": "1234",
"device_name": "postman"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": {
"type": "both",
"otp": 1234,
"device_name": "postman",
"token": "1|KaBhmerOqWaYci8yVw9Tn789Q2WML5h9R5iAluEB56f55dcf"
},
"message": "Profile verified",
"status": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resending of OTP
With this endpoint, you can make a request to the server for a new OTP, in cases when previously sent OTPs were not received
Example request:
curl --request POST \
"http://o2.local/api/auth/1/resend-otp" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"otp_use\": \"signup\"
}"
const url = new URL(
"http://o2.local/api/auth/1/resend-otp"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"otp_use": "signup"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login
This endpoint lets you log-in a user.
Example request:
curl --request POST \
"http://o2.local/api/auth/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"device_name\": \"Android\",
\"email\": \"johndoe@example.com\",
\"password\": \"password\"
}"
const url = new URL(
"http://o2.local/api/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"device_name": "Android",
"email": "johndoe@example.com",
"password": "password"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"id": 1,
"name": "Aiken Geln",
"phone": "081000123000",
"token": "1|Exio9paidne9afiiywlfaedl"
},
"message": "Success",
"status": true
}
Example response (422):
{
"data": {
"email": "johndoe@example.com",
"password": "password",
"device_name": "Android"
},
"message": "Invalid login credentials",
"status": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Password reset request
This endpoint is used for making reset for users account password reset
Example request:
curl --request POST \
"http://o2.local/api/auth/password/reset-request" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email_or_phone\": \"johndoe@example.com\"
}"
const url = new URL(
"http://o2.local/api/auth/password/reset-request"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email_or_phone": "johndoe@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Reset password
This endpoint is used for verifying and saving of user's password reset request
Example request:
curl --request PATCH \
"http://o2.local/api/auth/password/reset" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email_or_phone\": \"johndoe@example.com\",
\"otp\": 1234,
\"password\": \"password\"
}"
const url = new URL(
"http://o2.local/api/auth/password/reset"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email_or_phone": "johndoe@example.com",
"otp": 1234,
"password": "password"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Account
Delete the user account on request
Example request:
curl --request DELETE \
"http://o2.local/api/auth/account/delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"password\",
\"email\": \"johndoe@example.com\"
}"
const url = new URL(
"http://o2.local/api/auth/account/delete"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "password",
"email": "johndoe@example.com"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Set FCMToken
This endpoint enables the mobile developer to assign firebase cloud messaging to token to a logged on user account for push notification
Example request:
curl --request PATCH \
"http://o2.local/api/auth/24/set-fcm-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"fcmToken\": \"URELKDFUYEWSDGCZJKJKOIUYTWQSDFGHVGGRS432VHU668D\"
}"
const url = new URL(
"http://o2.local/api/auth/24/set-fcm-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"fcmToken": "URELKDFUYEWSDGCZJKJKOIUYTWQSDFGHVGGRS432VHU668D"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": {
"fcmToken": "URELKDFUYEWSDGCZJKJKOIUYTWQSDFGHVGGRS432VHU668D",
"userType": "customer"
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {
"fcmToken": "URELKDFUYEWSDGCZJKJKOIUYTWQSDFGHVGGRS432VHU668D",
"userType": "customer"
},
"message": "Record(s) not found",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Logout
Logout an authenticated user from their account
Example request:
curl --request GET \
--get "http://o2.local/api/auth/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/auth/logout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"message": "Unauthenticated",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Bills
Categories
Get a list of supported providers.
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/categories" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/categories"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"billType": "airtime",
"billName": "Airtime Recharge",
"billEndpoint": "http://o2.local/api/v1/user/bills/airtime/providers"
},
{
"billType": "data",
"billName": "Data Services",
"billEndpoint": "http://o2.local/api/v1/user/bills/data/providers"
},
{
"billType": "tv-subscription",
"billName": "TV Subscription",
"billEndpoint": "http://o2.local/api/v1/user/bills/cable/providers"
},
{
"billType": "electricity-bill",
"billName": "Electricity Bill",
"billEndpoint": "http://o2.local/api/v1/user/bills/electricity/providers"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Airtime
Airtime purchases
Providers
This endpoint will help you retrieve from the server list of supported airtime providers
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/airtime/providers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/airtime/providers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "airtel",
"providerName": "Airtel Airtime VTU",
"providerMinimumAmount": "50",
"providerMaximumAmount": "8000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Airtel-Airtime.jpg",
"providerBuyEndpoint": "http://o2.local/api/v1/user/bills/airtime/airtel/buy"
},
{
"providerId": "mtn",
"providerName": "MTN Airtime VTU",
"providerMinimumAmount": "5",
"providerMaximumAmount": "6000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/MTN-Airtime.jpg",
"providerBuyEndpoint": "http://o2.local/api/v1/user/bills/airtime/mtn/buy"
},
{
"providerId": "glo",
"providerName": "GLO Airtime VTU",
"providerMinimumAmount": "10",
"providerMaximumAmount": "8000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/GLO-Airtime.jpg",
"providerBuyEndpoint": "http://o2.local/api/v1/user/bills/airtime/glo/buy"
},
{
"providerId": "etisalat",
"providerName": "9mobile Airtime VTU",
"providerMinimumAmount": "5",
"providerMaximumAmount": "8000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/9mobile-Airtime.jpg",
"providerBuyEndpoint": "http://o2.local/api/v1/user/bills/airtime/etisalat/buy"
},
{
"providerId": "foreign-airtime",
"providerName": "Foreign Airtime",
"providerMinimumAmount": "0",
"providerMaximumAmount": "50000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Foreign-Airtime.jpg",
"providerBuyEndpoint": "http://o2.local/api/v1/user/bills/airtime/foreign-airtime/buy"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Buy
After retrieving the airtime provider, this endpoint is used for making the purchase request
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/airtime/mtn/buy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 100,
\"phoneNumber\": \"08011111111\"
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/airtime/mtn/buy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 100,
"phoneNumber": "08011111111"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"providerId": "mtn",
"orderId": "202403080327-65ea777d037f0-vtpass",
"amount": "100.00"
},
"message": "Your airtime purchase was successful",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cable
Cable/TV Subscriptions Bill purchases
Providers
Get a list of supported providers
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/cable/providers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/cable/providers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "dstv",
"providerName": "DSTV Subscription",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Pay-DSTV-Subscription.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/variations"
},
{
"providerId": "gotv",
"providerName": "Gotv Payment",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Gotv-Payment.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/cable/gotv/variations"
},
{
"providerId": "startimes",
"providerName": "Startimes Subscription",
"providerMinimumAmount": "50",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Startimes-Subscription.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/cable/startimes/variations"
},
{
"providerId": "showmax",
"providerName": "ShowMax",
"providerMinimumAmount": "1",
"providerMaximumAmount": "5000000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/ShowMax.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/cable/showmax/variations"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Variations
Get the variations supported by a provider
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/cable/dstv/variations" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/cable/dstv/variations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "dstv",
"variationCode": "dstv-padi",
"variationName": "DStv Padi N1,850",
"variationCost": "1850.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv-padi"
},
{
"providerId": "dstv",
"variationCode": "dstv-yanga",
"variationName": "DStv Yanga N2,565",
"variationCost": "2565.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv-yanga"
},
{
"providerId": "dstv",
"variationCode": "dstv-confam",
"variationName": "Dstv Confam N4,615",
"variationCost": "4615.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv-confam"
},
{
"providerId": "dstv",
"variationCode": "dstv79",
"variationName": "DStv Compact N7900",
"variationCost": "7900.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv79"
},
{
"providerId": "dstv",
"variationCode": "dstv3",
"variationName": "DStv Premium N18,400",
"variationCost": "18400.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv3"
},
{
"providerId": "dstv",
"variationCode": "dstv6",
"variationName": "DStv Asia N6,200",
"variationCost": "6200.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv6"
},
{
"providerId": "dstv",
"variationCode": "dstv7",
"variationName": "DStv Compact Plus N12,400",
"variationCost": "12400.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv7"
},
{
"providerId": "dstv",
"variationCode": "dstv9",
"variationName": "DStv Premium-French N25,550",
"variationCost": "25550.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv9"
},
{
"providerId": "dstv",
"variationCode": "dstv10",
"variationName": "DStv Premium-Asia N20,500",
"variationCost": "20500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv10"
},
{
"providerId": "dstv",
"variationCode": "confam-extra",
"variationName": "DStv Confam + ExtraView N7,115",
"variationCost": "7115.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/confam-extra"
},
{
"providerId": "dstv",
"variationCode": "yanga-extra",
"variationName": "DStv Yanga + ExtraView N5,065",
"variationCost": "5065.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/yanga-extra"
},
{
"providerId": "dstv",
"variationCode": "padi-extra",
"variationName": "DStv Padi + ExtraView N4,350",
"variationCost": "4350.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/padi-extra"
},
{
"providerId": "dstv",
"variationCode": "com-asia",
"variationName": "DStv Compact + Asia N14,100",
"variationCost": "14100.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/com-asia"
},
{
"providerId": "dstv",
"variationCode": "dstv30",
"variationName": "DStv Compact + Extra View N10,400",
"variationCost": "10400.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv30"
},
{
"providerId": "dstv",
"variationCode": "com-frenchtouch",
"variationName": "DStv Compact + French Touch N10,200",
"variationCost": "10200.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/com-frenchtouch"
},
{
"providerId": "dstv",
"variationCode": "dstv33",
"variationName": "DStv Premium - Extra View N20,900",
"variationCost": "20900.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv33"
},
{
"providerId": "dstv",
"variationCode": "dstv40",
"variationName": "DStv Compact Plus - Asia N18,600",
"variationCost": "18600.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv40"
},
{
"providerId": "dstv",
"variationCode": "com-frenchtouch-extra",
"variationName": "DStv Compact + French Touch + ExtraView N12,700",
"variationCost": "12700.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/com-frenchtouch-extra"
},
{
"providerId": "dstv",
"variationCode": "com-asia-extra",
"variationName": "DStv Compact + Asia + ExtraView N16,600",
"variationCost": "16600.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/com-asia-extra"
},
{
"providerId": "dstv",
"variationCode": "dstv43",
"variationName": "DStv Compact Plus + French Plus N20,500",
"variationCost": "20500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv43"
},
{
"providerId": "dstv",
"variationCode": "complus-frenchtouch",
"variationName": "DStv Compact Plus + French Touch N14,700",
"variationCost": "14700.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/complus-frenchtouch"
},
{
"providerId": "dstv",
"variationCode": "dstv45",
"variationName": "DStv Compact Plus - Extra View N14,900",
"variationCost": "14900.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv45"
},
{
"providerId": "dstv",
"variationCode": "complus-french-extraview",
"variationName": "DStv Compact Plus + FrenchPlus + Extra View N23,000",
"variationCost": "23000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/complus-french-extraview"
},
{
"providerId": "dstv",
"variationCode": "dstv47",
"variationName": "DStv Compact + French Plus N16,000",
"variationCost": "16000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv47"
},
{
"providerId": "dstv",
"variationCode": "dstv48",
"variationName": "DStv Compact Plus + Asia + ExtraView N21,100",
"variationCost": "21100.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv48"
},
{
"providerId": "dstv",
"variationCode": "dstv61",
"variationName": "DStv Premium + Asia + Extra View N23,000",
"variationCost": "23000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv61"
},
{
"providerId": "dstv",
"variationCode": "dstv62",
"variationName": "DStv Premium + French + Extra View N28,000",
"variationCost": "28050.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv62"
},
{
"providerId": "dstv",
"variationCode": "hdpvr-access-service",
"variationName": "DStv HDPVR Access Service N2,500",
"variationCost": "2500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/hdpvr-access-service"
},
{
"providerId": "dstv",
"variationCode": "frenchplus-addon",
"variationName": "DStv French Plus Add-on N8,100",
"variationCost": "8100.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/frenchplus-addon"
},
{
"providerId": "dstv",
"variationCode": "asia-addon",
"variationName": "DStv Asian Add-on N6,200",
"variationCost": "6200.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/asia-addon"
},
{
"providerId": "dstv",
"variationCode": "frenchtouch-addon",
"variationName": "DStv French Touch Add-on N2,300",
"variationCost": "2300.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/frenchtouch-addon"
},
{
"providerId": "dstv",
"variationCode": "extraview-access",
"variationName": "ExtraView Access N2,500",
"variationCost": "2500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/extraview-access"
},
{
"providerId": "dstv",
"variationCode": "french11",
"variationName": "DStv French 11 N3,260",
"variationCost": "3260.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/dstv/buy/french11"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Smartcard Verification
Verify Smartcard/IUC number and get the biller detail
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/cable/dstv/card-details" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"smartcardNumber\": \"distinctio\"
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/cable/dstv/card-details"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"smartcardNumber": "distinctio"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"data": "{"Customer_Name": "Testermetri","Status": "OPEN","Due_Date": "November 24th, 2021","Customer_Number": 26117953,"Customer_Type": "DSTV","Current_Bouquet": "DStv Compact N7900 + ExtraView Access N2,500","Current_Bouquet_Code": "dstv79, extraview-access","Renewal_Amount": 63885}", "message": "Success", "status": true}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Buy
Purchase a service provider subscription
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv48" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"smartcardNumber\": 1212121212
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/cable/dstv/buy/dstv48"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"smartcardNumber": 1212121212
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"providerId": "dstv",
"variationCode": "dstv48",
"smartcardNumber": "1212121212"
},
"message": "Your Gotv purchase was successful",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Data
Data Subscription bill purchases
Providers
Get a list of supported providers
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/data/providers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/data/providers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "airtel-data",
"providerName": "Airtel Data",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Airtel-Data.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/airtel-data/variations"
},
{
"providerId": "mtn-data",
"providerName": "MTN Data",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/MTN-Data.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/mtn-data/variations"
},
{
"providerId": "glo-data",
"providerName": "GLO Data",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/GLO-Data.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/glo-data/variations"
},
{
"providerId": "etisalat-data",
"providerName": "9mobile Data",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/9mobile-Data.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/etisalat-data/variations"
},
{
"providerId": "smile-direct",
"providerName": "Smile Payment",
"providerMinimumAmount": "100",
"providerMaximumAmount": "150000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Smile-Payment.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/smile-direct/variations"
},
{
"providerId": "spectranet",
"providerName": "Spectranet",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/spectranet/variations"
},
{
"providerId": "etisalat-sme-data",
"providerName": "9mobile Sme Data",
"providerMinimumAmount": "",
"providerMaximumAmount": "",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/9mobile-Sme-Data.jpg",
"providerVariationsEndpoint": "http://o2.local/api/v1/user/bills/data/etisalat-sme-data/variations"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Variations
Get the variations supported by a provider
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/data/mtn-data/variations" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/data/mtn-data/variations"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "mtn-data",
"variationCode": "mtn-10mb-100",
"variationName": "N100 100MB - 24 hrs",
"variationCost": "100.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-10mb-100"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-50mb-200",
"variationName": "N200 200MB - 2 days",
"variationCost": "200.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-50mb-200"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-100mb-1000",
"variationName": "N1000 1.5GB - 30 days",
"variationCost": "1000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-100mb-1000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-500mb-2000",
"variationName": "N2000 4.5GB - 30 days",
"variationCost": "2000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-500mb-2000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-20hrs-1500",
"variationName": "N1500 6GB - 7 days",
"variationCost": "1500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-20hrs-1500"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-3gb-2500",
"variationName": "N2500 6GB - 30 days",
"variationCost": "2500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-3gb-2500"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-data-3000",
"variationName": "N3000 8GB - 30 days",
"variationCost": "3000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-data-3000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-1gb-3500",
"variationName": "N3500 10GB - 30 days",
"variationCost": "3500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-1gb-3500"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-100hr-5000",
"variationName": "N5000 15GB - 30 days",
"variationCost": "5000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-100hr-5000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-3gb-6000",
"variationName": "N6000 20GB - 30 days",
"variationCost": "6000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-3gb-6000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-40gb-10000",
"variationName": "N10000 40GB - 30 days",
"variationCost": "10000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-40gb-10000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-75gb-15000",
"variationName": "N15000 75GB - 30 days",
"variationCost": "15000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-75gb-15000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-110gb-20000",
"variationName": "N20000 110GB - 30 days",
"variationCost": "20000.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-110gb-20000"
},
{
"providerId": "mtn-data",
"variationCode": "mtn-3gb-1500",
"variationName": "N1500 3GB - 30 days",
"variationCost": "1500.00",
"variationBuyEndpoint": "http://o2.local/api/v1/user/bills/cable/mtn-data/buy/mtn-3gb-1500"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verification
This endpoint allows you to verify the Email for Smile Network Payment before attempting to make payment.
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/data/vero/biller-details" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"recipientAccount\": \"1234567890\"
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/data/vero/biller-details"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"recipientAccount": "1234567890"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"data": "{"Customer_Name": "Test Smile", "AccountList": {"Account": {"AccountId": 1234567890,"FriendlyName": ""},"NumberOfAccounts": 1}}", "message": "Success", "status": true}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Buy
Purchase a service provider subscription
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/data/mtn-data/buy/mtn-40gb-10000" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"recipientAccount\": 8011111111
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/data/mtn-data/buy/mtn-40gb-10000"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"recipientAccount": 8011111111
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"providerId": "mtn-data",
"variationCode": "mtn-40gb-10000",
"smartcardNumber": "08011111111"
},
"message": "Your mtn-data purchase was successful",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Electric
Electricity Bill purchases
Providers
Get a list of supported providers. There is a commission charge of ₦100 for using this service
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/bills/electricity/providers" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/bills/electricity/providers"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"providerId": "ikeja-electric",
"providerName": "Ikeja Electric Payment - PHCN",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Ikeja-Electric-Payment-PHCN.jpg"
},
{
"providerId": "eko-electric",
"providerName": "Eko Electric Payment - EKEDC",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Eko-Electric-Payment-PHCN.jpg"
},
{
"providerId": "abuja-electric",
"providerName": "Abuja Electricity Distribution Company- AEDC",
"providerMinimumAmount": "500",
"providerMaximumAmount": "500000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Abuja-Electric.jpg"
},
{
"providerId": "kano-electric",
"providerName": "KEDCO - Kano Electric",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Kano-Electric.jpg"
},
{
"providerId": "portharcourt-electric",
"providerName": "PHED - Port Harcourt Electric",
"providerMinimumAmount": "100",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Port-Harcourt-Electric.jpg"
},
{
"providerId": "jos-electric",
"providerName": "Jos Electric - JED",
"providerMinimumAmount": "500",
"providerMaximumAmount": "300000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Jos-Electric-JED.jpg"
},
{
"providerId": "kaduna-electric",
"providerName": "Kaduna Electric - KAEDCO",
"providerMinimumAmount": "500",
"providerMaximumAmount": "300000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Kaduna-Electric-KAEDCO.jpg"
},
{
"providerId": "enugu-electric",
"providerName": "Enugu Electric - EEDC",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Enugu-Electric-EEDC.jpg"
},
{
"providerId": "ibadan-electric",
"providerName": "Ibadan Electric - IBEDC",
"providerMinimumAmount": "100",
"providerMaximumAmount": "50000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/"
},
{
"providerId": "benin-electric",
"providerName": "Benin Electric - BEDC",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Benin-Electric-BEDC.jpg"
},
{
"providerId": "aba-electric",
"providerName": "ABA Electric Payment - PHCN",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/"
},
{
"providerId": "yola-electric",
"providerName": "Yola Electric YEDC",
"providerMinimumAmount": "500",
"providerMaximumAmount": "200000",
"providerAssetUrl": "https://sandbox.vtpass.com/resources/products/200X200/Yola-Electric.jpg"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Meter Number Verification
To simulate a failed meter number validation, please use any number apart from the one provided above as meter number.
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/electricity/benin-electric/meter-details" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"meterType\": \"prepaid\",
\"meterNumber\": 1111111111111
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/electricity/benin-electric/meter-details"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"meterType": "prepaid",
"meterNumber": 1111111111111
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{"data": "{"Customer_Name": "GEORGE", "Meter_Number": "04254517835","Business_Unit": "","Address": "8 Aza STREET","Customer_Arrears": ""}", "message": "Success", "status": true}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Buy
You can make a purchase for either a prepaid or postpaid meter.
Example request:
curl --request POST \
"http://o2.local/api/v1/user/bills/electricity/benin-electric/buy" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 5000,
\"meterType\": \"prepaid\",
\"meterNumber\": 1111111111111
}"
const url = new URL(
"http://o2.local/api/v1/user/bills/electricity/benin-electric/buy"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 5000,
"meterType": "prepaid",
"meterNumber": 1111111111111
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"providerId": "benin-electric",
"meterType": "prepaid",
"meterNumber": "1111111111111"
},
"message": "Your electricity bill payment was successful",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Home
Wallets
Get the user wallets
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/home/wallets" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/home/wallets"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"balance": "₦300,000",
"loan": "₦100,000",
"investment": {
"balance": "₦500,000",
"activePlans": 3
}
},
"message": "Success",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Withdraw
This endpoint is used for making request for users wallet payout requests, especially for investment returns and wallet excesses.
Example request:
curl --request POST \
"http://o2.local/api/v1/user/home/wallets/withdraw" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"amount\": 50000
}"
const url = new URL(
"http://o2.local/api/v1/user/home/wallets/withdraw"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"amount": 50000
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": {
"balance": "₦50,000"
},
"message": "Your withdrawal request is being processed",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Investment
Plans
Get investment plans
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/investment" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/investment"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"module": "commonjs",
"target": "es5",
"sourceMap": true
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Detail
Get the investment summary before performing the save function
Example request:
curl --request POST \
"http://o2.local/api/v1/user/investment/summary" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"investmentId\": 3,
\"durationId\": 2,
\"investmentAmount\": 30000
}"
const url = new URL(
"http://o2.local/api/v1/user/investment/summary"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"investmentId": 3,
"durationId": 2,
"investmentAmount": 30000
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"data": {
"module": "commonjs",
"target": "es5",
"sourceMap": true
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
After viewing the investment summary, this endpoint aims at creating the investment
Example request:
curl --request POST \
"http://o2.local/api/v1/user/investment/create" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"investmentId\": 3,
\"durationId\": 2,
\"investmentAmount\": 30000
}"
const url = new URL(
"http://o2.local/api/v1/user/investment/create"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"investmentId": 3,
"durationId": 2,
"investmentAmount": 30000
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"investmentId": 3,
"durationId": 2,
"investmentAmount": 30000
},
"message": "Investment of N30,000 from O2 wallet is successful.",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {
"investmentId": 3,
"durationId": 2,
"investmentAmount": 30000
},
"message": "Validation error message...",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Loan
Init
This endpoint is used for initializing a loan request by users
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/loan/initialize" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/loan/initialize"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"verified": true,
"hasPendingLoan": false,
"hasActiveLoan": false
},
"message": "Success",
"status": true
}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify BVN
This endpoint is used for user loan payout account details verification
Example request:
curl --request POST \
"http://o2.local/api/v1/user/loan/verify-bvn" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"bankCode\": \"054\",
\"accountNumber\": 123456789,
\"bankVerificationNumber\": 29201193888
}"
const url = new URL(
"http://o2.local/api/v1/user/loan/verify-bvn"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"bankCode": "054",
"accountNumber": 123456789,
"bankVerificationNumber": 29201193888
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{"data": {"bankCode": 007, "accountNumber": "0123456789"}, "message": "Your BVN is being verified", "status": true}
Example response (400):
{
"data": {},
"message": "Something went wrong!",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Request
Create a user loan request
Example request:
curl --request POST \
"http://o2.local/api/v1/user/loan/create" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"planId\": 1,
\"amount\": 50000,
\"purpose\": \"Farming\"
}"
const url = new URL(
"http://o2.local/api/v1/user/loan/create"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"planId": 1,
"amount": 50000,
"purpose": "Farming"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"planId": 1,
"amount": 50000
},
"message": "Your loan request is being processed",
"status": true
}
Example response (400, Active loan):
{
"data": {
"planId": 1,
"amount": 50000
},
"message": "There is an unpaid loan request on this account",
"status": false
}
Example response (400, Pending request):
{
"data": {
"planId": 1,
"amount": 50000
},
"message": "Your loan request is being processed",
"status": false
}
Example response (400, BVN verification):
{
"data": {
"planId": 1,
"amount": 50000
},
"message": "Please verify your BVN",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Active Loan
Get user active loan
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/loan/active" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/loan/active"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"loanId": 1,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
},
"message": "Success",
"status": true
}
Example response (400):
{
"data": {},
"message": "No active loan found",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payment Method
Get supported loan payment methods
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/loan/soluta/payment" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/loan/soluta/payment"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"bank", "card"}, "message": "Success", "status": true}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payment Processing
This endpoint is used for processing loan repayment with the select payment method
Example request:
curl --request POST \
"http://o2.local/api/v1/user/loan/non/payment/process" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"paymentMethod\": \"card\"
}"
const url = new URL(
"http://o2.local/api/v1/user/loan/non/payment/process"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"paymentMethod": "card"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, bank):
{
"data": {
"accountBank": "Wema Bank",
"accountName": "AIKORE ENGEL AGBEBAKU",
"accountNumber": "8147775048"
},
"message": "Success",
"status": true
}
Example response (200, card):
{
"data": {
"key": "pk_test_bb0ee8b62d8703cef8c3f588c5f464f97e402135",
"ref": "02-100000",
"amount": 500000,
"email": "aikengeln@gmail.com",
"currency": "NGN",
"label": "Loan",
"verify_url": "https://o2.local/payment-gateways/paystack/verify/02-100000"
},
"message": "Success",
"status": true
}
Example response (200, card: When the user has saved card(s)):
{
"data": [
{
"cardId": 1,
"cardType": "539999******8877",
"cardNumber": "2020",
"cardExpiringMonth": "08",
"cardExpiringYear": 2020,
"paymentEndpoint": "https://o2.local/api/loan/1/payment/card/1"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payment Processing (Via Saved Card)
This endpoint will enable users to make payment for their loan using their saved cards
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/loan/officiis/payment/card/ea" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/loan/officiis/payment/card/ea"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"paused"}, "message": "Please authorize this payment", "status": true}
Example response (201):
{
"data": {},
"message": "Payment was successful",
"status": true
}
Example response (400):
{
"data": {},
"message": "Your payment with the selected card was not successful",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
History
Get loan application history by users
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/loan/history" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/loan/history"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"loanId": 5,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanDebitBalance": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
},
{
"loanId": 4,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanDebitBalance": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
},
{
"loanId": 3,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanDebitBalance": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
},
{
"loanId": 2,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanDebitBalance": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
},
{
"loanId": 1,
"loanReference": "02-1001",
"loanedAmount": "₦300,000",
"loanedAccount": "093374891",
"loanedBank": "Access Bank",
"loanPayback": "₦320,000",
"loanDebitBalance": "₦320,000",
"loanStatus": "active",
"loanedDate": "25/02/2024",
"loanDueDate": "25/03/2024"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
More
Profile
Overview
Get the customer profile overview
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/profile" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/profile"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"userId": 24,
"firstName": "Aiken",
"lastName": "Geln",
"emailAddress": "aikengeln@gmail.com",
"phoneNumber": "08147775048",
"avatar": "http://o2.local/assets/images/avatar/avatar.png"
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
Use this endpoint to update any user account information pay close attention to the required attributes
Example request:
curl --request PATCH \
"http://o2.local/api/v1/user/more/profile/update" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"Aiken\",
\"last_name\": \"Geln\",
\"phone_number\": \"08123456789\",
\"_method\": \"patch\"
}"
const url = new URL(
"http://o2.local/api/v1/user/more/profile/update"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "Aiken",
"last_name": "Geln",
"phone_number": "08123456789",
"_method": "patch"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": {
"userId": 24,
"firstName": "Aiken",
"lastName": "Geln",
"emailAddress": "aikengeln@gmail.com",
"phoneNumber": "08147775048",
"avatar": "http://o2.local/assets/images/avatar/avatar.png"
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Change Password
Change an authenticated user password to a new one
Example request:
curl --request PATCH \
"http://o2.local/api/v1/user/more/profile/password/change" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"oldPassword\": \"deserunt\",
\"newPassword\": \"officia\"
}"
const url = new URL(
"http://o2.local/api/v1/user/more/profile/password/change"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"oldPassword": "deserunt",
"newPassword": "officia"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Push Notification
This endpoint enables users to adjust settings on their profile e.g push notification
Types are [push-notification]. I will continue to update this
Example request:
curl --request PATCH \
"http://o2.local/api/v1/user/more/profile/notification" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"type\": \"push-notification\",
\"pushNotification\": true
}"
const url = new URL(
"http://o2.local/api/v1/user/more/profile/notification"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type": "push-notification",
"pushNotification": true
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Account
In cases when users don't want to continue their usage of the platform, and want their account deleted, this endpoint handles the deletion of users account from the system Remove the specified resource from storage.
Example request:
curl --request DELETE \
"http://o2.local/api/v1/user/more/profile/delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"+K;#)N}n%S`&&\"
}"
const url = new URL(
"http://o2.local/api/v1/user/more/profile/delete"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "+K;#)N}n%S`&&"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Dedicated Account Number
This endpoint is used for retrieving users' virtual account number for bank deposits
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/profile/dva" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/profile/dva"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{"data": {"accountBank": "Wema Bank", "accountName": "John Doe, "accountNumber": "1234567890"},
"message": "Success"}
Example response (201):
{
"data": {
"accountBank": "Wema Bank",
"accountName": "John Doe",
"accountNumber": "1234567890"
},
"message": "Success"
}
Example response (400, Creation Failure):
{
"data": {},
"message": "Could not create account for deposit."
}
Example response (400, Retrieval Failure):
{
"data": {},
"message": "Please try again"
}
Example response (400, Account Verification Required):
{
"data": {},
"message": "Please complete your KYC"
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Guarantors
List
This endpoint is used to retrieve a list of user created guarantors.
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/guarantors" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/guarantors"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Doctor",
"guarantorAddress": "2, lane 51 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
},
{
"guarantorId": 2,
"guarantorName": "John Bello",
"guarantorEmail": "johnbello@example.com",
"guarantorPhoneNumber": "08035000001",
"guarantorOccupation": "Lawyer",
"guarantorAddress": "2, lane 52 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create
This endpoint is used for creating user guarantors.
Example request:
curl --request POST \
"http://o2.local/api/v1/user/more/guarantors/create" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"johndoe@example.com\",
\"phone\": \"08035000000\",
\"occupation\": \"Doctor\",
\"address\": \"2, lane 51 off Bayaro crescent, Lagos.\"
}"
const url = new URL(
"http://o2.local/api/v1/user/more/guarantors/create"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "johndoe@example.com",
"phone": "08035000000",
"occupation": "Doctor",
"address": "2, lane 51 off Bayaro crescent, Lagos."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (201):
{
"data": {
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Doctor",
"guarantorAddress": "2, lane 51 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
},
"message": "John Doe has been added to your guarantor list and awaits verification.",
"status": true
}
Example response (400):
{
"data": [],
"message": "You have reached the maximum number of guarantor required, please edit or delete unverified guarantors.",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Detail
This endpoint is used for viewing created guarantor's details.
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/guarantors/distinctio" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/guarantors/distinctio"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Doctor",
"guarantorAddress": "2, lane 51 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update
This endpoint is used for updating guarantor records.
Example request:
curl --request PATCH \
"http://o2.local/api/v1/user/more/guarantors/1/update" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"johndoe@example.com\",
\"phone\": \"08035000000\",
\"occupation\": \"Doctor\",
\"address\": \"2, lane 51 off Bayaro crescent, Lagos.\"
}"
const url = new URL(
"http://o2.local/api/v1/user/more/guarantors/1/update"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "johndoe@example.com",
"phone": "08035000000",
"occupation": "Doctor",
"address": "2, lane 51 off Bayaro crescent, Lagos."
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": {
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Lawyer",
"guarantorAddress": "2, lane 501 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
},
"message": "John Doe records has been updated.",
"status": true
}
Example response (400):
{
"data": [],
"message": "You are not allowed to modify an approved guarantor's record, please contact support.",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (422):
{
"data": {},
"message": "Validation error message",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
This endpoint is used for deleting guarantors from the list.
Example request:
curl --request DELETE \
"http://o2.local/api/v1/user/more/guarantors/delete" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"guarantor_id\": 13
}"
const url = new URL(
"http://o2.local/api/v1/user/more/guarantors/delete"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"guarantor_id": 13
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (202):
{
"data": [
{
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Lawyer",
"guarantorAddress": "2, lane 501 off Bayaro crescent, Lagos",
"guarantorStatus": "pending"
}
],
"message": "John Bello has been deleted from your guarantors list.",
"status": true
}
Example response (400):
{
"data": [
{
"guarantorId": 1,
"guarantorName": "John Doe",
"guarantorEmail": "johndoe@example.com",
"guarantorPhoneNumber": "08035000000",
"guarantorOccupation": "Lawyer",
"guarantorAddress": "2, lane 501 off Bayaro crescent, Lagos",
"guarantorStatus": "approved"
}
],
"message": "You cannot delete an approved guarantor, contact support.",
"status": false
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Referral
Code
Get user referral code
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/referral/code" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/referral/code"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"referralCode": "413XY666"
},
"message": "Success",
"status": true
}
Example response (403):
{
"data": {},
"message": "Referral system is not enabled",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
History
Get user referral history
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/referral/history" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/referral/history"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"referredId": 1,
"referredName": "Sulaiman David",
"referredAvatar": "http://o2.local/assets/images/avatar/avatar.png",
"referredCommission": "₦500",
"referredDated": "Mon, Feb 28, 2021 3:43 PM"
},
{
"referredId": 2,
"referredName": "Philip Akinsipe",
"referredAvatar": "http://o2.local/assets/images/avatar/avatar.png",
"referredCommission": "₦500",
"referredDated": "Mon, Feb 28, 2021 3:43 PM"
},
{
"referredId": 3,
"referredName": "Odunayo Veronica",
"referredAvatar": "http://o2.local/assets/images/avatar/avatar.png",
"referredCommission": "₦500",
"referredDated": "Mon, Feb 28, 2021 3:43 PM"
},
{
"referredId": 4,
"referredName": "God's Benevolence",
"referredAvatar": "http://o2.local/assets/images/avatar/avatar.png",
"referredCommission": "₦500",
"referredDated": "Mon, Feb 28, 2021 3:43 PM"
},
{
"referredId": 5,
"referredName": "Felici Moh",
"referredAvatar": "http://o2.local/assets/images/avatar/avatar.png",
"referredCommission": "₦500",
"referredDated": "Mon, Feb 28, 2021 3:43 PM"
}
],
"message": "Success",
"status": true
}
Example response (400):
{
"data": {},
"message": "Referral system is not enabled",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cards
List
This endpoint is used to retrieve a list of user saved cards for use or deletion
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/cards" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/cards"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"cardId": 1,
"cardType": "539999******8877",
"cardNumber": "2020",
"cardExpiringMonth": "08",
"cardExpiringYear": 2020
}
],
"message": "Success",
"status": true
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Add
This is the endpoint that handles the saving of users' card information for subsequent charges
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/cards/add" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/cards/add"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"message": "Unauthenticated",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete
Frequent times, users may want to delete their saved card from a system.
This endpoint makes it possible for users to delete their saved cards from the system
Example request:
curl --request DELETE \
"http://o2.local/api/v1/user/more/cards/remove" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"cardId\": 1
}"
const url = new URL(
"http://o2.local/api/v1/user/more/cards/remove"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cardId": 1
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Transactions
This endpoint returns reports within the current month.
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/more/transactions?filter%5Bmonth%5D=1" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/more/transactions"
);
const params = {
"filter[month]": "1",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"transactionId": 1,
"transactionCategory": "loan",
"transactionDescription": "Borrowed Loan",
"transactionAmount": "- ₦10,700",
"transactionDate": "Mon, Feb 8, 2021 3:43 PM"
},
{
"transactionId": 2,
"transactionCategory": "cable",
"transactionDescription": "DSTV Subscription",
"transactionAmount": "- ₦7,200",
"transactionDate": "Mon, Feb 8, 2021 2:15 PM"
},
{
"transactionId": 3,
"transactionCategory": "internet",
"transactionDescription": "MTN Data Subscription",
"transactionAmount": "- ₦1,000",
"transactionDate": "Mon, Feb 7, 2021 1:43 AM"
},
{
"transactionId": 4,
"transactionCategory": "loan",
"transactionDescription": "Borrowed Loan",
"transactionAmount": "- ₦11,700",
"transactionDate": "Mon, Feb 1, 2021 3:43 PM"
},
{
"transactionId": 5,
"transactionCategory": "loan",
"transactionDescription": "Borrowed Loan",
"transactionAmount": "- ₦6,500",
"transactionDate": "Mon, Jan 28, 2021 7:00 PM"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Notification
List
Get user notifications
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/notifications" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/notifications"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"Recent": [
{
"notificationId": 1,
"notificationMsg": "Your loan request of ₦40,000 was sent successfully.",
"notificationView": "loan",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 2,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 3,
"notificationMsg": "You invested ₦400,000.",
"notificationView": "investment",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
}
],
"Yesterday": [
{
"notificationId": 4,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 5,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
}
],
"February 7, 2021": [
{
"notificationId": 6,
"notificationMsg": "You purchased ₦60,000 worth of MTN airtime.",
"notificationView": "airtime",
"notificationStatus": "unread",
"notificationEntry": "1 day ago"
}
]
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Clear
Clear both read and unread notifications of users
Example request:
curl --request DELETE \
"http://o2.local/api/v1/user/notifications/clear" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/notifications/clear"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"Recent": [
{
"notificationId": 1,
"notificationMsg": "Your loan request of ₦40,000 was sent successfully.",
"notificationView": "loan",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 2,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 3,
"notificationMsg": "You invested ₦400,000.",
"notificationView": "investment",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
}
],
"Yesterday": [
{
"notificationId": 4,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
},
{
"notificationId": 5,
"notificationMsg": "You paid for ₦6,000 worth of goods from Shoprite.",
"notificationView": "shopping",
"notificationStatus": "unread",
"notificationEntry": "9:30 PM"
}
],
"February 7, 2021": [
{
"notificationId": 6,
"notificationMsg": "You purchased ₦60,000 worth of MTN airtime.",
"notificationView": "airtime",
"notificationStatus": "unread",
"notificationEntry": "1 day ago"
}
]
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Payment Gateways
Webhook
Bills
The Vtpass webhook enables the app to receive manually updated transaction by staff on the Vtpass dashboard.
Example request:
curl --request POST \
"http://o2.local/api/payment-gateways/bills/placeat/webhook" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/payment-gateways/bills/placeat/webhook"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Paystack
The paystack webhook enables the application to receive instant payment updates with manually retrieving or making request to the paystack server for payment update.
Example request:
curl --request POST \
"http://o2.local/api/payment-gateways/paystack/webhook" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/payment-gateways/paystack/webhook"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Paystack
We use paystack to handle all payment transactions in this app, when customers choose to make their payment using bank cards.
Banks List
Get Nigeria bank list
Example request:
curl --request GET \
--get "http://o2.local/api/payment-gateways/paystack/banks" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/payment-gateways/paystack/banks"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
access-control-allow-origin: *
{
"status": true,
"message": "Banks retrieved",
"data": [
{
"id": 302,
"name": "9mobile 9Payment Service Bank",
"slug": "9mobile-9payment-service-bank-ng",
"code": "120001",
"longcode": "120001",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-31T06:50:27.000Z",
"updatedAt": "2022-06-23T09:33:55.000Z"
},
{
"id": 174,
"name": "Abbey Mortgage Bank",
"slug": "abbey-mortgage-bank-ng",
"code": "404",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-12-07T16:19:09.000Z",
"updatedAt": "2023-09-14T13:02:38.000Z"
},
{
"id": 188,
"name": "Above Only MFB",
"slug": "above-only-mfb",
"code": "51204",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-10-13T20:35:17.000Z",
"updatedAt": "2021-10-13T20:35:17.000Z"
},
{
"id": 627,
"name": "Abulesoro MFB",
"slug": "abulesoro-mfb-ng",
"code": "51312",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-08-31T08:26:20.000Z",
"updatedAt": "2022-08-31T08:26:20.000Z"
},
{
"id": 1,
"name": "Access Bank",
"slug": "access-bank",
"code": "044",
"longcode": "044150149",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T08:06:44.000Z"
},
{
"id": 3,
"name": "Access Bank (Diamond)",
"slug": "access-bank-diamond",
"code": "063",
"longcode": "063150162",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T08:06:48.000Z"
},
{
"id": 495,
"name": "Accion Microfinance Bank",
"slug": "accion-microfinance-bank-ng",
"code": "602",
"longcode": "",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-07-28T14:22:56.000Z",
"updatedAt": "2022-09-19T07:48:37.000Z"
},
{
"id": 687,
"name": "Aella MFB",
"slug": "aella-mfb-ng",
"code": "50315",
"longcode": "50315",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-09T08:11:06.000Z",
"updatedAt": "2024-07-30T10:51:33.000Z"
},
{
"id": 780,
"name": "AG Mortgage Bank",
"slug": "ag-mortgage-bank-ng",
"code": "90077",
"longcode": "100028",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-06-07T13:28:00.000Z",
"updatedAt": "2024-06-07T13:28:00.000Z"
},
{
"id": 676,
"name": "Ahmadu Bello University Microfinance Bank",
"slug": "ahmadu-bello-university-microfinance-bank-ng",
"code": "50036",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-11-14T13:35:42.000Z",
"updatedAt": "2022-11-14T13:35:42.000Z"
},
{
"id": 300,
"name": "Airtel Smartcash PSB",
"slug": "airtel-smartcash-psb-ng",
"code": "120004",
"longcode": "120004",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-30T14:03:00.000Z",
"updatedAt": "2022-05-31T06:58:22.000Z"
},
{
"id": 698,
"name": "AKU Microfinance Bank",
"slug": "aku-mfb",
"code": "51336",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-05-04T15:12:34.000Z",
"updatedAt": "2023-05-04T15:12:34.000Z"
},
{
"id": 497,
"name": "Akuchukwu Microfinance Bank Limited",
"slug": "akuchukwu-microfinance-bank-limited-ng",
"code": "090561",
"longcode": "090561",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-07-28T14:22:56.000Z",
"updatedAt": "2023-11-03T12:09:37.000Z"
},
{
"id": 27,
"name": "ALAT by WEMA",
"slug": "alat-by-wema",
"code": "035A",
"longcode": "035150103",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2017-11-15T12:21:31.000Z",
"updatedAt": "2022-05-31T15:54:34.000Z"
},
{
"id": 707,
"name": "Amegy Microfinance Bank",
"slug": "amegy-microfinance-bank-ng",
"code": "090629",
"longcode": "090629",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-07-20T09:52:18.000Z",
"updatedAt": "2023-07-20T09:52:18.000Z"
},
{
"id": 179,
"name": "Amju Unique MFB",
"slug": "amju-unique-mfb",
"code": "50926",
"longcode": "511080896",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-07-07T13:45:57.000Z",
"updatedAt": "2021-07-07T13:45:57.000Z"
},
{
"id": 689,
"name": "AMPERSAND MICROFINANCE BANK",
"slug": "ampersand-microfinance-bank-ng",
"code": "51341",
"longcode": "",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-23T11:11:40.000Z",
"updatedAt": "2023-03-23T11:11:40.000Z"
},
{
"id": 795,
"name": "Amucha MFB",
"slug": "amucha-mfb-ng",
"code": "645",
"longcode": "090645",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-27T11:10:52.000Z",
"updatedAt": "2024-08-27T11:10:52.000Z"
},
{
"id": 800,
"name": "Amucha Microfinance Bank",
"slug": "amucha-microfinance-bank-ng",
"code": "645",
"longcode": "645",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-10-02T11:09:08.000Z",
"updatedAt": "2024-10-02T11:09:08.000Z"
},
{
"id": 614,
"name": "Aramoko MFB",
"slug": "aramoko-mfb",
"code": "50083",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-08-10T09:48:24.000Z",
"updatedAt": "2022-08-10T09:48:24.000Z"
},
{
"id": 63,
"name": "ASO Savings and Loans",
"slug": "asosavings",
"code": "401",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2018-09-23T05:52:38.000Z",
"updatedAt": "2019-01-30T09:38:57.000Z"
},
{
"id": 793,
"name": "Assets Microfinance Bank",
"slug": "assets-microfinance-bank-ng",
"code": "50092",
"longcode": "50092",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-21T11:36:11.000Z",
"updatedAt": "2024-08-21T11:36:11.000Z"
},
{
"id": 297,
"name": "Astrapolaris MFB LTD",
"slug": "astrapolaris-mfb",
"code": "MFB50094",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-25T10:46:17.000Z",
"updatedAt": "2022-05-25T10:46:17.000Z"
},
{
"id": 759,
"name": "AVUENEGBE MICROFINANCE BANK",
"slug": "avuenegbe-microfinance-bank-ng",
"code": "090478",
"longcode": "090478",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:19:20.000Z",
"updatedAt": "2023-12-30T06:19:20.000Z"
},
{
"id": 778,
"name": "AWACASH MICROFINANCE BANK",
"slug": "awacash-microfinance-bank-ng",
"code": "51351",
"longcode": "51351",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-05-20T10:27:56.000Z",
"updatedAt": "2024-05-20T10:27:56.000Z"
},
{
"id": 796,
"name": "AZTEC MICROFINANCE BANK LIMITED",
"slug": "aztec-microfinance-bank-limited-ng",
"code": "51337",
"longcode": "090540",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-28T14:36:20.000Z",
"updatedAt": "2024-08-28T14:36:20.000Z"
},
{
"id": 181,
"name": "Bainescredit MFB",
"slug": "bainescredit-mfb",
"code": "51229",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-07-12T14:41:18.000Z",
"updatedAt": "2021-07-12T14:41:18.000Z"
},
{
"id": 686,
"name": "Banc Corp Microfinance Bank",
"slug": "banc-corp-microfinance-bank-ng",
"code": "50117",
"longcode": "50117",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-06T15:39:58.000Z",
"updatedAt": "2023-03-06T15:39:58.000Z"
},
{
"id": 777,
"name": "Baobab Microfinance Bank",
"slug": "baobab-microfinance-bank-ng",
"code": "MFB50992",
"longcode": "MFB50992",
"gateway": "null",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-05-08T09:06:52.000Z",
"updatedAt": "2024-05-08T09:06:52.000Z"
},
{
"id": 783,
"name": "BellBank Microfinance Bank",
"slug": "bellbank-microfinance-bank-ng",
"code": "51100",
"longcode": "51100",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-07-02T11:56:37.000Z",
"updatedAt": "2024-07-02T11:56:37.000Z"
},
{
"id": 589,
"name": "Benysta Microfinance Bank Limited",
"slug": "benysta-microfinance-bank-limited",
"code": "51267",
"longcode": "51267",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-07-28T14:22:56.000Z",
"updatedAt": "2024-07-04T11:12:27.000Z"
},
{
"id": 771,
"name": "Beststar Microfinance Bank",
"slug": "beststar-microfinance-bank-ng",
"code": "50123",
"longcode": "090615",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-01-26T08:55:14.000Z",
"updatedAt": "2024-01-26T08:55:14.000Z"
},
{
"id": 108,
"name": "Bowen Microfinance Bank",
"slug": "bowen-microfinance-bank",
"code": "50931",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-02-11T15:38:57.000Z",
"updatedAt": "2020-02-11T15:38:57.000Z"
},
{
"id": 697,
"name": "Branch International Financial Services Limited",
"slug": "branch",
"code": "FC40163",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-05-04T09:49:07.000Z",
"updatedAt": "2023-05-04T09:49:07.000Z"
},
{
"id": 82,
"name": "Carbon",
"slug": "carbon",
"code": "565",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-06-16T08:15:31.000Z",
"updatedAt": "2021-08-05T15:25:01.000Z"
},
{
"id": 781,
"name": "Cashbridge Microfinance Bank Limited",
"slug": "cashbridge-mfb-ng",
"code": "51353",
"longcode": "51353",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-06-27T13:01:40.000Z",
"updatedAt": "2024-06-27T13:01:40.000Z"
},
{
"id": 692,
"name": "CASHCONNECT MFB",
"slug": "cashconnect-mfb-ng",
"code": "865",
"longcode": "865",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-04-05T14:29:19.000Z",
"updatedAt": "2023-04-05T14:29:19.000Z"
},
{
"id": 74,
"name": "CEMCS Microfinance Bank",
"slug": "cemcs-microfinance-bank",
"code": "50823",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-03-23T15:06:13.000Z",
"updatedAt": "2020-03-23T15:06:28.000Z"
},
{
"id": 284,
"name": "Chanelle Microfinance Bank Limited",
"slug": "chanelle-microfinance-bank-limited-ng",
"code": "50171",
"longcode": "50171",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-02-10T13:28:38.000Z",
"updatedAt": "2022-02-10T13:28:38.000Z"
},
{
"id": 704,
"name": "Chikum Microfinance bank",
"slug": "chikum-microfinance-bank-ng",
"code": "312",
"longcode": "null",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-07-03T11:21:07.000Z",
"updatedAt": "2023-07-03T11:21:07.000Z"
},
{
"id": 2,
"name": "Citibank Nigeria",
"slug": "citibank-nigeria",
"code": "023",
"longcode": "023150005",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:24:02.000Z"
},
{
"id": 755,
"name": "CITYCODE MORTAGE BANK",
"slug": "citycode-mortage-bank-ng",
"code": "070027",
"longcode": "070027",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:16:39.000Z",
"updatedAt": "2023-12-30T06:16:39.000Z"
},
{
"id": 691,
"name": "Consumer Microfinance Bank",
"slug": "consumer-microfinance-bank-ng",
"code": "50910",
"longcode": "50910",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-28T06:18:02.000Z",
"updatedAt": "2023-03-28T06:18:02.000Z"
},
{
"id": 283,
"name": "Corestep MFB",
"slug": "corestep-mfb",
"code": "50204",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-02-09T14:33:06.000Z",
"updatedAt": "2022-02-09T14:33:06.000Z"
},
{
"id": 173,
"name": "Coronation Merchant Bank",
"slug": "coronation-merchant-bank-ng",
"code": "559",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-11-24T10:25:07.000Z",
"updatedAt": "2023-05-04T06:49:08.000Z"
},
{
"id": 694,
"name": "County Finance Limited",
"slug": "county-finance-limited",
"code": "FC40128",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-04-26T14:24:23.000Z",
"updatedAt": "2023-04-26T14:24:23.000Z"
},
{
"id": 366,
"name": "Crescent MFB",
"slug": "crescent-mfb",
"code": "51297",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-07-18T12:39:03.000Z",
"updatedAt": "2022-07-18T12:39:03.000Z"
},
{
"id": 634,
"name": "Crust Microfinance Bank",
"slug": "crust-microfinance-bank-ng",
"code": "090560",
"longcode": "",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-22T09:14:25.000Z",
"updatedAt": "2023-12-12T15:46:28.000Z"
},
{
"id": 738,
"name": "Davenport MICROFINANCE BANK",
"slug": "davenport-microfinance-bank-ng",
"code": "51334",
"longcode": "51334",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-11-20T13:30:56.000Z",
"updatedAt": "2023-11-20T13:30:56.000Z"
},
{
"id": 637,
"name": "Dot Microfinance Bank",
"slug": "dot-microfinance-bank-ng",
"code": "50162",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-11-03T14:39:09.000Z",
"updatedAt": "2022-11-03T14:39:09.000Z"
},
{
"id": 4,
"name": "Ecobank Nigeria",
"slug": "ecobank-nigeria",
"code": "050",
"longcode": "050150010",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:23:53.000Z"
},
{
"id": 628,
"name": "Ekimogun MFB",
"slug": "ekimogun-mfb-ng",
"code": "50263",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-08-31T08:26:39.000Z",
"updatedAt": "2022-08-31T08:26:39.000Z"
},
{
"id": 64,
"name": "Ekondo Microfinance Bank",
"slug": "ekondo-microfinance-bank-ng",
"code": "098",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2018-09-23T05:55:06.000Z",
"updatedAt": "2022-09-21T15:09:51.000Z"
},
{
"id": 761,
"name": "EXCEL FINANCE BANK",
"slug": "excel-finance-bank-ng",
"code": "090678",
"longcode": "090678",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:19:49.000Z",
"updatedAt": "2023-12-30T06:19:49.000Z"
},
{
"id": 167,
"name": "Eyowo",
"slug": "eyowo",
"code": "50126",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-09-07T13:52:22.000Z",
"updatedAt": "2020-11-24T10:03:21.000Z"
},
{
"id": 677,
"name": "Fairmoney Microfinance Bank",
"slug": "fairmoney-microfinance-bank-ng",
"code": "51318",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-11-15T12:33:47.000Z",
"updatedAt": "2022-11-15T12:37:44.000Z"
},
{
"id": 767,
"name": "Fedeth MFB",
"slug": "fedeth-mfb-ng",
"code": "50298",
"longcode": "090482",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-01-04T14:09:56.000Z",
"updatedAt": "2024-01-04T14:09:56.000Z"
},
{
"id": 6,
"name": "Fidelity Bank",
"slug": "fidelity-bank",
"code": "070",
"longcode": "070150003",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2021-08-27T09:15:29.000Z"
},
{
"id": 177,
"name": "Firmus MFB",
"slug": "firmus-mfb",
"code": "51314",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-06-01T15:33:26.000Z",
"updatedAt": "2021-06-01T15:33:26.000Z"
},
{
"id": 7,
"name": "First Bank of Nigeria",
"slug": "first-bank-of-nigeria",
"code": "011",
"longcode": "011151003",
"gateway": "ibank",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2021-03-25T14:22:52.000Z"
},
{
"id": 8,
"name": "First City Monument Bank",
"slug": "first-city-monument-bank",
"code": "214",
"longcode": "214150018",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T08:06:46.000Z"
},
{
"id": 757,
"name": "FIRST ROYAL MICROFINANCE BANK",
"slug": "first-royal-microfinance-bank-ng",
"code": "090164",
"longcode": "090164",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:18:48.000Z",
"updatedAt": "2023-12-30T06:18:48.000Z"
},
{
"id": 682,
"name": "FirstTrust Mortgage Bank Nigeria",
"slug": "firsttrust-mortgage-bank-nigeria-ng",
"code": "413",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-02-17T12:12:37.000Z",
"updatedAt": "2023-06-15T16:21:12.000Z"
},
{
"id": 112,
"name": "FSDH Merchant Bank Limited",
"slug": "fsdh-merchant-bank-limited",
"code": "501",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-08-20T09:37:04.000Z",
"updatedAt": "2020-11-24T10:03:22.000Z"
},
{
"id": 716,
"name": "FUTMINNA MICROFINANCE BANK",
"slug": "futminna-microfinance-bank-ng",
"code": "832",
"longcode": "832",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-10-11T13:24:17.000Z",
"updatedAt": "2023-10-11T13:24:17.000Z"
},
{
"id": 794,
"name": "Garun Mallam MFB",
"slug": "garun-mallam-mfb-ng",
"code": "MFB51093",
"longcode": "MFB51093",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-23T09:24:06.000Z",
"updatedAt": "2024-08-23T09:24:06.000Z"
},
{
"id": 287,
"name": "Gateway Mortgage Bank LTD",
"slug": "gateway-mortgage-bank",
"code": "812",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-02-24T06:04:39.000Z",
"updatedAt": "2022-02-24T06:04:39.000Z"
},
{
"id": 70,
"name": "Globus Bank",
"slug": "globus-bank",
"code": "00103",
"longcode": "103015001",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-02-11T15:38:57.000Z",
"updatedAt": "2020-02-11T15:38:57.000Z"
},
{
"id": 769,
"name": "Goldman MFB",
"slug": "goldman-mfb-ng",
"code": "090574",
"longcode": "950356",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-01-12T10:05:20.000Z",
"updatedAt": "2024-01-12T10:05:20.000Z"
},
{
"id": 183,
"name": "GoMoney",
"slug": "gomoney",
"code": "100022",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-08-04T11:49:46.000Z",
"updatedAt": "2021-11-12T13:32:14.000Z"
},
{
"id": 756,
"name": "GOOD SHEPHERD MICROFINANCE BANK",
"slug": "good-shepherd-microfinance-bank-ng",
"code": "090664",
"longcode": "090664",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:16:56.000Z",
"updatedAt": "2023-12-30T06:16:56.000Z"
},
{
"id": 635,
"name": "Goodnews Microfinance Bank",
"slug": "goodnews-microfinance-bank-ng",
"code": "50739",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-29T09:14:18.000Z",
"updatedAt": "2022-10-18T14:59:07.000Z"
},
{
"id": 633,
"name": "Greenwich Merchant Bank",
"slug": "greenwich-merchant-bank-ng",
"code": "562",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-16T15:23:58.000Z",
"updatedAt": "2022-09-16T15:23:58.000Z"
},
{
"id": 789,
"name": "GROOMING MICROFINANCE BANK",
"slug": "grooming-microfinance-bank-ng",
"code": "51276",
"longcode": "51276",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-06T10:52:30.000Z",
"updatedAt": "2024-08-06T10:52:30.000Z"
},
{
"id": 9,
"name": "Guaranty Trust Bank",
"slug": "guaranty-trust-bank",
"code": "058",
"longcode": "058152036",
"gateway": "ibank",
"pay_with_bank": true,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2023-06-22T08:50:47.000Z"
},
{
"id": 111,
"name": "Hackman Microfinance Bank",
"slug": "hackman-microfinance-bank",
"code": "51251",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-08-20T09:32:48.000Z",
"updatedAt": "2020-11-24T10:03:24.000Z"
},
{
"id": 81,
"name": "Hasal Microfinance Bank",
"slug": "hasal-microfinance-bank",
"code": "50383",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-02-11T15:38:57.000Z",
"updatedAt": "2020-02-11T15:38:57.000Z"
},
{
"id": 301,
"name": "HopePSB",
"slug": "hopepsb-ng",
"code": "120002",
"longcode": "120002",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-30T14:03:18.000Z",
"updatedAt": "2022-05-30T14:03:18.000Z"
},
{
"id": 75,
"name": "IBANK Microfinance Bank",
"slug": "IBANK-mfb",
"code": "51211",
"longcode": "090115",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-04-03T09:34:35.000Z",
"updatedAt": "2024-07-22T11:59:33.000Z"
},
{
"id": 168,
"name": "Ibile Microfinance Bank",
"slug": "ibile-mfb",
"code": "51244",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-10-21T10:54:20.000Z",
"updatedAt": "2020-10-21T10:54:33.000Z"
},
{
"id": 615,
"name": "Ikoyi Osun MFB",
"slug": "ikoyi-osun-mfb",
"code": "50439",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-08-10T09:48:24.000Z",
"updatedAt": "2022-08-10T09:48:24.000Z"
},
{
"id": 636,
"name": "Ilaro Poly Microfinance Bank",
"slug": "ilaro-poly-microfinance-bank-ng",
"code": "50442",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-10-12T09:15:26.000Z",
"updatedAt": "2022-10-12T09:15:26.000Z"
},
{
"id": 703,
"name": "Imowo MFB",
"slug": "imowo-mfb-ng",
"code": "50453",
"longcode": "50453",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-06-26T13:50:15.000Z",
"updatedAt": "2023-06-26T13:50:15.000Z"
},
{
"id": 754,
"name": "IMPERIAL HOMES MORTAGE BANK",
"slug": "imperial-homes-mortage-bank-ng",
"code": "415",
"longcode": "100024",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T05:53:07.000Z",
"updatedAt": "2024-02-12T15:49:56.000Z"
},
{
"id": 172,
"name": "Infinity MFB",
"slug": "infinity-mfb",
"code": "50457",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-11-24T10:23:37.000Z",
"updatedAt": "2020-11-24T10:23:37.000Z"
},
{
"id": 787,
"name": "ISUA MFB",
"slug": "isua-mfb-ng",
"code": "090701",
"longcode": "090701",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-07-19T12:38:16.000Z",
"updatedAt": "2024-07-19T12:38:16.000Z"
},
{
"id": 22,
"name": "Jaiz Bank",
"slug": "jaiz-bank",
"code": "301",
"longcode": "301080020",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-10-10T17:26:29.000Z",
"updatedAt": "2016-10-10T17:26:29.000Z"
},
{
"id": 187,
"name": "Kadpoly MFB",
"slug": "kadpoly-mfb",
"code": "50502",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-09-27T11:59:42.000Z",
"updatedAt": "2021-09-27T11:59:42.000Z"
},
{
"id": 768,
"name": "KANOPOLY MFB",
"slug": "kanopoly-mfb-ng",
"code": "51308",
"longcode": "090592",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-01-04T14:20:38.000Z",
"updatedAt": "2024-01-04T14:20:38.000Z"
},
{
"id": 11,
"name": "Keystone Bank",
"slug": "keystone-bank",
"code": "082",
"longcode": "082150017",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:23:45.000Z"
},
{
"id": 784,
"name": "KONGAPAY (Kongapay Technologies Limited)(formerly Zinternet)",
"slug": "kongapay-tech-ltd",
"code": "100025",
"longcode": "100025",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-07-05T13:00:17.000Z",
"updatedAt": "2024-07-05T13:00:17.000Z"
},
{
"id": 184,
"name": "Kredi Money MFB LTD",
"slug": "kredi-money-mfb",
"code": "50200",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-08-11T09:54:03.000Z",
"updatedAt": "2021-08-11T09:54:03.000Z"
},
{
"id": 67,
"name": "Kuda Bank",
"slug": "kuda-bank",
"code": "50211",
"longcode": "",
"gateway": "digitalbankmandate",
"pay_with_bank": true,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2019-11-15T17:06:54.000Z",
"updatedAt": "2023-07-19T11:26:13.000Z"
},
{
"id": 109,
"name": "Lagos Building Investment Company Plc.",
"slug": "lbic-plc",
"code": "90052",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-08-10T15:07:44.000Z",
"updatedAt": "2020-08-10T15:07:44.000Z"
},
{
"id": 180,
"name": "Links MFB",
"slug": "links-mfb",
"code": "50549",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-07-12T14:41:18.000Z",
"updatedAt": "2021-07-12T14:41:18.000Z"
},
{
"id": 296,
"name": "Living Trust Mortgage Bank",
"slug": "living-trust-mortgage-bank",
"code": "031",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-25T10:46:17.000Z",
"updatedAt": "2022-05-25T10:46:17.000Z"
},
{
"id": 753,
"name": "LOMA MFB",
"slug": "loma-mfb-ng",
"code": "50491",
"longcode": "090620",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-11T05:43:27.000Z",
"updatedAt": "2023-12-11T05:43:27.000Z"
},
{
"id": 233,
"name": "Lotus Bank",
"slug": "lotus-bank",
"code": "303",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-12-06T14:39:51.000Z",
"updatedAt": "2021-12-06T14:39:51.000Z"
},
{
"id": 764,
"name": "MAINSTREET MICROFINANCE BANK",
"slug": "mainstreet-microfinance-bank-ng",
"code": "090171",
"longcode": "090171",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:20:20.000Z",
"updatedAt": "2023-12-30T06:20:20.000Z"
},
{
"id": 175,
"name": "Mayfair MFB",
"slug": "mayfair-mfb",
"code": "50563",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-02-02T08:28:38.000Z",
"updatedAt": "2021-02-02T08:28:38.000Z"
},
{
"id": 178,
"name": "Mint MFB",
"slug": "mint-mfb",
"code": "50304",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-06-01T16:07:29.000Z",
"updatedAt": "2021-06-01T16:07:29.000Z"
},
{
"id": 714,
"name": "Money Master PSB",
"slug": "money-master-psb-ng",
"code": "946",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-09-08T14:47:32.000Z",
"updatedAt": "2023-09-14T12:56:51.000Z"
},
{
"id": 688,
"name": "Moniepoint MFB",
"slug": "moniepoint-mfb-ng",
"code": "50515",
"longcode": "null",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-20T12:53:58.000Z",
"updatedAt": "2023-03-20T12:53:58.000Z"
},
{
"id": 303,
"name": "MTN Momo PSB",
"slug": "mtn-momo-psb-ng",
"code": "120003",
"longcode": "120003",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-31T06:52:07.000Z",
"updatedAt": "2022-06-23T09:33:55.000Z"
},
{
"id": 739,
"name": "MUTUAL BENEFITS MICROFINANCE BANK",
"slug": "mutual-benefits-microfinance-bank-ng",
"code": "090190",
"longcode": "090190",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-11-21T07:41:39.000Z",
"updatedAt": "2023-11-21T07:41:39.000Z"
},
{
"id": 758,
"name": "NDCC MICROFINANCE BANK",
"slug": "ndcc-microfinance-bank-ng",
"code": "090679",
"longcode": "090679",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:19:06.000Z",
"updatedAt": "2023-12-30T06:19:06.000Z"
},
{
"id": 776,
"name": "NET MICROFINANCE BANK",
"slug": "net-microfinance-bank-ng",
"code": "51361",
"longcode": "51361",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-04-12T09:27:39.000Z",
"updatedAt": "2024-04-12T09:27:39.000Z"
},
{
"id": 774,
"name": "Nigerian Navy Microfinance Bank Limited",
"slug": "nigerian-navy-microfinance-bank-limited-ng",
"code": "51142",
"longcode": "090263",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-03-19T14:47:56.000Z",
"updatedAt": "2024-03-19T14:47:56.000Z"
},
{
"id": 801,
"name": "NOVA BANK",
"slug": "nova-bank-ng",
"code": "561",
"longcode": "060003",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-10-15T08:02:08.000Z",
"updatedAt": "2024-10-17T08:31:26.000Z"
},
{
"id": 715,
"name": "NPF MICROFINANCE BANK",
"slug": "npf-microfinance-bank-ng",
"code": "50629",
"longcode": "50629",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-09-12T11:57:02.000Z",
"updatedAt": "2023-09-12T19:24:09.000Z"
},
{
"id": 171,
"name": "OPay Digital Services Limited (OPay)",
"slug": "paycom",
"code": "999992",
"longcode": "",
"gateway": "ibank",
"pay_with_bank": true,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-11-24T10:20:45.000Z",
"updatedAt": "2024-09-19T18:40:42.000Z"
},
{
"id": 699,
"name": "Optimus Bank Limited",
"slug": "optimus-bank-ltd",
"code": "107",
"longcode": "00107",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-05-08T08:03:03.000Z",
"updatedAt": "2023-06-15T16:21:12.000Z"
},
{
"id": 185,
"name": "Paga",
"slug": "paga",
"code": "100002",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-08-31T08:10:00.000Z",
"updatedAt": "2021-08-31T08:10:00.000Z"
},
{
"id": 169,
"name": "PalmPay",
"slug": "palmpay",
"code": "999991",
"longcode": "",
"gateway": "ibank",
"pay_with_bank": true,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-11-24T09:58:37.000Z",
"updatedAt": "2024-10-15T13:00:06.000Z"
},
{
"id": 26,
"name": "Parallex Bank",
"slug": "parallex-bank",
"code": "104",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2017-03-31T13:54:29.000Z",
"updatedAt": "2021-10-29T08:00:19.000Z"
},
{
"id": 110,
"name": "Parkway - ReadyCash",
"slug": "parkway-ready-cash",
"code": "311",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-08-10T15:07:44.000Z",
"updatedAt": "2020-08-10T15:07:44.000Z"
},
{
"id": 763,
"name": "PATHFINDER MICROFINANCE BANK LIMITED",
"slug": "pathfinder-microfinance-bank-limited-ng",
"code": "090680",
"longcode": "090680",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:20:10.000Z",
"updatedAt": "2023-12-30T06:20:10.000Z"
},
{
"id": 629,
"name": "Paystack-Titan",
"slug": "titan-paystack",
"code": "100039",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-02T08:51:15.000Z",
"updatedAt": "2024-03-26T14:31:05.000Z"
},
{
"id": 693,
"name": "Peace Microfinance Bank",
"slug": "peace-microfinance-bank-ng",
"code": "50743",
"longcode": "50743",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-04-12T16:51:04.000Z",
"updatedAt": "2023-04-12T16:51:04.000Z"
},
{
"id": 775,
"name": "PECANTRUST MICROFINANCE BANK LIMITED",
"slug": "pecantrust-microfinance-bank-limited-ng",
"code": "51226",
"longcode": "51226",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-04-05T10:24:20.000Z",
"updatedAt": "2024-04-05T10:24:20.000Z"
},
{
"id": 683,
"name": "Personal Trust MFB",
"slug": "personal-trust-mfb-ng",
"code": "51146",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-02-17T12:13:28.000Z",
"updatedAt": "2023-02-17T12:13:28.000Z"
},
{
"id": 170,
"name": "Petra Mircofinance Bank Plc",
"slug": "petra-microfinance-bank-plc",
"code": "50746",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-11-24T10:03:06.000Z",
"updatedAt": "2020-11-24T10:03:06.000Z"
},
{
"id": 762,
"name": "PFI FINANCE COMPANY LIMITED",
"slug": "pfi-finance-company-limited-ng",
"code": "050021",
"longcode": "050021",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:20:00.000Z",
"updatedAt": "2023-12-30T06:20:00.000Z"
},
{
"id": 705,
"name": "Platinum Mortgage Bank",
"slug": "platinum-mortgage-bank-ng",
"code": "268",
"longcode": "null",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-07-03T11:21:22.000Z",
"updatedAt": "2023-07-03T11:21:22.000Z"
},
{
"id": 770,
"name": "Pocket App",
"slug": "pocket",
"code": "00716",
"longcode": "00716",
"gateway": "digitalbankmandate",
"pay_with_bank": true,
"supports_transfer": false,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-01-18T16:56:20.000Z",
"updatedAt": "2024-10-02T07:43:34.000Z"
},
{
"id": 13,
"name": "Polaris Bank",
"slug": "polaris-bank",
"code": "076",
"longcode": "076151006",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2016-07-14T10:04:29.000Z"
},
{
"id": 626,
"name": "Polyunwana MFB",
"slug": "polyunwana-mfb-ng",
"code": "50864",
"longcode": "null",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-08-17T17:27:23.000Z",
"updatedAt": "2022-08-17T17:27:23.000Z"
},
{
"id": 304,
"name": "PremiumTrust Bank",
"slug": "premiumtrust-bank-ng",
"code": "105",
"longcode": "000031",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-06-01T14:16:02.000Z",
"updatedAt": "2022-08-17T08:13:08.000Z"
},
{
"id": 792,
"name": "Prospa Capital Microfinance Bank",
"slug": "prospa-capital-microfinance-bank-ng",
"code": "50739",
"longcode": "50739",
"gateway": "null",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-13T08:14:03.000Z",
"updatedAt": "2024-08-13T08:14:03.000Z"
},
{
"id": 760,
"name": "PROSPERIS FINANCE LIMITED",
"slug": "prosperis-finance-limited-ng",
"code": "050023",
"longcode": "050023",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:19:33.000Z",
"updatedAt": "2023-12-30T06:19:33.000Z"
},
{
"id": 25,
"name": "Providus Bank",
"slug": "providus-bank",
"code": "101",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2017-03-27T16:09:29.000Z",
"updatedAt": "2021-02-09T17:50:06.000Z"
},
{
"id": 232,
"name": "QuickFund MFB",
"slug": "quickfund-mfb",
"code": "51293",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-10-29T08:43:35.000Z",
"updatedAt": "2021-10-29T08:43:35.000Z"
},
{
"id": 176,
"name": "Rand Merchant Bank",
"slug": "rand-merchant-bank",
"code": "502",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-02-11T17:33:20.000Z",
"updatedAt": "2021-02-11T17:33:20.000Z"
},
{
"id": 766,
"name": "RANDALPHA MICROFINANCE BANK",
"slug": "randalpha-microfinance-bank-ng",
"code": "090496",
"longcode": "090496",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:20:40.000Z",
"updatedAt": "2023-12-30T06:20:40.000Z"
},
{
"id": 295,
"name": "Refuge Mortgage Bank",
"slug": "refuge-mortgage-bank",
"code": "90067",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-05-25T10:46:17.000Z",
"updatedAt": "2022-05-25T10:46:17.000Z"
},
{
"id": 773,
"name": "REHOBOTH MICROFINANCE BANK",
"slug": "rehoboth-microfinance-bank-ng",
"code": "50761",
"longcode": "090463",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-02-02T08:58:01.000Z",
"updatedAt": "2024-02-02T08:58:01.000Z"
},
{
"id": 710,
"name": "Rephidim Microfinance Bank",
"slug": "rephidim",
"code": "50994",
"longcode": "221151615",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-08-21T08:22:46.000Z",
"updatedAt": "2023-08-21T08:22:46.000Z"
},
{
"id": 700,
"name": "Rigo Microfinance Bank Limited",
"slug": "rigo-microfinance-bank-limited-ng",
"code": "51286",
"longcode": "51286",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-05-26T14:45:26.000Z",
"updatedAt": "2023-05-26T14:45:26.000Z"
},
{
"id": 679,
"name": "ROCKSHIELD MICROFINANCE BANK",
"slug": "rockshield-microfinance-bank-ng",
"code": "50767",
"longcode": "",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-12-20T13:41:50.000Z",
"updatedAt": "2022-12-20T14:27:14.000Z"
},
{
"id": 69,
"name": "Rubies MFB",
"slug": "rubies-mfb",
"code": "125",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-01-25T09:49:59.000Z",
"updatedAt": "2020-01-25T09:49:59.000Z"
},
{
"id": 286,
"name": "Safe Haven MFB",
"slug": "safe-haven-mfb-ng",
"code": "51113",
"longcode": "51113",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-02-18T13:11:59.000Z",
"updatedAt": "2022-02-18T13:11:59.000Z"
},
{
"id": 609,
"name": "Safe Haven Microfinance Bank Limited",
"slug": "safe-haven-microfinance-bank-limited-ng",
"code": "951113",
"longcode": "",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-07-28T14:22:56.000Z",
"updatedAt": "2022-12-02T10:51:53.000Z"
},
{
"id": 706,
"name": "SAGE GREY FINANCE LIMITED",
"slug": "sage-grey-finance-limited-ng",
"code": "40165",
"longcode": "null",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-07-05T08:27:27.000Z",
"updatedAt": "2023-07-05T08:27:27.000Z"
},
{
"id": 632,
"name": "Shield MFB",
"slug": "shield-mfb-ng",
"code": "50582",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-16T15:16:47.000Z",
"updatedAt": "2022-09-16T15:16:47.000Z"
},
{
"id": 750,
"name": "Signature Bank Ltd",
"slug": "signature-bank-ltd-ng",
"code": "106",
"longcode": "000034",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-06T08:58:35.000Z",
"updatedAt": "2023-12-06T08:58:35.000Z"
},
{
"id": 695,
"name": "Solid Allianze MFB",
"slug": "solid-allianze-mfb",
"code": "51062",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-04-26T15:02:23.000Z",
"updatedAt": "2023-04-26T15:02:23.000Z"
},
{
"id": 365,
"name": "Solid Rock MFB",
"slug": "solid-rock-mfb",
"code": "50800",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-06-27T10:24:28.000Z",
"updatedAt": "2022-06-27T10:24:28.000Z"
},
{
"id": 72,
"name": "Sparkle Microfinance Bank",
"slug": "sparkle-microfinance-bank",
"code": "51310",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-02-11T18:43:14.000Z",
"updatedAt": "2020-02-11T18:43:14.000Z"
},
{
"id": 14,
"name": "Stanbic IBTC Bank",
"slug": "stanbic-ibtc-bank",
"code": "221",
"longcode": "221159522",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:24:17.000Z"
},
{
"id": 15,
"name": "Standard Chartered Bank",
"slug": "standard-chartered-bank",
"code": "068",
"longcode": "068150015",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:23:40.000Z"
},
{
"id": 765,
"name": "STANFORD MICROFINANCE BANK",
"slug": "stanford-microfinance-bank-ng",
"code": "090162",
"longcode": "090162",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-12-30T06:20:30.000Z",
"updatedAt": "2023-12-30T06:20:30.000Z"
},
{
"id": 779,
"name": "STATESIDE MICROFINANCE BANK",
"slug": "stateside-microfinance-bank-ng",
"code": "50809",
"longcode": "50809",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-05-21T10:21:20.000Z",
"updatedAt": "2024-05-21T10:21:20.000Z"
},
{
"id": 285,
"name": "Stellas MFB",
"slug": "stellas-mfb",
"code": "51253",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-02-17T14:54:01.000Z",
"updatedAt": "2022-02-17T14:54:01.000Z"
},
{
"id": 16,
"name": "Sterling Bank",
"slug": "sterling-bank",
"code": "232",
"longcode": "232150016",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2022-05-27T08:56:01.000Z"
},
{
"id": 23,
"name": "Suntrust Bank",
"slug": "suntrust-bank",
"code": "100",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-10-10T17:26:29.000Z",
"updatedAt": "2016-10-10T17:26:29.000Z"
},
{
"id": 631,
"name": "Supreme MFB",
"slug": "supreme-mfb-ng",
"code": "50968",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-16T15:16:29.000Z",
"updatedAt": "2022-09-16T15:16:29.000Z"
},
{
"id": 68,
"name": "TAJ Bank",
"slug": "taj-bank",
"code": "302",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-01-20T11:20:32.000Z",
"updatedAt": "2020-01-20T11:20:32.000Z"
},
{
"id": 186,
"name": "Tangerine Money",
"slug": "tangerine-money",
"code": "51269",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2021-09-17T13:25:16.000Z",
"updatedAt": "2021-09-17T13:25:16.000Z"
},
{
"id": 790,
"name": "The Alternative bank",
"slug": "the-alternative-bank-ng",
"code": "000304",
"longcode": "000304",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-08-06T12:31:06.000Z",
"updatedAt": "2024-08-06T12:31:06.000Z"
},
{
"id": 73,
"name": "Titan Bank",
"slug": "titan-bank",
"code": "102",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-03-10T11:41:36.000Z",
"updatedAt": "2020-03-23T15:06:29.000Z"
},
{
"id": 788,
"name": "TransPay MFB",
"slug": "transpay-mfb-ng",
"code": "090708",
"longcode": "090708",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-07-19T12:38:48.000Z",
"updatedAt": "2024-07-19T12:38:48.000Z"
},
{
"id": 690,
"name": "U&C Microfinance Bank Ltd (U AND C MFB)",
"slug": "uc-microfinance-bank-ltd-u-and-c-mfb-ng",
"code": "50840",
"longcode": "50840",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-03-27T16:55:53.000Z",
"updatedAt": "2023-03-27T16:55:53.000Z"
},
{
"id": 786,
"name": "UCEE MFB",
"slug": "ucee-mfb-ng",
"code": "090706",
"longcode": "090706",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-07-19T12:37:46.000Z",
"updatedAt": "2024-07-19T12:37:46.000Z"
},
{
"id": 630,
"name": "Uhuru MFB",
"slug": "uhuru-mfb-ng",
"code": "51322",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-09-14T12:58:20.000Z",
"updatedAt": "2023-09-05T17:23:38.000Z"
},
{
"id": 678,
"name": "Unaab Microfinance Bank Limited",
"slug": "unaab-microfinance-bank-limited-ng",
"code": "50870",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-11-24T13:47:10.000Z",
"updatedAt": "2022-11-24T13:49:16.000Z"
},
{
"id": 282,
"name": "Unical MFB",
"slug": "unical-mfb",
"code": "50871",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-01-10T09:52:47.000Z",
"updatedAt": "2022-01-10T09:52:47.000Z"
},
{
"id": 638,
"name": "Unilag Microfinance Bank",
"slug": "unilag-microfinance-bank-ng",
"code": "51316",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2022-11-07T07:41:50.000Z",
"updatedAt": "2022-11-07T07:41:50.000Z"
},
{
"id": 17,
"name": "Union Bank of Nigeria",
"slug": "union-bank-of-nigeria",
"code": "032",
"longcode": "032080474",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2020-02-18T20:22:54.000Z"
},
{
"id": 18,
"name": "United Bank For Africa",
"slug": "united-bank-for-africa",
"code": "033",
"longcode": "033153513",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2022-03-09T10:28:57.000Z"
},
{
"id": 19,
"name": "Unity Bank",
"slug": "unity-bank",
"code": "215",
"longcode": "215154097",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2019-07-22T12:44:02.000Z"
},
{
"id": 737,
"name": "Uzondu Microfinance Bank Awka Anambra State",
"slug": "uzondu-microfinance-bank-awka-anambra-state-ng",
"code": "50894",
"longcode": "50894",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-10-31T13:19:39.000Z",
"updatedAt": "2023-10-31T13:19:39.000Z"
},
{
"id": 725,
"name": "Vale Finance Limited",
"slug": "vale-finance",
"code": "050020",
"longcode": "",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-10-26T14:23:46.000Z",
"updatedAt": "2023-10-26T14:23:46.000Z"
},
{
"id": 71,
"name": "VFD Microfinance Bank Limited",
"slug": "vfd",
"code": "566",
"longcode": "",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2020-02-11T15:44:11.000Z",
"updatedAt": "2020-10-28T09:42:08.000Z"
},
{
"id": 701,
"name": "Waya Microfinance Bank",
"slug": "waya-microfinance-bank-ng",
"code": "51355",
"longcode": "51355",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2023-05-31T15:50:49.000Z",
"updatedAt": "2023-05-31T15:50:49.000Z"
},
{
"id": 20,
"name": "Wema Bank",
"slug": "wema-bank",
"code": "035",
"longcode": "035150103",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2021-02-09T17:49:59.000Z"
},
{
"id": 797,
"name": "Yes MFB",
"slug": "yes-mfb-ng",
"code": "594",
"longcode": "090142",
"gateway": "",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2024-09-11T14:31:38.000Z",
"updatedAt": "2024-09-11T14:31:38.000Z"
},
{
"id": 21,
"name": "Zenith Bank",
"slug": "zenith-bank",
"code": "057",
"longcode": "057150013",
"gateway": "emandate",
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "NGN",
"type": "nuban",
"is_deleted": false,
"createdAt": "2016-07-14T10:04:29.000Z",
"updatedAt": "2023-09-26T17:09:43.000Z"
},
{
"id": 65,
"name": "Zenith Bank",
"slug": "zenith-bank-usd",
"code": "057",
"longcode": "057150013",
"gateway": null,
"pay_with_bank": false,
"supports_transfer": true,
"active": true,
"country": "Nigeria",
"currency": "USD",
"type": "nuban",
"is_deleted": false,
"createdAt": null,
"updatedAt": "2023-09-26T17:09:43.000Z"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Retrieve Account Name
This endpoint is aimed at retrieving bank account name using the bank code and account number
Example request:
curl --request POST \
"http://o2.local/api/payment-gateways/paystack/bank/account-name" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"bankCode\": \"801\",
\"accountNumber\": \"0137076854\"
}"
const url = new URL(
"http://o2.local/api/payment-gateways/paystack/bank/account-name"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"bankCode": "801",
"accountNumber": "0137076854"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"status": true,
"message": "Account Number Resolved",
"data": {
"account_number": "0137076854",
"account_name": "AIKORE ENGEL AGBEBAKU",
"bank_id": 9
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Verify Payment
This endpoint is used for checking the payment status of payment processed through paystack gateway
Example request:
curl --request GET \
--get "http://o2.local/api/payment-gateways/paystack/verify/AF100007" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/payment-gateways/paystack/verify/AF100007"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (201):
{
"status": true,
"message": "Payment was successful"
}
Example response (422):
{
"status": false,
"message": "Payment failed"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Approve transfer
This endpoint is used for approving transfer request via http request instead of the regular otp
Example request:
curl --request POST \
"http://o2.local/api/payment-gateways/paystack/approve-transfer" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/payment-gateways/paystack/approve-transfer"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Property
List
Get active properties listing by company
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/properties?filter%5Btype%5D=building&filter%5Bcountry%5D=Nigeria&filter%5Bstate%5D=Abuja&filter%5Bcity%5D=Wuse&filter%5Bcost%5D%5Bmin%5D=50000&filter%5Bcost%5D%5Bmax%5D=50000000&filter%5Bsearch%5D=bungalow" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/properties"
);
const params = {
"filter[type]": "building",
"filter[country]": "Nigeria",
"filter[state]": "Abuja",
"filter[city]": "Wuse",
"filter[cost][min]": "50000",
"filter[cost][max]": "50000000",
"filter[search]": "bungalow",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"propertyId": 1,
"propertyType": "building",
"propertyTitle": "Newly built bungalow at Wuse",
"propertySummary": "Property description ...",
"propertyCountry": "Nigeria",
"propertyState": "Abuja",
"propertyCity": "Wuse",
"propertyListingType": "sale",
"propertyCost": "₦50000",
"propertyThumbnail": "http://o2.local/assets/images/properties/placeholder.png"
},
{
"propertyId": 2,
"propertyType": "land",
"propertyTitle": "50x100m plot of land for sale at Wuse south",
"propertySummary": "Property description ...",
"propertyCountry": "Nigeria",
"propertyState": "Abuja",
"propertyCity": "Wuse",
"propertyListingType": "sale",
"propertyCost": "₦50000",
"propertyThumbnail": "http://o2.local/assets/images/properties/placeholder.png"
}
],
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Details
The complete details about a listed property
Example request:
curl --request GET \
--get "http://o2.local/api/v1/user/properties/23/details" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/properties/23/details"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200, building):
{
"data": {
"propertyId": 1,
"propertyType": "building",
"propertyTitle": "Newly built bungalow at Wuse",
"propertyDescription": "Property description ...",
"propertyCountry": "Nigeria",
"propertyState": "Abuja",
"propertyCity": "Wuse",
"propertyListingType": "sale",
"propertyCost": "₦50000",
"propertyLandArea": "50x100m",
"propertyThumbnail": "http://o2.local/assets/images/properties/placeholder.png",
"propertyImages": [
{
"imageId": 1,
"imageUrl": "http://o2.local/assets/images/properties/1/1.png"
},
{
"imageId": 2,
"imageUrl": "http://o2.local/assets/images/properties/1/2.png"
},
{
"imageId": 3,
"imageUrl": "http://o2.local/assets/images/properties/1/3.png"
}
],
"propertyMapLocation": "",
"numberOfBedrooms": 5,
"numberOfBathRooms": 5,
"amenities": "Swimming pool, elevator, parkinglot",
"built": 2024,
"condition": "new",
"furnished": "no"
},
"message": "Success",
"status": true
}
Example response (200, land):
{
"data": {
"propertyId": 1,
"propertyType": "land",
"propertyTitle": "50x100m plot of land for sale at Wuse south",
"propertyDescription": "Property description ...",
"propertyCountry": "Nigeria",
"propertyState": "Abuja",
"propertyCity": "Wuse",
"propertyListingType": "sale",
"propertyCost": "₦50000",
"propertyLandArea": "50x100m",
"propertyThumbnail": "http://o2.local/assets/images/properties/placeholder.png",
"propertyImages": [
{
"imageId": 1,
"imageUrl": "http://o2.local/assets/images/properties/1/1.png"
},
{
"imageId": 2,
"imageUrl": "http://o2.local/assets/images/properties/1/2.png"
},
{
"imageId": 3,
"imageUrl": "http://o2.local/assets/images/properties/1/3.png"
}
],
"propertyMapLocation": "",
"use": "residential",
"topography": "flat"
},
"message": "Success",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Interested
This endpoint is used for saving users' interest on company's property listing
Example request:
curl --request POST \
"http://o2.local/api/v1/user/properties/24/interested" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/v1/user/properties/24/interested"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (201):
{
"data": {},
"message": "Your interest on this property has been received. A representative will be intouch shortly.",
"status": true
}
Example response (404):
{
"data": {},
"message": "Record(s) not found!",
"status": false
}
Example response (500):
{
"data": {},
"message": "Internal Server Error!",
"status": false
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Version
Info
Get the current app version attributes
Example request:
curl --request GET \
--get "http://o2.local/api/version" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://o2.local/api/version"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"appVersion": {
"id": 31,
"buildNumber": 40,
"displayReminder": 1,
"isEnforced": 1,
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register
This endpoint is used for registering app version
Example request:
curl --request POST \
"http://o2.local/api/version/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"buildNumber\": \"nihil\",
\"displayReminder\": \"1\",
\"isEnforced\": \"1\",
\"password\": \"quibusdam\"
}"
const url = new URL(
"http://o2.local/api/version/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"buildNumber": "nihil",
"displayReminder": "1",
"isEnforced": "1",
"password": "quibusdam"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.