Skip to content

Customer Portal ​

The customer portal is a self-service area where logged-in customers can view orders, manage subscriptions, download files, and copy license keys.

Setup ​

Create a menu item:

  1. Menus → Add New Menu Item
  2. Type: LicenseDock → Account (or any other portal section as the landing point)
  3. Save

The portal requires a logged-in Joomla user. Anonymous visitors are redirected to the standard Joomla login.

The sidebar navigation is enabled by default and can be configured (vertical or horizontal) in Settings → Frontend Display.

Sections ​

The portal is split into seven views, each backed by its own controller and view:

SectionWhat it showsCustomer can
AccountProfile summaryExport GDPR data (JSON)
BillingSaved billing detailsUpdate company, address, tax ID, phone
OrdersOrder historyView order details, download invoice PDF
InvoicesPer-order PDFsDownload invoice (re-rendered on request)
SubscriptionsActive and past subscriptionsCancel auto-renewal, renew expired, change plan, cancel pending plan change
LicensesLicense keys and activationsCopy key, deactivate an activation
DownloadsLatest version per purchased productDownload files

Account ​

The Account view shows the customer's profile and provides a Export My Data button. Clicking it returns a JSON dump of all LicenseDock data tied to the user (orders, subscriptions, licenses, activations, invoices, email log) for GDPR compliance.

Profile and password edits go through the standard Joomla user profile (com_users).

Billing ​

Billing details captured at checkout are persisted on the customer record and editable here:

FieldNotes
Company–
Address, City, State, Postcode, Country–
Tax IDVAT, GST, EIN. Shown on invoices
PhoneE.164 format. Visibility controlled by store settings

These details prefill at checkout next time and appear on every future invoice.

Subscriptions ​

For each subscription the customer sees status, next renewal date, plan, and price. Available actions:

ActionBehaviour
Cancel auto-renewalSubscription stays active until end of paid period, then expires. Reversible until expiry
RenewManual renewal of an expired subscription. Sends them through checkout for the next cycle
Change PlanPick a new plan + cycle. Customer chooses immediate (proration) or scheduled (next renewal) where the gateway supports both
Cancel pending plan changeRevert a scheduled change before it applies

Plan change behaviour varies per gateway – see Plan Changes.

Licenses ​

Each license shows status, expiry, activation count vs limit, and the list of current activations. Customers can:

  • Copy the license key to clipboard
  • Deactivate any of their activations to free a slot

Customers can't manually create activations from the portal – activations are created by the customer's own software via the API.

Downloads ​

Lists the latest published version of every product the customer has bought, with download buttons. Downloads are streamed through LicenseDock so license validity is checked on every request.

Orders & Invoices ​

Orders show the full purchase history – order number, date, product, plan, amount, status. Each completed order has a Download Invoice button.

Invoice PDFs are re-rendered on request, so changes to your store name, logo, or tax ID flow through to past invoices automatically.

Auth & Access ​

AspectBehaviour
Login requiredAll sections redirect anonymous visitors to login
OwnershipEach view is filtered to the logged-in user. A customer can only see their own orders, licenses, and subscriptions
Invoice downloadReturns 404 if the order doesn't belong to the requesting user
CSRFAll POST actions (cancel, change plan, billing save, deactivate) require a valid Joomla CSRF token

Joomla Extensions by Contona