Skip to main content

Admin Panel: User Manual

How to run Licensr day to day (sales, support, finance). You do not need to write code here.

To put license checks inside your product, use the license calls guide or an SDK.


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.

  • Dashboard: KPIs, charts, recent sales, and the setup checklist until onboarding is complete
  • Sell: Products, Storefront
  • Sales: Customers, Subscriptions, Payments (the Issues tab lists failed payments; the sidebar shows a red count while any are unresolved)
  • Developers: Integration, API & Webhooks
  • Organization: General, Team, Plan & Billing, Activity Log
  • Platform (SUPERADMIN): Organizations, Insights, Email Templates, Event Log

Organizations​

Every record belongs to an organization (internally a “group”). SUPERADMINs see all organizations and can filter from the top bar. ADMINs and VIEWERs stay in their own.


2. Getting started as a new tenant​

New organizations land on the Setup wizard at /admin/setup: a single page 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 on other pages links 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 / Razorpay credentials, so payments flow to you.
  2. Activate payouts (Stripe only — Mercado Pago, PayPal, and Razorpay 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/Razorpay.
  5. Issue yourself a test license: opens Customers → Issue license with your email pre-filled. It skips checkout, so you can test without paying.
  6. Connect your product: this is the one step that needs a developer. Read Not a developer? Start here to see what to send them, pick what you are building to open the guide for your product type, or use Copy link for your developer to share it. Your store already works without it. The step turns green when Licensr receives the first license check from your product.

Above the steps, a short How selling works card reminds you that Licensr does not host your plugin files: you host the download and link it to your buy page.

Once every step is green, the dashboard shows You're live! and the Setup section auto-collapses. If anything regresses, it re-appears.

Connect a payment provider​

The wizard's Step 1 button starts the same Stripe Connect flow as Organization → General → Stripe. Prefer Mercado Pago, PayPal, or Razorpay? That page has a credentials panel for each; see Connect a payment provider. Funds settle to your account. You can disconnect anytime (blocked while subscriptions are still active).

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, PayPal, and Razorpay 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 (the Product ID is filled in from it) and answer What are you building?. That fills in the activation mode (seat or domain) and client type, shown as a one-line summary you can open with Change. Allowed websites are optional and live under Advanced options; native products see the same list as checkout return websites.

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 / Razorpay: since all three 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 how many computers, browsers or websites one license covers. Grace period, a free trial or license length, and feature flags are under Advanced options. Grace period only applies to subscriptions.


3. Roles​

RoleScopeUse case
SUPERADMINAll organizationsPlatform owners, tech leads
ADMINOwn organizationDay-to-day operations
VIEWEROwn org, 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 organization)✓✓
Connect/disconnect payment provider✓✓
Manage all organizations✓

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


4. Page reference​

Dashboard​

Dashboard: KPI tiles (MRR, active licenses, subscriptions, customers, churn, revenue), charts (MRR over time, daily sales, top products by licenses/revenue), recent audit activity, failed-payment alert banner.

Sell​

Products: your licensable products. Each has a Product ID (slug), a platform (what you are building, which links its guide), activation mode, client type, allowed websites (under Advanced options), and status. To restrict which websites can check licenses, list each as scheme://host[:port] with no path — include the port for local dev (http://localhost:3010). Empty allows any website; the API key is still required. 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/Razorpay — with a limit that follows the product (computers, browsers or users, or websites). A subscription can also set a grace period. Archiving hides from sales but doesn't cancel existing subscriptions.

Storefront (/admin/storefront): everything buyers see, in three sections. Brand identity holds your logo and accent color. Your buy page has the switch that turns the hosted buy page at licensr.app/buy/<store-slug> on or off (off, the address shows a page-not-found and Open is disabled; use it when you sell from your own site), plus the tagline, social links, and for each product a banner, description and up to six screenshots, with a live preview beside the fields. Customer experience has the switch that creates a customer account with each purchase; off, new buyers get only their license key by email, and customers who already have an account can still sign in. Images are resized for you: a logo with transparency stays PNG, and everything else is saved as JPG. Every field saves when you leave it, and the arrows reorder screenshots. Search engines do not index the hosted buy page, so link to it from your own website, newsletter, or product listing.

Sales​

