npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sabi-customer

v1.0.1

Published

A Know Your Customer (KYC) Node Js Package for Africa to verify business's customer identity using SMILE IDENTITY, APPRUVE and CREDEQUITY KYC services.

Downloads

4

Readme

Sabi Customer

npm version GitHub license Build Status Scrutinizer Code Quality GitHub issues

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

License

The MIT License (MIT). Please see License File for more information.