PHPackages                             deegitalbe/laravel-trustup-io-sign - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. deegitalbe/laravel-trustup-io-sign

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

deegitalbe/laravel-trustup-io-sign
==================================

Sign url builder.

v3.0.0(4mo ago)01.8k↓68.1%MITPHPCI passing

Since Mar 17Pushed 4mo ago2 watchersCompare

[ Source](https://github.com/deegitalbe/laravel-trustup-io-sign)[ Packagist](https://packagist.org/packages/deegitalbe/laravel-trustup-io-sign)[ RSS](/packages/deegitalbe-laravel-trustup-io-sign/feed)WikiDiscussions main Synced today

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

laravel-trustup-io-sign
=======================

[](#laravel-trustup-io-sign)

Compatibility
-------------

[](#compatibility)

LaravelPackage8.x / 9.x1.x12.x2.xPrerequisite
------------

[](#prerequisite)

This package uses `deegitalbe/server-authorization` package to authenticate requests. Refer to its [documentation](https://github.com/deegitalbe/server-authorization) to make sure it's correctly configured on your project.

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

[](#installation)

```
composer require deegitalbe/laravel-trustup-io-sign
```

Publish configuration
---------------------

[](#publish-configuration)

```
php artisan vendor:publish --provider="Deegitalbe\TrustupIoSign\Providers\TrustupIoSignServiceProvider" --tag="config"
```

🛠️ config.
----------

[](#️-config)

Provide all model where you need your relations.

```
    "models" => [
        YourModel::class,
    ]
```

Usage
-----

[](#usage)

```
    /** getTrustupIoSignUrl(?string $callback = null, ?string $webhook = null): string */
    $yourmodel->getTrustupIoSignUrl();
```

🛠️ Default installation BelongsTo relation.
-------------------------------------------

[](#️-default-installation-belongsto-relation)

All necessary methods are already defined. Default model type identifier is set to uuid.

```
 'collection'

    ];

    public function getTrustupIoSignOriginalPdfUrl(): string
    {
        return 'https://eforms.com/download/2019/08/Service-Contract-Template.pdf';
    }

    public function getTrustupIoSignCallbackUrl(): string
    {
        return 'https://www.google.com';
    }
}
```

🛠️ Common trait.
----------------

[](#️-common-trait)

Both belongsTo and HasMany traits implements IsTrustupIoSignedDocumentRelatedModel. Feel free to overide it for your use case.

```
uuid ??
            $this->id;
    }

    /**
     * Getting model type for media.trustup.io
     */
    public function getTrustupIoSignModelType(): string
    {
        /** @var Model $this */
        return Str::slug(str_replace('\\', '-', $this->getMorphClass()));
    }

    public function getTrustupIoSignAppKey(): string
    {
        return TrustupIoSignFacade::getConfig("app_key");
    }

    public function getTrustupIoSignWebHookUrl(): string
    {
        // use this adress for locale container 'trustup-io-ticketing/webhooks/trustup-io-sign/signed-document/stored'.
        return route("webhooks.trustup-io-sign.signed-document.stored");
    }

    public function getTrustupIoSignUrl(?string $callback = null, ?string $webhook = null): string
    {
        /** @var SignUrlService */
        $signUrlService = app()->make(SignUrlService::class);
        if ($callback) $this->setTrustupIoSignCallback($callback);
        if ($webhook) $this->setTrustupIoSignWebhook($webhook);

        return $signUrlService->generateUrl($this);
    }

    protected function setTrustupIoSignCallback(string $callback): self
    {
        $this->trustupIoSignCallback = $callback;
        return $this;
    }

    protected function setTrustupIoSignWebhook($webhook): self
    {
        $this->trustupIoSignWebhook = $webhook;
        return $this;
    }
}
```

⚡⚡ Migration BelongsTo trait.
-----------------------------

[](#-migration-belongsto-trait)

By default the column is set to trustup\_io\_signed\_document\_uuid and type `string` but feel free to overide it.

```
string($column)->nullable();
        });
    }

    public function removeSignedDocumentColumn(string $table, string  $column = 'trustup_io_signed_document_uuid'): void
    {
        Schema::table($table, function (Blueprint $table) use ($column) {
            $table->dropColumn($column);
        });
    }
}
```

⚡⚡ Migration HasMany trait.
---------------------------

[](#-migration-hasmany-trait)

By default the column is set to trustup\_io\_signed\_document\_uuids and type `json` but feel free to overide it. Note: Remember to cast as collection in your model !!!

```
json($column)->nullable();
        });
    }

    public function removeSignedDocumentColumn(string $table, string  $column = 'trustup_io_signed_document_uuids'): void
    {
        Schema::table($table, function (Blueprint $table) use ($column) {
            $table->dropColumn($column);
        });
    }
}

```

Webhook data structure

```
{
 "id": 43,
  "uuid": "6dcc41ca-b3b3-4027-9a52-190c249f0606",
  "ip": "192.168.240.8",
  "timezone": null,
  "latitude": null,
  "longitude": null,
  "modelId": "44b1f149-5dd8-494c-a7ec-52edeb666c18",
  "modelType": "ticket",
  "appKey": "trustup-io-ticketing",
  "documentUuid": "e0f26d6a-206f-4ed1-b244-e41e7a4f33f1",
  "signedAt": "2023-03-16T16:35:17.000000Z",
  "document": {
    "app_key": "trustup-io-sign",
    "collection": "files",
    "conversions": [],
    "custom_properties": {
      "width": null,
      "height": null
    },
    "id": 349,
    "model_id": "6dcc41ca-b3b3-4027-9a52-190c249f0606",
    "model_type": "signeddocument",
    "uuid": "e0f26d6a-206f-4ed1-b244-e41e7a4f33f1",
    "url": "https://media.trustup.io.test/storage/e0f26d6a-206f-4ed1-b244-e41e7a4f33f1/lGlUXJYi.pdf",
    "optimized": {
      "url": "https://media.trustup.io.test/storage/e0f26d6a-206f-4ed1-b244-e41e7a4f33f1/lGlUXJYi.pdf",
      "name": "original",
      "width": null,
      "height": null
    },
    "width": null,
    "height": null,
    "name": "lGlUXJYi.pdf"
  }
}
```

###  Health Score

42

—

FairBetter than 88% of packages

Maintenance77

Regular maintenance activity

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75% 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 ~105 days

Recently: every ~183 days

Total

8

Last Release

128d ago

Major Versions

v1.0.1 → v2.0.02024-02-22

v2.1.0 → v3.0.02026-02-27

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/24230736?v=4)[Mathieu Henrotay](/maintainers/henrotaym)[@henrotaym](https://github.com/henrotaym)

---

Top Contributors

[![henrotaym](https://avatars.githubusercontent.com/u/24230736?v=4)](https://github.com/henrotaym "henrotaym (6 commits)")[![Pwatup](https://avatars.githubusercontent.com/u/118262799?v=4)](https://github.com/Pwatup "Pwatup (2 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/deegitalbe-laravel-trustup-io-sign/health.svg)

```
[![Health](https://phpackages.com/badges/deegitalbe-laravel-trustup-io-sign/health.svg)](https://phpackages.com/packages/deegitalbe-laravel-trustup-io-sign)
```

PHPackages © 2026

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