Plan & pricing — Premium plans

Premium tier on /premium: publish toggle, Regular and Reseller rows. Checkout grants role 3 + premiumUntil.

Plan & pricing — Premium plans

Draft the public upgrade page's Premium tier (role id 3).

Where to find it

Admin → UsersPlan & pricing → tab Premium (/admin/plan-pricing)

Stored on Role.plansJson (not a SiteSetting).

How it works

Set section description and Published on upgrade page (enablePaidPlans). Maintain Regular purchase and Reseller row sets (name, duration, price; optional badge/features/partners). Limits: ≤50 rows/list; price must parse ≥ 1 cent. Save with Save all changes (with Pro + Packages).

Money path (regular purchase)

Checkout kind role_plan uses Regular rows only. Grants: role 3, premiumUntil, entitlement tier premium (prior active entitlement revoked). Duration: days capped 3650; "inf" → 3650. Same-tier stacks from current premiumUntil; Premium ↔ Premium Pro does not stack. Does not grant traffic bytes. Coupons apply to public role_plan only (min charge after discount 50 cents).

Reseller rows are wholesale key packages (premium:{durationKey}), not the public catalog.

Feature bullets are marketing only - real limits come from Users & limits (UL2) for the Premium column.

Common problems

Coupons saved but plans did not

Coupons tab saves separately - still click Save all changes for plan rows.

Related