MENU navbar-image

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
}
 

Request      

POST api/auth/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

first_name   string   

The first name of the user. Example: Aiken

last_name   string   

The last name of the user. Example: Geln

email_address   string   

The email address of the user being authenticated. Example: johndoe@example.com

phone_number   string   

The phone number of the user. Example: 08100123000

date_of_birth   date   

The user's date of birth. Example: 1989-01-27

bank_verification_number   integer   

The user BVN. Example: 29201193888

referral_code   string  optional  

The referral code. Example: JKRCIYQ-1

terms_and_conditions   boolean   

The user must accept the company's term and condition of service before they can proceed.

password   string   

Login password. Example: password

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
}
 

Request      

PATCH api/auth/{user_id}/verify

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

type   string   

The type of otp being verified for allowed [both, email, phone]. Example: both

otp   string   

The one-time-password received. Example: 1234

device_name   string   

The name of platform. Example: postman

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());

Request      

POST api/auth/{user_id}/resend-otp

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

otp_use   string   

The use of the OTP being sent allowed: ['signup', 'password reset']. Example: signup

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
}
 

Request      

POST api/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

device_name   string   

The device name use is used for tracking api usage by users across platforms. Example: Android

email   string   

The email address of the user being authenticated. Example: johndoe@example.com

password   string   

Login password. Example: password

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());

Request      

POST api/auth/password/reset-request

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email_or_phone   string   

We will use either the user email address or password to send make request allowed [email, phone]. Example: johndoe@example.com

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());

Request      

PATCH api/auth/password/reset

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

email_or_phone   string   

We will use either the user email address or password for verification allowed: [email, phone]. Example: johndoe@example.com

otp   integer   

The One Time Password received for authorization. Example: 1234

password   string   

User's new password. Example: password

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());

Request      

DELETE api/auth/account/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string   

User password. Example: password

email   string   

User email address. Example: johndoe@example.com

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
}
 

Request      

PATCH api/auth/{userId}/set-fcm-token

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

userId   integer   

The logged-in user ID. Example: 24

Body Parameters

fcmToken   string   

The unique generated token for user Example: URELKDFUYEWSDGCZJKJKOIUYTWQSDFGHVGGRS432VHU668D

userType   string  optional  

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
}
 

Request      

GET api/auth/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/bills/categories

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/bills/airtime/providers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/bills/airtime/{provider_id}/buy

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The selected service provider. Example: mtn

Body Parameters

amount   integer   

The amount of airtime being purchased. Example: 100

phoneNumber   required  optional  

The phone number to credit for this purchase. Example: 08011111111

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
}
 

Request      

GET api/v1/user/bills/cable/providers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/bills/cable/{provider_id}/variations

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: dstv

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
}
 

Request      

POST api/v1/user/bills/cable/{provider_id}/card-details

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: dstv

Body Parameters

smartcardNumber   string   

Example: distinctio

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
}
 

Request      

POST api/v1/user/bills/cable/{provider_id}/buy/{variation_code}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: dstv

variation_code   string   

The service provider product variation code. Example: dstv48

Body Parameters

smartcardNumber   integer   

The IUC/SMARTCARD number. Example: 1212121212

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
}
 

Request      

GET api/v1/user/bills/data/providers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/bills/data/{provider_id}/variations

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: mtn-data

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
}
 

Request      

POST api/v1/user/bills/data/{provider_id}/biller-details

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The ID of the provider. Example: vero

Body Parameters

recipientAccount   string   

The Account number. Example: 1234567890

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
}
 

Request      

POST api/v1/user/bills/data/{provider_id}/buy/{variation_code}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: mtn-data

variation_code   string   

The service provider product variation code. Example: mtn-40gb-10000

Body Parameters

recipientAccount   integer   

The phone number. Example: 8011111111

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
}
 

Request      

GET api/v1/user/bills/electricity/providers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/bills/electricity/{provider_id}/meter-details

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: benin-electric

Body Parameters

meterType   string   

The meter type. Example: prepaid

meterNumber   integer   

The meter number. Example: 1111111111111

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
}
 

Request      

POST api/v1/user/bills/electricity/{provider_id}/buy

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

provider_id   string   

The service provider ID. Example: benin-electric

Body Parameters

amount   integer   

The amount being purchased. Example: 5000

meterType   string   

The meter type. Example: prepaid

meterNumber   integer   

The meter number. Example: 1111111111111

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
}
 

Request      

GET api/v1/user/home/wallets

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/home/wallets/withdraw

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

amount   integer   

The request amount. Example: 50000

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
}
 

Request      

GET api/v1/user/investment

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/investment/summary

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

investmentId   integer   

The investment plan ID. Example: 3

durationId   integer   

The selected investment duration ID. Example: 2

investmentAmount   number   

The amount user is investing. Example: 30000

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
}
 

Request      

POST api/v1/user/investment/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

investmentId   integer   

The investment plan ID. Example: 3

durationId   integer   

The selected investment duration ID. Example: 2

investmentAmount   number   

The amount user is investing. Example: 30000

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
}
 

Request      

GET api/v1/user/loan/initialize

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/loan/verify-bvn

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

bankCode   string  optional  

The bank code for payout. Example: 054

accountNumber   integer  optional  

The account number for payout. Example: 123456789

bankVerificationNumber   integer  optional  

