PHPackages                             nola-consulting/module-universign - 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. nola-consulting/module-universign

ActiveMagento2-module

nola-consulting/module-universign
=================================

Magento module allowing you sign documents with Universign, an eIDAS qualified Trust Service Provider.

1.0.0(1y ago)011MITPHPPHP ^8

Since May 15Pushed 1y agoCompare

[ Source](https://github.com/nola-consulting/module-universign)[ Packagist](https://packagist.org/packages/nola-consulting/module-universign)[ RSS](/packages/nola-consulting-module-universign/feed)WikiDiscussions main Synced 1mo ago

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

NolaConsulting\_Universign
==========================

[](#nolaconsulting_universign)

NolaConsulting\_Universign is a Magento module allowing you and your customers to sign documents with Universign, an eIDAS qualified Trust Service Provider. A Universign account is required to use this module.

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

[](#installation)

```
composer require nola-consulting/module-universign
bin/magento module:enable NolaConsulting_Universign
bin/magento setup:upgrade

```

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

[](#configuration)

Go to `STORES > Configuration > SERVICES > Universign`

You can find your API key on the Universign website, in your account under `Developer > API keys.`

You can set a default `Country ID` for your website, it is used to format the phone number with the right country code. If your website has customers from different countries, you can specify the `$countryId` in the `setSigner()` method.

You can set a default `Transaction Name` and a default `Document Name` there as well. If you have many types of documents to sign, you can specify them when you initialize the transaction:

```
$this->transaction->initialize($documentId)
    ->setDocumentFullPath($documentFullPath)
    ->setTransactionName('Contract N°%ID')
    ->setDocumentName('contract-%ID.pdf')
    ->setSigner($email, $fullName, $phone)
    ->create();
```

The `%ID` placeholder will be replaced by the reference passed to `initialize()`.

Demo
----

[](#demo)

It's possible to test the module at the url `/universign/demo`, you can:

- Create a "Contact" and sign it after providing a name, an email and a phone.
- Retrieve transaction data by providing the transaction ID.

Basic usage
-----------

[](#basic-usage)

```
use NolaConsulting\Universign\Model\TransactionFactory;

/** ... */

/** @var Transaction $transaction */
$this->transaction = $this->transactionFactory->create();

$this->transaction->initialize($documentId)
    ->setDocumentFullPath($documentFullPath)
    ->setSigner($email, $fullName, $phone)
    ->create();

$redirectUrl = $this->transaction->getTransactionUrl();
```

Dependencies
------------

[](#dependencies)

- `Dompdf`: help you to generate PDF from HTML.
- `libphonenumber`: used to format the phone number in the E.164 format required by Universign for any country.

Troubleshooting
---------------

[](#troubleshooting)

```
Exception #0 (ReflectionException): Class "NolaConsulting\Universign\Model\PdfCreator\Interceptor" does not exist

```

Cause: Dompdf probably hasn't been installed properly.

TODO
----

[](#todo)

- Manage automatic reminders with the `schedule` array
- Allow customers to sign documents only with a phone number and without email

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity40

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% 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

727d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/557b5a4eaa1ff9689912d82b7fd1ac565586900151d91e09490624e2b6aa8dd7?d=identicon)[nola-adrien](/maintainers/nola-adrien)

---

Top Contributors

[![nola-adrien](https://avatars.githubusercontent.com/u/163291694?v=4)](https://github.com/nola-adrien "nola-adrien (4 commits)")[![julienanquetil](https://avatars.githubusercontent.com/u/1108170?v=4)](https://github.com/julienanquetil "julienanquetil (1 commits)")

### Embed Badge

![Health badge](/badges/nola-consulting-module-universign/health.svg)

```
[![Health](https://phpackages.com/badges/nola-consulting-module-universign/health.svg)](https://phpackages.com/packages/nola-consulting-module-universign)
```

###  Alternatives

[verbb/formie

The most user-friendly forms plugin for Craft.

101372.9k40](/packages/verbb-formie)[fastly/magento2

Fastly CDN Module for Magento 2.4.x

1564.2M1](/packages/fastly-magento2)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[bitrix24/b24phpsdk

An official PHP library for the Bitrix24 REST API

9230.2k4](/packages/bitrix24-b24phpsdk)[mage-os/module-automatic-translation

Automatic AI content translation for Mage-OS.

277.1k](/packages/mage-os-module-automatic-translation)[graycore/magento2-graphql-introspection-cache

1015.2k](/packages/graycore-magento2-graphql-introspection-cache)

PHPackages © 2026

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