PHPackages                             do-inc/laravel-persona-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. do-inc/laravel-persona-kyc

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

do-inc/laravel-persona-kyc
==========================

KYC (Know Your Customer) performed using the Persona (https://withpersona.com) API

0.10.22(4y ago)2579MITPHPPHP ^8.1

Since Feb 25Pushed 4y ago1 watchersCompare

[ Source](https://github.com/Do-inc/laravel-persona-kyc)[ Packagist](https://packagist.org/packages/do-inc/laravel-persona-kyc)[ Docs](https://github.com/Do-inc/laravel-persona-kyc)[ RSS](/packages/do-inc-laravel-persona-kyc/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (4)Dependencies (14)Versions (5)Used By (0)

Laravel Persona KYC
===================

[](#laravel-persona-kyc)

[![Latest Stable Version](https://camo.githubusercontent.com/03777d728bb718ef3a41d24b25be3b3420e1cddfa43805282d08de0b211a7ef2/687474703a2f2f706f7365722e707567782e6f72672f646f2d696e632f6c61726176656c2d706572736f6e612d6b79632f76)](https://packagist.org/packages/do-inc/laravel-persona-kyc)[![tests](https://github.com/Do-inc/laravel-persona-kyc/actions/workflows/php.yml/badge.svg?branch=master)](https://github.com/Do-inc/laravel-persona-kyc/actions/workflows/php.yml)[![Total Downloads](https://camo.githubusercontent.com/7b952e5a35253bb3e1b9db245932309101a0520aeced2f511fd852f7e19ac64d/687474703a2f2f706f7365722e707567782e6f72672f646f2d696e632f6c61726176656c2d706572736f6e612d6b79632f646f776e6c6f616473)](https://packagist.org/packages/do-inc/laravel-persona-kyc)[![License](https://camo.githubusercontent.com/8d1be2332398dc639afe3f0e3473688f3a4300615fdda2054c96087d6bcdd28f/687474703a2f2f706f7365722e707567782e6f72672f646f2d696e632f6c61726176656c2d706572736f6e612d6b79632f6c6963656e7365)](https://packagist.org/packages/do-inc/laravel-persona-kyc)[![PHP Version Require](https://camo.githubusercontent.com/38560e3d97ce559236fdaeeb29b2fd1c498239291303c8f25bdb0e98c2b4f3a9/687474703a2f2f706f7365722e707567782e6f72672f646f2d696e632f6c61726176656c2d706572736f6e612d6b79632f726571756972652f706870)](https://packagist.org/packages/do-inc/laravel-persona-kyc)

This package helps with the identity verification of your customers. It provides a simple yet powerful interface based on method concatenation to semantically construct your requests.

Users verification become as easy as writing a couple of lines:

**Backend**

```
\Doinc\PersonaKyc\Persona::init()->accounts()->create("my-account-reference-id");
```

**Frontend**

```
const client = new Persona.Client({
    templateId: "itmpl_Ygs16MKTkA6obnF8C3Rb17dm",
    environment: "sandbox",
    referenceId: "my-account-reference-id",
    onReady: () => client.open(),
    onComplete: ({inquiryId, status, fields}) => console.log("onComplete"),
    onCancel: ({inquiryId, sessionToken}) => console.log('onCancel'),
    onError: (error) => console.log("onError"),
});
```

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

[](#installation)

You can install the package via composer:

```
composer require do-inc/laravel-persona-kyc
php artisan persona:install
```

Running the installation command will automatically publish the configuration files, the migrations and compile all the stubs.

You can always publish all the assets manually running:

```
php artisan vendor:publish --tag="persona-kyc-migrations"
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="persona-kyc-config"
```

Additionally, a couple of environment variable should also be defined:

```
PERSONA_API_KEY="persona_sandbox_XXX"
PERSONA_WEBHOOK_SECRET="wbhsec_XXX"
```

Usage
-----

[](#usage)

#### Basic

[](#basic)

[Persona](https://withpersona.com/) offers the possibility to verify users identity with easy without the need to create custom flows or deal with long and complicated verification procedures.

The verification process begins with the creation of an account, accounts must be generated with a reference id in order to link multiple inquiries together. In order to reduce complexity and easily query for remote data consider using your *user id* as *reference id*.

```
$account = \Doinc\PersonaKyc\Persona::init()->accounts()->create("1234");
```

Lots of different methods are available out of the box, these will easy the development of simple and custom solution with Persona as a verification provider.

Refer to this [method list](docs/method-list.md) for a complete list of the available methods.

#### Webhooks

[](#webhooks)

Persona supports webhooks out of the box. In order to enforce a secure usage of the webhooks without any tampering possibility a default endpoint is provided at `/persona/hook` additionally a prefix may be added via configuration options.

The webhook will emit events depending on the request received, each event will receive a pre-parsed model as this will avoid errors.

This means that accessing persona webhooks is as simple as setting up a listener for the event you're interested into!

Refer to this [event list](docs/event-list.md) for a complete list of the available events.

Testing
-------

[](#testing)

Copy the `.env.example` file into `.env` and fill in all the variables then run

```
composer test
```

Changelog
---------

[](#changelog)

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

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

[](#contributing)

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

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

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

Credits
-------

[](#credits)

- [Emanuele (ebalo) Balsamo](https://github.com/ebalo55)
- [All Contributors](../../contributors)

License
-------

[](#license)

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

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~21 days

Total

4

Last Release

1474d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/56af60a88f016036e84046da96b1bb0e30e7be6c33e5640d0f043d2be80162c5?d=identicon)[Do-inc](/maintainers/Do-inc)

---

Top Contributors

[![ebalo55](https://avatars.githubusercontent.com/u/12586380?v=4)](https://github.com/ebalo55 "ebalo55 (16 commits)")

---

Tags

laravelkycdo-inclaravel-persona-kyc

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/do-inc-laravel-persona-kyc/health.svg)

```
[![Health](https://phpackages.com/badges/do-inc-laravel-persona-kyc/health.svg)](https://phpackages.com/packages/do-inc-laravel-persona-kyc)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k89.8M1.0k](/packages/spatie-laravel-permission)[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[jeffgreco13/filament-breezy

A custom package for Filament with login flow, profile and teams support.

1.0k1.7M41](/packages/jeffgreco13-filament-breezy)[spatie/laravel-login-link

Quickly login to your local environment

4381.2M1](/packages/spatie-laravel-login-link)[ryangjchandler/laravel-cloudflare-turnstile

A simple package to help integrate Cloudflare Turnstile.

438896.6k2](/packages/ryangjchandler-laravel-cloudflare-turnstile)

PHPackages © 2026

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