The user BVN. Example: 29201193888

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
}
 

Request      

POST api/v1/user/loan/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

planId   integer   

The loan payment plan ID. Example: 1

amount   number   

The requested amount. Example: 50000

purpose   string  optional  

The purpose of loan request. Example: Farming

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
}
 

Request      

GET api/v1/user/loan/active

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/loan/{loan_id}/payment

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

loan_id   string   

The ID of the loan. Example: soluta

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
}
 

Request      

POST api/v1/user/loan/{loan_id}/payment/process

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

loan_id   string   

The ID of the loan. Example: non

Body Parameters

paymentMethod   string   

The selected payment method. Example: card

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
}
 

Request      

GET api/v1/user/loan/{loan_id}/payment/card/{card_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

loan_id   string   

The ID of the loan. Example: officiis

card_id   string   

The ID of the card. Example: ea

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
}
 

Request      

GET api/v1/user/loan/history

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/more/profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

PATCH api/v1/user/more/profile/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

first_name   string   

The user first name Example: Aiken

last_name   string   

The user last name Example: Geln

phone_number   string   

The user phone number Example: 08123456789

avatar   file  optional  

The profile pic of user

_method   required  optional  

Request method. Example: patch

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());

Request      

PATCH api/v1/user/more/profile/password/change

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

oldPassword   string   

User old password Example: deserunt

newPassword   string   

New password Example: officia

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());

Request      

PATCH api/v1/user/more/profile/notification

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string   

The type of profile settings to adjust. Example: push-notification

pushNotification   boolean  optional  

This field is required if type is push-notification Example: true

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());

Request      

DELETE api/v1/user/more/profile/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string   

The user current password Example: +K;#)N}n%S&&`

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
}
 

Request      

GET api/v1/user/more/profile/dva

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/more/guarantors

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

POST api/v1/user/more/guarantors/create

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

The guarantor name. Example: John Doe

email   string   

The guarantor email address. Example: johndoe@example.com

phone   string   

The guarantor phone number. Example: 08035000000

occupation   string   

The guarantor occupation. Example: Doctor

address   string   

The guarantor full address. Example: 2, lane 51 off Bayaro crescent, Lagos.

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
}
 

Request      

GET api/v1/user/more/guarantors/{guarantor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

guarantor_id   string   

The ID of the guarantor. Example: distinctio

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
}
 

Request      

PATCH api/v1/user/more/guarantors/{guarantor_id}/update

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

guarantor_id   integer   

The guarantor ID. Example: 1

Body Parameters

name   string   

The guarantor name. Example: John Doe

email   string   

The guarantor email address. Example: johndoe@example.com

phone   string   

The guarantor phone number. Example: 08035000000

occupation   string   

The guarantor occupation. Example: Doctor

address   string   

The guarantor full address. Example: 2, lane 51 off Bayaro crescent, Lagos.

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
}
 

Request      

DELETE api/v1/user/more/guarantors/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

guarantor_id   integer   

Example: 13

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
}
 

Request      

GET api/v1/user/more/referral/code

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/more/referral/history

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/more/cards

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/more/cards/add

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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());

Request      

DELETE api/v1/user/more/cards/remove

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

cardId   integer   

The saved card ID to delete. Example: 1

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
}
 

Request      

GET api/v1/user/more/transactions

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filter[month]   integer  optional  

The requested month from 1-12. Example: 1

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
}
 

Request      

GET api/v1/user/notifications

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

DELETE api/v1/user/notifications/clear

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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());

Request      

POST api/payment-gateways/bills/{gateway}/webhook

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

gateway   string   

Example: placeat

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());

Request      

POST api/payment-gateways/paystack/webhook

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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"
        }
    ]
}
 

Request      

GET api/payment-gateways/paystack/banks

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
    }
}
 

Request      

POST api/payment-gateways/paystack/bank/account-name

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

bankCode   string  optional  

The bank code. Example: 801

accountNumber   string  optional  

The bank account number. Example: 0137076854

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"
}
 

Request      

GET api/payment-gateways/paystack/verify/{ref}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ref   string   

The payment reference number retrieved from the server. Example: AF100007

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());

Request      

POST api/payment-gateways/paystack/approve-transfer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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
}
 

Request      

GET api/v1/user/properties

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

filter[type]   string  optional  

Filter by property type. Example: building

filter[country]   string  optional  

Filter by property country. Example: Nigeria

filter[state]   string  optional  

Filter by property state. Example: Abuja

filter[city]   string  optional  

Filter by property city. Example: Wuse

filter[cost][min]   number  optional  

Filter by property minimum cost. Example: 50000

filter[cost][max]   number  optional  

Filter by property maximum cost. Example: 50000000

filter[search]   string  optional  

Search keyword on property title Example: bungalow

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
}
 

Request      

GET api/v1/user/properties/{property_id}/details

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

property_id   integer   

The property ID Example: 23

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
}
 

Request      

POST api/v1/user/properties/{property_id}/interested

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

property_id   integer   

The property ID. Example: 24

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,
     }
 }
 

Request      

GET api/version

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

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());

Request      

POST api/version/register

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

buildNumber   string   

Example: nihil

displayReminder   string   

Example: 1

Must be one of:
  • 0
  • 1
isEnforced   string   

Example: 1

Must be one of:
  • 0
  • 1
password   string   

Example: quibusdam