Sabi Customer
Description
A Know Your Customer (KYC) Node Js Package to verify business's customer identity using SMILE IDENTITY, APPRUVE and CREDEQUITY KYC services. This service currently support countries like Nigeria(NG), Ghana(GH), Kenya(KE), Uganda(UG).
Installation
Node 13 + required.
To get the latest version of Sabi Customer, simply install it
npm install sabi-customer
Configuration
Once Sabi-Customer is installed, you will need to add the following credentials gotten from the different KYC service providers to your .env
. Click on their names it will redirect you to their websites where you can sign up and get there API KEYs.
If you are using a hosting service like heroku, ensure to add the above details to your configuration variables.
SMILE_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
SMILE_PARTNER_ID = xxxx;
APPRUVE_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
CREDEQUITY_API_URL = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
Usage
const SabiCustomer = require("sabi-customer");
const sabiCustomer = new SabiCustomer();
Supported Handlers:
SMILE, APPRUVE, CREDEQUITY;
If you want a specific handler to handle your request you can pass a second argument to the verifyID() method as shown below, else ignore it and it will pass through sabi-customer's pipeline and return the result and the pipe that handled it
Note all data used here are dummy data, to get test data you can visit the individual KYC service provider's websites and get data to test
The implementation is Asynchronous make sure you use async function
const response = await sabiCustomer.verifyID(payload, "SMILE");
console.log(response);
For Nigeria (NG)
APPRUVE SERVICE
ID Verification
Supported ID Types Values:
NIN, BVN, DRIVERS_LICENSE, PASSPORT, TIN, VOTER_CARD;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "NG",
first_name: "Michael",
last_name: "Olugbenga",
middle_name: "Peter",
date_of_birth: "1982-05-20",
};
const response = await sabiCustomer.verifyID(payload);
SMILE IDENTITY SERVICE
ID Verification
Supported ID Types Values:
NIN_SLIP, BVN, DRIVERS_LICENSE, CAC, TIN, VOTER_ID;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "NG",
first_name: "Michael",
last_name: "Olugbenga",
user_id: "USER_UNIQUE_ID",
company: "COMPANY_NAME", //Include this for CAC
};
const response = await sabiCustomer.verifyID(payload);
CREDEQUITY SERVICE
ID Verification
Supported ID Types Values:
NIN, BVN, DRIVERS_LICENSE;
const payload = {
id: "00000000000",
id_type: "ID_TYPE",
first_name: "KAYODE",
last_name: "BABATUNDE",
date_of_birth: "24-11-1975",
phone_number: "1234567890",
};
const response = await sabiCustomer.verifyID(payload);
For Ghana (GH)
SMILE IDENTITY SERVICE
ID Verification
Supported ID Types Values:
SSNIT, VOTER_ID, DRIVERS_LICENSE;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "GH",
first_name: "Michael",
last_name: "Olugbenga",
user_id: "USER_UNIQUE_ID",
};
const response = await sabiCustomer.verifyID(payload);
APPRUVE SERVICE
ID Verification
Supported ID Types Values:
SSNIT, TIN, DRIVERS_LICENSE, PASSPORT, VOTER_CARD;
const payload = {
id: "48126406145", //For TIN change this to tin
id_type: "ID_TYPE_VALUE",
country: "GH",
first_name: "Michael",
last_name: "Olugbenga",
date_of_birth: "24-11-1975",
};
const response = await sabiCustomer.verifyID(payload);
For Kenya (KE)
SMILE IDENTITY SERVICE
ID Verification
Supported ID Types Values:
ALIEN_CARD, NATIONAL_ID, PASSPORT;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "KE",
first_name: "Michael",
last_name: "Olugbenga",
user_id: "USER_UNIQUE_ID",
};
const response = await sabiCustomer.verifyID(payload);
APPRUVE SERVICE
ID Verification
Supported ID Types Values:
NATIONAL_ID, KRA, PASSPORT;
const payload = {
id: "48126406145", //For KRA Change this to pin
id_type: "ID_TYPE_VALUE",
country: "KE",
first_name: "Michael",
last_name: "Olugbenga",
date_of_birth: "24-11-1975",
};
const response = await sabiCustomer.verifyID(payload);
Credequity not supported for Kenya
For South Africa (ZA)
SMILE IDENTITY SERVICE
ID Verification
Supported ID Types Values:
NATIONAL_ID, NATIONAL_ID_NO_PHOTO;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "ZA",
first_name: "Michael",
last_name: "Olugbenga",
user_id: "USER_UNIQUE_ID",
};
const response = await sabiCustomer.verifyID(payload);
Credequity and Appruve not supported for South Africa
For Uganda (UG)
APPRUVE SERVICE
ID Verification
Supported ID Types Values:
TELCO_SUBSCRIBER;
const payload = {
id: "48126406145",
id_type: "ID_TYPE_VALUE",
country: "UG",
phone: "+256000000003",
};
const response = await sabiCustomer.verifyID(payload);
Credequity and Smile not supported for Uganda
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email abrahamudele@gmail instead of using the issue tracker.
Credits
-
Abraham Udele
Find me on
Twitter.
Linkedin.
License
The MIT License (MIT). Please see License File for more information.