PHPackages                             bytesfield/simple-kyc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. bytesfield/simple-kyc

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

bytesfield/simple-kyc
=====================

A PHP package for Know Your Customer (KYC)

v1.0.1(4y ago)512MITPHPPHP &gt;=7.4

Since Jun 15Pushed 4y ago2 watchersCompare

[ Source](https://github.com/bytesfield/simple-kyc)[ Packagist](https://packagist.org/packages/bytesfield/simple-kyc)[ RSS](/packages/bytesfield-simple-kyc/feed)WikiDiscussions main Synced 6d ago

READMEChangelog (1)Dependencies (4)Versions (3)Used By (0)

[![Simple-Kyc Preview](/images/simple-kyc.jpg)](/images/simple-kyc.jpg)

Simple KYC
==========

[](#simple-kyc)

[![Latest Stable Version](https://camo.githubusercontent.com/48d9857ebdad7c8519331f9845297f6230f6fc0557489ef716c58e58370c6871/687474703a2f2f706f7365722e707567782e6f72672f62797465736669656c642f73696d706c652d6b79632f76)](https://packagist.org/packages/bytesfield/simple-kyc)[![GitHub license](https://camo.githubusercontent.com/418883fa48507dd1aad8419b7fb078891df149d2d3e5ba67a3cd36d74c0aedff/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f62797465736669656c642f73696d706c652d6b7963)](https://github.com/bytesfield/simple-kyc/blob/main/LICENSE.md)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/67f8cc049ff89995e235ea2ff925a919bfabda819752860dcfc463a3ae581998/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62797465736669656c642f73696d706c652d6b79632f6261646765732f7175616c6974792d73636f72652e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/bytesfield/simple-kyc/?branch=main)[![Build Status](https://camo.githubusercontent.com/76edac5a90300559f4369bdb975c57d871f0fb006112c97acbb03ea5ac1c8e7d/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62797465736669656c642f73696d706c652d6b79632f6261646765732f6275696c642e706e673f623d6d61696e)](https://scrutinizer-ci.com/g/bytesfield/simple-kyc/build-status/main)[![Code Intelligence Status](https://camo.githubusercontent.com/50fb6320ff23837f402dd1e5a7ae7b9cd09491c2a472f654d4dc557d195b9c25/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f62797465736669656c642f73696d706c652d6b79632f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d61696e)](https://scrutinizer-ci.com/code-intelligence)[![GitHub issues](https://camo.githubusercontent.com/62ca7a5f9bb7ff7555308efd198c6884b7f17d176554af369d8f9e1c7420440a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f62797465736669656c642f73696d706c652d6b7963)](https://github.com/bytesfield/simple-kyc/issues)[![Total Downloads](https://camo.githubusercontent.com/331c6d8615dcd548a3f55947a6cbbd8b79174ad41a28246c8957ce88d3c5131f/687474703a2f2f706f7365722e707567782e6f72672f62797465736669656c642f73696d706c652d6b79632f646f776e6c6f616473)](https://packagist.org/packages/bytesfield/simple-kyc)

Description
-----------

[](#description)

A Know Your Customer (KYC) PHP Package to verify business's customer identity using [SMILE IDENTITY](https://docs.smileidentity.com/), [APPRUVE](https://www.appruve.co/) and [CREDEQUITY](https://credequity.com/) KYC services. This service currently support countries like Nigeria(NG), Ghana(GH), Kenya(KE), Uganda(UG).

Installation
------------

[](#installation)

[PHP](https://php.net) 7.4+ and [Composer](https://getcomposer.org) are required.

To get the latest version of Simple-Kyc, simply require it.

```
composer require bytesfield/simple-kyc
```

Or add the following line to the require block of your `composer.json` file.

```
"bytesfield/simple-kyc": "1.0.*"

```

You'll then need to run `composer install` or `composer update` to download it and have the autoloader updated.

Configuration
-------------

[](#configuration)

Once `simple-kyc` 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 IDENTITY](https://docs.smileidentity.com/) *Required*

```
SMILE_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
SMILE_PARTNER_ID = xxxx;
```

- [APPRUVE](https://www.appruve.co/) *Required*

```
APPRUVE_API_KEY = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
```

- [CREDEQUITY](https://credequity.com/) *Optional*

```
CREDEQUITY_API_URL = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;
```

Usage
-----

[](#usage)

```
require 'vendor/autoload.php'; //Exclude this when using Frameworks like Laravel etc.

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$response = $simpleKyc->verifyId($payload = []);
```

###### Supported Handlers:

[](#supported-handlers)

```
SMILE, APPRUVE, CREDEQUITY;
```

*The request will pass through simple-kyc's pipeline and return the result and the pipe that handled the verification request*

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

### For Nigeria (NG)

[](#for-nigeria-ng)

#### APPRUVE SERVICE

[](#appruve-service)

##### ID Verification

[](#id-verification)

###### Supported ID Types Values:

[](#supported-id-types-values)

```
NIN, BVN, DRIVERS_LICENSE, PASSPORT, TIN, VOTER_CARD;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$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',
];

$response = $simpleKyc->verifyId($payload);
```

#### SMILE IDENTITY SERVICE

[](#smile-identity-service)

##### ID Verification

[](#id-verification-1)

Supported ID Types Values:

```
NIN_SLIP, BVN, DRIVERS_LICENSE, CAC, TIN, VOTER_ID;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$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
];

$response = $simpleKyc->verifyId($payload);
```

#### CREDEQUITY SERVICE

[](#credequity-service)

##### ID Verification

[](#id-verification-2)

###### Supported ID Types Values:

[](#supported-id-types-values-1)

```
NIN, BVN, DRIVERS_LICENSE;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '00000000000',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'NG',
    'first_name' => 'KAYODE',
    'last_name' => 'BABATUNDE',
    'date_of_birth' => '24-11-1975',
    'phone_number' => '1234567890',
];

$response = $simpleKyc->verifyId($payload);
```

### For Ghana (GH)

[](#for-ghana-gh)

#### SMILE IDENTITY SERVICE

[](#smile-identity-service-1)

##### ID Verification

[](#id-verification-3)

Supported ID Types Values:

```
SSNIT, VOTER_ID, DRIVERS_LICENSE;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'GH',
    'first_name' => 'Michael',
    'last_name' => 'Olugbenga',
    'user_id' => 'USER_UNIQUE_ID',
];

$response = $simpleKyc->verifyId($payload);
```

#### APPRUVE SERVICE

[](#appruve-service-1)

##### ID Verification

[](#id-verification-4)

Supported ID Types Values:

```
SSNIT, TIN, DRIVERS_LICENSE, PASSPORT, VOTER_CARD;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'GH',
    'first_name' => 'Michael',
    'last_name' => 'Olugbenga',
    'date_of_birth': '24-11-1975',
];

$response = $simpleKyc->verifyId($payload);
```

### For Kenya (KE)

[](#for-kenya-ke)

#### SMILE IDENTITY SERVICE

[](#smile-identity-service-2)

##### ID Verification

[](#id-verification-5)

Supported ID Types Values:

```
ALIEN_CARD, NATIONAL_ID, PASSPORT;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'KE',
    'first_name' => 'Michael',
    'last_name' => 'Olugbenga',
    'user_id' => 'USER_UNIQUE_ID',
];

$response = $simpleKyc->verifyId($payload);
```

#### APPRUVE SERVICE

[](#appruve-service-2)

##### ID Verification

[](#id-verification-6)

Supported ID Types Values:

```
NATIONAL_ID, KRA, PASSPORT;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'KE',
    'first_name' => 'Michael',
    'last_name' => 'Olugbenga',
    'date_of_birth' => "24-11-1975",
];

$response = $simpleKyc->verifyId($payload);
```

*Credequity not supported for Kenya*

### For South Africa (ZA)

[](#for-south-africa-za)

#### SMILE IDENTITY SERVICE

[](#smile-identity-service-3)

##### ID Verification

[](#id-verification-7)

Supported ID Types Values:

```
NATIONAL_ID, NATIONAL_ID_NO_PHOTO;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'ZA',
    'first_name' => 'Michael',
    'last_name' => 'Olugbenga',
    'user_id' => "USER_UNIQUE_ID",
];

$response = $simpleKyc->verifyId($payload);
```

*Credequity and Appruve not supported for South Africa*

### For Uganda (UG)

[](#for-uganda-ug)

#### APPRUVE SERVICE

[](#appruve-service-3)

##### ID Verification

[](#id-verification-8)

Supported ID Types Values:

```
TELCO_SUBSCRIBER;
```

```
require 'vendor/autoload.php';

use Bytesfield\SimpleKyc\SimpleKyc;

$simpleKyc = new SimpleKyc();

$payload = [
    'id' => '48126406145',
    'id_type' => 'ID_TYPE_VALUE',
    'country' => 'UG',
    'phone_number' => '+256000000003',

];

$response = $simpleKyc->verifyId($payload);
```

*Credequity and Smile not supported for Uganda*

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email abrahamudele@gmail instead of using the issue tracker.

Credits
-------

[](#credits)

- [Abraham Udele](https://github.com/bytesfield)
    Find me on [Twitter.](https://twitter.com/SaintAbrahams/)[Linkedin.](https://www.linkedin.com/in/abraham-udele-246003130/)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1797d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fa5391e3e4b3ee59aa1d43abe699743f957ecf8deff10c9d5f9c75c7d95e4231?d=identicon)[bytesfield](/maintainers/bytesfield)

---

Tags

customeridentitykycsimpleverificationbusinessSimplecustomerkyc

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bytesfield-simple-kyc/health.svg)

```
[![Health](https://phpackages.com/badges/bytesfield-simple-kyc/health.svg)](https://phpackages.com/packages/bytesfield-simple-kyc)
```

###  Alternatives

[jotaelesalinas/laravel-adminless-ldap-auth

Authenticate users in Laravel against an adminless LDAP server

2105.1k](/packages/jotaelesalinas-laravel-adminless-ldap-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
