Skip to main content

Admin Panel: User Manual

Field guide to the Licensing Admin webapp for day-to-day users (sales, support, finance).

See also the plugin integration guide for the developer-facing API reference.


1. Signing in

URLs

EnvironmentAdmin URL
Productionhttps://licensr.app/admin
Developmenthttps://staging.licensr.app/admin

Other public surfaces: / (marketing), /buy/<slug> (storefronts), /account/* (customer portal).

Always check the environment badge (top-left: PROD/DEV/LOCAL) before acting on real data.

Sign-in methods

  • Sign in with Google: pick your work account.
  • Send sign-in link: magic link valid for 30 minutes. Auto-redeems any pending admin invite.

Your role is shown in the header. If you see "Not an admin user", ask a SUPERADMIN to invite you.

  • Setup (visible until onboarding is complete): Setup, My Group
  • Overview: Dashboard, Analytics
  • Catalog: Products, Integration Guide
  • Customers: Customers, Licenses, Activations, Subscriptions
  • Operations: Webhook Events, Failed Payments, Admin activity
  • Settings: My Group (once setup is done), Groups (SUPERADMIN), Email Templates, Team

Multi-tenant (Groups)

Every record belongs to a Group (tenant). SUPERADMINs see all groups and can filter via the top-bar dropdown. ADMINs and VIEWERs are pinned to their own group.


2. Getting started as a new tenant

New groups land on the Setup wizard at /admin/setup: a single page that walks you through the steps that take you from sign-up to a live storefront. A welcome modal greets you on first sign-in; a "Continue setup" pill stays on the dashboard, and a banner sits on top of every other page, all linking back to the wizard.

The wizard is the only thing you need; what follows is the same content with extra context. The exact steps depend on which payment provider you pick — see the Connect a Payment Provider guide for the full walkthrough of each:

  1. Connect a payment provider: Stripe (OAuth), or bring your own Mercado Pago / PayPal credentials, so payments flow to you.
  2. Activate payouts (Stripe only — Mercado Pago and PayPal skip this step; their own account already handles verification): complete Stripe's KYC requirements.
  3. Create a product: your licensable product.
  4. Create a plan + price: a sellable price — linked to a Stripe Price for Stripe, or a native amount + currency for Mercado Pago/PayPal.

Once every step is green, /buy/<your-slug> is live and the Setup section auto-collapses. If anything regresses, it re-appears.

Connect a payment provider

The wizard's Step 1 button kicks off the same trust modal + OAuth handshake that My Group > Connect Stripe uses. Prefer Mercado Pago or PayPal instead? The step links to Settings → My Group, where each has its own bring-your-own-credentials panel; see the payment provider guide for the exact fields and webhook setup each one needs. You retain full control of the account either way — funds settle to your own balance, and you can disconnect anytime.

Activate payouts (Stripe only)

This is done entirely in the Stripe Dashboard. The wizard lists what to prepare (legal entity, bank account, business website, support email) and deep-links to the dashboard. Once Stripe approves (charges_enabled: true), click Retry status check on the step. Mercado Pago and PayPal don't have a separate payouts step — connecting your credentials is sufficient since verification already happened on your own account with that provider.

Create a product

The wizard's Step 3 opens the New product modal directly. Set the name, slug, activation mode (seat or domain), and allowed origins. For domain-mode products, * is pre-filled; the domain-origin guard handles per-license security.

Create a plan + price

The wizard's Step 4 opens the New plan modal, which adapts to your connected provider:

  • Stripe: a price picker reads the catalog from your connected account; the + Create new Stripe price... action expands an inline form that creates the Stripe Product and Price for you (no need to leave Licensr), then selects it into the plan form.
  • Mercado Pago / PayPal: since both price natively rather than exposing a catalog API here, you enter the amount and currency directly in the form instead of picking an existing price.

Either way, set the capacity (max seats/domains) and grace period and save.


3. Roles

RoleScopeUse case
SUPERADMINAll groupsPlatform owners, tech leads
ADMINOwn groupDay-to-day operations
VIEWEROwn group, read-onlyFinance, analysts, support observers

Key permissions

ActionVIEWERADMINSUPERADMIN
Browse all pages
Create/edit products, plans, API keys
Manage licenses (issue, deactivate, reactivate, extend, delete)
Regenerate license keys
Deactivate activations
Cancel/refund subscriptions
Replay webhooks, resolve failed payments
Edit email templates
Invite admins (own group)
Connect/disconnect payment provider
Manage all groups, cross-group actions

VIEWERs can open any page but write actions are rejected server-side.


4. Page reference

Overview

Dashboard: KPI tiles (MRR, active licenses, subscriptions, customers, churn, revenue), recent audit activity, failed-payment alert banner.

Analytics: deeper charts: MRR over time, daily sales, top products by licenses/revenue.

Catalog

Products: your licensable products. Each has a slug, activation mode, allowed origins, and status. On the Products page, each row manages API keys (plaintext shown once, two-step revoke to delete lifecycle). Archived products can be soft-deleted (hidden from all views but preserved for audit history).

Plans: sellable prices nested under each product. Each binds a product to a price on your connected provider — a Stripe Price, or a native amount + currency for Mercado Pago/PayPal — with a capacity cap and grace period. Archiving hides from sales but doesn't cancel existing subscriptions.

Integration Guide: in-app developer documentation for the licensing API (validate, activate, deactivate endpoints with code samples).

Customers

Customers: every buyer who entered checkout. Detail page links to their licenses and subscriptions.

Licenses: the most-used page. Key actions on the detail page:

ActionDescription
DeactivateSet license to inactive (reversible)
ReactivateReturn to active
DeleteSoft-delete (hidden but retained in database)
ExtendPush expiry date forward
Regenerate keyNew key, old key stops immediately (shown once)
Resend portal emailMagic-link for customer account access
Manual issueCreate a license outside your payment provider (gifts, NFR, replacements)

Activations: seat/domain records. Deactivate to free up a customer's slot.

Subscriptions: recurring subscriptions from any connected provider (Stripe, Mercado Pago, or PayPal), with cancel (at period end or immediately) and refund (full or partial) actions. Changes are mirrored back to the provider automatically.

Operations

Webhook Events: every payment-provider event received (Stripe, Mercado Pago, or PayPal), with payload inspection and Replay for re-processing after fixes (Stripe events only).

Failed Payments: payment failures with Resolve action to mark as handled (does not retry the charge).

Admin activity: tamper-evident record of all admin writes. Read-only, no deletions.

Settings

My Group: edit group name, contact email, payment connection, storefront branding (logo, tagline, accent color). Each connection panel has states: Not connected, Connected (with disconnect), Read-only (for VIEWERs).

Three providers are supported — Stripe (default, OAuth Connect), Mercado Pago (Latin America, bring-your-own-credentials), and PayPal (worldwide, bring-your-own-credentials, requires a Business account). Only one is active at a time; switching or disconnecting is blocked while the current provider has active subscriptions. Mercado Pago and PayPal each also require a webhook pointed back at Licensr before they'll issue licenses.

For the full walkthrough of each provider — OAuth steps, required credentials, and exact webhook URLs/event types — see the Connect a Payment Provider guide, which is also linked from each connection panel.

Groups (SUPERADMIN): cross-tenant management. Create, edit, archive, delete groups.

Email Templates: edit transactional email subjects/bodies, preview with sample data, test-send to any address.

Team: manage admin users and pending invites. Invite new admins, change roles, deactivate accounts. SUPERADMINs see all groups; ADMINs see own group only.


5. Common workflows

Self-serve onboarding (via /pricing)

Most tenants self-serve: pick a tier at /pricing (Free instant, or Paid via Stripe Checkout), receive a magic-link email, sign in, then follow the onboarding checklist.

Manual onboarding (SUPERADMIN)

  1. Groups > Create Group (name, slug, contact email).
  2. Team > Invite Admin (target the new group).
  3. Optionally continue with payment provider connection, product, and plan setup.

Add a product

  1. (SUPERADMIN) Pin to the target group via the group filter.
  2. Products > New product (name, slug, mode, origins).
  3. API Keys on that product row: copy the plaintext immediately.

Add a plan

  • Stripe: create a Product + Price in the Stripe Dashboard (on the connected account) first, then on Products, expand the product and New plan: pick that Stripe Price, set capacity and grace period.
  • Mercado Pago / PayPal: no dashboard step needed — on Products, expand the product and New plan: enter the amount and currency directly, set capacity and grace period.

Issue a replacement license

  1. Subscriptions > Refund the bad charge.
  2. Licenses > Deactivate the affected license.
  3. Licenses > Manual Issue with the same customer/plugin/plan.

Help customer move to a new machine

Activations, find the old seat, click Deactivate. Customer's next plugin launch activates the freed slot.

Resolve a failed payment

Confirm resolution (customer paid, written off), then click Failed Payments > Resolve.

Replay a webhook

Webhook Events, find the event, review the payload, then click Replay.

Invite a new admin

Team > Invite Admin, enter email, pick role. They sign in at /admin with that email, the invite auto-redeems on first sign-in.


6. Glossary

TermDefinition
GroupA tenant. Owns plugins, plans, customers, licenses, admins.
PluginA sellable product with its own license keys and activations.
PlanA price for a plugin, tied to a price on the group's connected payment provider (a Stripe Price, or a native amount for Mercado Pago/PayPal).
LicenseA customer's right to use a plugin, identified by a secret key.
ActivationOne installation of a license on a seat or domain.
SubscriptionA recurring subscription (Stripe, Mercado Pago, or PayPal) driving a license's lifecycle.
Platform subscriptionA Group's paid plan with us (Indie/Studio/Agency), always billed via our own Stripe account regardless of which provider the group connects for its own customers. Free groups have none.
Plugin API keyServer-side credential for calling the licensing API. Shown once at issuance.
Magic linkOne-time sign-in URL, valid 30 minutes. Auto-redeems admin invites.
Customer portal/account/*: customer self-service for licenses, activations, billing. Also refers to the provider-hosted billing portal (e.g. Stripe's Customer Portal) reachable from within.