Customers: every buyer who entered checkout. The page opens on Live. Test is a separate list for a dev or staging app, and those customers stay out of live numbers. Detail page links to their licenses and subscriptions, and has Erase personal data for a buyer's erasure request (what it removes).

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, PayPal, or Razorpay), with cancel (at period end or immediately) and refund (full or partial) actions. Changes are mirrored back to the provider automatically. The same Live | Test switch is here. A checkout creates a live subscription, unless it is a Stripe test purchase.

Payments (/admin/payments): every payment your provider collected — purchases, renewals, subscription invoices, refunds. The Issues tab lists payment failures with a Resolve action to mark each as handled (does not retry the charge); the sidebar shows a red count while any are unresolved.

Organization​

General (/admin/organization): name, contact email, payment connection, data export. Storefront branding lives on Storefront, and your Licensr plan and usage on Plan & Billing. Connection panels: Not connected, Connected (with disconnect), Read-only for VIEWERs.

Four providers are supported — Stripe (default, OAuth Connect), Mercado Pago (Argentina / Brazil / Mexico subscriptions, bring-your-own-credentials), PayPal (worldwide, bring-your-own-credentials, requires a Business account), and Razorpay (India, bring-your-own-credentials). Only one is active at a time; switching or disconnecting is blocked while the current provider has active subscriptions. Mercado Pago, PayPal, and Razorpay 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.

Team (/admin/users): invite admins, change roles, deactivate accounts. SUPERADMINs see every organization; ADMINs see their own.

Plan & Billing (/admin/billing): your Licensr plan and how much of its limits you are using, with in-app upgrades.

Activity Log: tamper-evident record of all admin writes. Read-only, no deletions.

Platform (SUPERADMIN)​

Organizations: create, edit, archive, or delete tenants.

Insights: platform activation funnel and in-app feedback.

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

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

Developers​

Integration: your API base URL, the steps to sell from your own site instead of the hosted buy page, links into this docs site, and a block to copy into a coding agent so it can do the integration (what it reads).

API keys: every product's keys on one page, with Issue key, revoke, and delete. The API Keys button on each product row opens the same keys for just that product. Leave Live selected for the key you ship (pk_live_). Test (pk_test_) is a separate pool for a dev or staging app: it cannot see live customers or start a checkout.

Webhooks: endpoints that receive signed events (license issued, key reset, revoked or expired; subscription renewed, past due or canceled), with a test ping, secret rotation, and the delivery log with Replay. Only the organization's own admins can change them. Choose Live or Test when you add an endpoint. A live purchase only notifies Live endpoints.


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. Organizations > Create (name, slug, contact email).
  2. Team > Invite Admin (pick the new organization if you are SUPERADMIN).
  3. Optionally continue with payment provider connection, product, and plan setup.

Add a product​

  1. (SUPERADMIN) Pin the top-bar filter to the target organization.
  2. Products > New product (name, what you are building; the Product ID, mode and client type are filled in).
  3. API Keys on that product row (or Developers > API & Webhooks > API keys): copy the plaintext immediately.

Add a plan​

  • Stripe: from Products, expand the product and New plan. Pick a price from your connected Stripe account, or create one inline. Set how many computers, browsers or websites one license covers.
  • Mercado Pago / PayPal / Razorpay: New plan, enter amount and currency, then the same limit. Grace period applies to subscriptions only, under Advanced options.

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 Payments > Issues > Resolve.

Replay a webhook​

Event Log (SUPERADMIN), 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
OrganizationA tenant (API still says “group”). Products, plans, customers, licenses, admins.
PluginA sellable product with its own license keys and activations.
PlanA price for a product on the connected payment provider (Stripe Price, or amount + currency for Mercado Pago/PayPal/Razorpay).
LicenseA customer's right to use a product, identified by a secret key.
ActivationOne installation of a license on a seat or domain.
SubscriptionRecurring billing (Stripe, Mercado Pago, PayPal, or Razorpay) that drives license status.
Platform subscriptionWhat you pay Licensr (Indie/Studio/Agency), always on our Stripe — separate from the provider your customers pay. Free orgs have none.
Plugin API keyCredential for the licensing API (pk_live_…). Shown once. Use a Client key inside shipped apps. A pk_test_… key is the same API for a separate dev or staging pool.
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.