Skip to main content

Plans, subscriptions and billing

Managed in ImpartLab.Manager by platform operators.

Create a subscription plan​

  1. Go to Manager → Subscription plans and select New plan.
  2. Set the plan name, price, billing interval (monthly / annual) and any user or feature limits.
  3. Select Save.

Assign a plan to a tenant​

  1. Go to Manager → Tenants and open the tenant.
  2. Select the Subscription tab.
  3. Choose a plan and set the start and expiry dates.
  4. Select Save.

Subscription expiry​

The expiry service runs every SUBSCRIPTION_CHECK_INTERVAL_HOURS hours (default: 24). When a subscription expires:

  • The tenant's API access is blocked for all users.
  • A notification email is sent to the tenant's admin email address, or to BILLING_NOTIFICATION_EMAIL if no admin email is set.

To restore access, extend the subscription expiry date or assign a new plan.

Paystack integration​

ImpartLab.Manager integrates with Paystack for online payments. Configure the following environment variables:

VariableDescription
PAYSTACK_SECRET_KEYPaystack secret key; also verifies webhook HMAC-SHA512 signatures
PAYSTACK_CALLBACK_URLReturn URL after checkout
BILLING_NOTIFICATION_EMAILFallback recipient for expiry notices

Paystack webhooks are verified automatically using HMAC-SHA512. Do not expose the secret key.

Tenant status enforcement​

When TENANT_STATUS_ENFORCEMENT=true (default), the ResourceServer and VC server reject authenticated requests from tenants that are inactive, have no subscription, or whose subscription has expired. Set to false temporarily to bypass enforcement during maintenance.