payment-gateway.app Docs
Architecture

Licensing Engine

Details on the licensing engine, license states, and operator actions.

Licensing Engine

The Payment Gateway uses a sophisticated licensing engine evaluated within the backend to govern functionality and access based on the health and state of your license.

How it Works

The backend licensing engine evaluates signed license JWT claims and a heartbeat cadence into runtime states. These states enforce how the software operates and interacts with users:

StateTriggerEffect
ACTIVEHeartbeat received within 14 days.Full access. The system behaves normally with all features enabled.
GRACEHeartbeat not received for 14+ days.Full access. Warning shown in admin panel. Updates and support paused.
SOFT_LOCKHeartbeat gap 31+ days.Full access. Informational state for admin dashboard visibility. Updates and support paused.
READ_ONLYHeartbeat gap 45+ days, or never heartbeated.Full access. Informational state. Updates and support paused.
BLOCKEDToken status is REVOKED or SUSPENDED, or the installation reports a product version newer than the highest version entitled by its support window.All protected endpoints return 403 Forbidden. Only state that restricts runtime.
NOT_ACTIVATEDNo license key configured.All protected endpoints return 403 Forbidden until activated.

[!NOTE] Only BLOCKED and NOT_ACTIVATED restrict runtime behaviour. The GRACE, SOFT_LOCK, and READ_ONLY states are informational — the system continues to operate normally, but updates and support are paused until a successful heartbeat restores the license to ACTIVE. BLOCKED is never triggered by heartbeat gaps alone, but it can be applied manually by the licensing authority or automatically when the installation reports an out-of-entitlement product version.

License Tiers

Three commercial tiers are available:

TierOne-timeRenewal / yearOrgsSitesSupport
Starter1,490 EUR490 EUR1Up to 3Community
Professional2,990 EUR990 EUR1UnlimitedEmail (48 h)
Business7,490 EUR2,490 EUR5UnlimitedPriority (4 h)

Limited-time promotional one-time pricing may be offered through the commercial dashboard. When active, the pricing page and checkout surface the lower one-time campaign price until the configured expiry date, while annual renewal pricing remains unchanged.

Additional organisations beyond the tier allowance can be added for 250 EUR per organisation per year on any tier.

Operator Actions

As a system operator, managing the licensing states is critical to business continuity:

  1. When in GRACE, SOFT_LOCK, or READ_ONLY:
    • These are informational states — the system continues full operation.
    • To restore ACTIVE status (and resume updates/support), verify outbound connectivity to the license authority and trigger a manual heartbeat from the Admin licensing UI.
  2. When in BLOCKED:
    • This state is the only state that restricts runtime access.
    • Confirm whether the license was revoked or suspended, or whether the installation reported a product version newer than the highest version entitled for that license.
    • Resolve the account or version issue, then trigger a heartbeat to restore the system to the ACTIVE state.
  3. When in NOT_ACTIVATED:
    • Configure your license key in the Admin Panel under Settings > Licensing and perform initial activation.
  4. General Maintenance:
    • Always keep the host clock synchronized via NTP. Drift in system clocks can cause JWT verification to fail or falsely trigger an expiry.

On this page