PHPackages                             ultraleet/verify-once - 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. [API Development](/categories/api)
4. /
5. ultraleet/verify-once

ActiveLibrary[API Development](/categories/api)

ultraleet/verify-once
=====================

VerifyOnce verification service integration library.

1.0.0(6y ago)011MITPHPPHP &gt;=7.2CI failing

Since Oct 20Pushed 6y ago1 watchersCompare

[ Source](https://github.com/ultraleettech/verify-once)[ Packagist](https://packagist.org/packages/ultraleet/verify-once)[ RSS](/packages/ultraleet-verify-once/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (4)Versions (2)Used By (0)

VerifyOnce
==========

[](#verifyonce)

VerifyOnce verification service integration library.

Usage
-----

[](#usage)

Add the library to your project via Composer:

```
composer require ultraleet/verify-once

```

Initialize the library by instantiating the core class:

```
$verifyOnce = new \Ultraleet\VerifyOnce\VerifyOnce([
    'username' => '', // Integrator username
    'password' => '', // Integrator password
]);
```

To initiate a verification transaction, do the following:

```
$response = $verifyOnce->initiate();
```

Response will be an object containing 'transactionId' and 'url' properties. You should store the transaction ID along with user info and redirect the user to the given URL for the verification process.

Once the verification is completed, VerifyOnce posts a JWT signed payload containing verification info to your callback URL. To verify the payload, you can use the `verify` method of the library:

```
$body = file_get_contents('php://input');
$info = $verifyOnce->verify($body);
```

Make sure to catch any exceptions that indicate unsuccessful payload verification.

`$info` will contain verification information. You can get the transaction ID to compare against the value you stored previously to find the user doing the verification from `$info->transaction->id`.

Depending on whether you want to verify user's identity, address, or both, you will need to check `$info->identityVerification` and/or `$info->addressVerification`. If either of them is empty, then it means it has not been successfully verified.

Next, you will want to check verification status, which is the `status` property of either of the above objects. It can contain the following values:

```
  UNINITIATED
  INITIATED
  PENDING
  VERIFIED
  FAILED
  LOCKED

```

These should be pretty self-explanatory.

If the status is `VERIFIED`, you can go ahead and check the values of whatever fields you need in order to confirm that you have the correct user/address.

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity52

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

Unknown

Total

1

Last Release

2393d ago

### Community

Maintainers

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

---

Top Contributors

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

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ultraleet-verify-once/health.svg)

```
[![Health](https://phpackages.com/badges/ultraleet-verify-once/health.svg)](https://phpackages.com/packages/ultraleet-verify-once)
```

###  Alternatives

[netflie/whatsapp-cloud-api

The first PHP SDK to send and receive messages using a cloud-hosted version of the WhatsApp Business Platform

640431.7k4](/packages/netflie-whatsapp-cloud-api)[get-stream/stream

A PHP client for Stream (https://getstream.io)

1451.3M8](/packages/get-stream-stream)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3731.2M42](/packages/tencentcloud-tencentcloud-sdk-php)[agence104/livekit-server-sdk

Server-side SDK for LiveKit.

79189.9k1](/packages/agence104-livekit-server-sdk)[packbackbooks/lti-1p3-tool

A library used for building IMS-certified LTI 1.3 tool providers in PHP.

51438.3k2](/packages/packbackbooks-lti-1p3-tool)[tamara-solution/php-sdk

Tamara PHP Client Library

10259.4k1](/packages/tamara-solution-php-sdk)

PHPackages © 2026

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