Download the PHP package hamada-emam-tech/esign-signit without Composer

On this page you can find all versions of the php package hamada-emam-tech/esign-signit. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package esign-signit

hamada-emam-tech/esign-signit

Signit driver for hamada-emam-tech/esign: Saudi DGA-licensed e-signature, with Nafath identity.

Status: built from Signit's API collection and from the request and response handling of a production Signit integration. This package has not yet been run against a Signit account. The points to confirm are listed below.

Configure

Option Default Notes
environment sandbox sandbox → https://api-sandbox.signit.sa/v1, production → https://api.signit.sa/v1
base_url from environment Must be https.
client_id, client_secret required The API key and secret of your Signit app (OAuth client credentials).
webhook_secret none Hex key that decrypts webhooks. Without it, every webhook is refused.
accept_unencrypted_webhooks false Accept webhooks that arrive unencrypted. Only safe because the status always comes from the API.
digital_signature_provider NOTARIUS Which certificate authority signs, e.g. NOTARIUS, EMDHA, HYBRID.
page_height read from the PDF Points. Needed only when the PDF's page size can't be read (mixed sizes, rotation, compressed objects).
embedded false Create embedded requests, for signing inside your own app.
http_client, request_factory, stream_factory, cache As for every driver.

Use it

Signit-only extras: $esign->provider('signit')->signingLink($id, $email), ->completeByOwner($id) and ->auditTrail($id).

Capabilities

Signit
Identity methods email, nafath
Documents per envelope 1
Signing order, field placement, signing links yes
remind(), details() yes
extendDeadline(), webhook management no

Status mapping

Signit request status EnvelopeStatus
DRAFT, PENDING, SENT, IN-PROGRESS, nobody signed Sent
the same, some signers SIGNED PartiallySigned
COMPLETED, FINISHED, SIGNED, and every signer SIGNED Signed
COMPLETED/FINISHED/SIGNED while someone is still pending PartiallySigned
VOIDED Cancelled
DECLINED, REJECTED Declined
EXPIRED Expired
anything else throws ProviderError

Signer statuses: SIGNED → Signed; REJECTED → Declined; PENDING, TRANSFERRED → Pending.

What this driver handles for you

  1. Bottom-left coordinates. Signit measures y from the page bottom to the box's bottom edge. SignatureField is top-left, so the driver converts using the page height read from the PDF, and refuses before uploading anything when it can't tell the height.
  2. Encrypted webhooks. Signit sends {"data": base64(IV + AES-256-CBC(json)), "is_encrypted": true}. The driver decrypts with your hex key and refuses anything that doesn't decrypt, or that isn't encrypted (unless you allow it).
  3. "SIGNED" doesn't always mean finished. Event names such as SIGNATORY_SIGNED contain "SIGNED" when only one person signed. The driver never reads a status from a webhook, and Signed requires every signer to be SIGNED.
  4. The sealed file comes as a URL. download() follows it without sending your token to the download host, and checks it is a PDF.
  5. Reminders go to a signatory ID. remind() looks the signer up by email first.

Points to confirm on a live account

  1. Whether the create response always includes each signer's email. If it doesn't, signing links are matched to signers in the order they were sent.
  2. Signit's error body format (not published). The driver reads message, error, error_description and errors when present.
  3. Whether Signit's API collection key verification_method and the production integration's use of it agree for every identity type. Both use {nafath_app: "<national ID>"} and {email: "…"}.

Sources


All versions of esign-signit with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
ext-json Version *
ext-openssl Version *
hamada-emam-tech/esign Version ^0.3
psr/http-client Version ^1.0
psr/http-factory Version ^1.0
psr/simple-cache Version ^1.0 || ^2.0 || ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package hamada-emam-tech/esign-signit contains the following files

Loading the files please wait ...