Skip to main content

Downloads and Licensing Plugin

Sell Joomla extensions and other software with license key management, domain activation tracking, and a Joomla-compatible update feed.

The plugin is shipped as plg_easycommerce_downloads and registers itself with EasyCommerce through the extensions.plugin router.

Features

FeatureDescription
License key generationUnique keys minted automatically when a digital order is paid
Activation trackingPer-domain activation records with a configurable cap
Domain managementView and revoke activations from admin or the customer account
Secure downloadsFiles served from local storage (stream) or S3 (presigned URL), default expiry 3600 seconds
Joomla update feedPer-extension XML feed at task=updates.check, signed download URLs at task=updates.download
Subscription-aware expirySubscription-linked licenses inherit next_payment_date as their expiry
Bundle entitlementA license to a parent product grants downloads of grouped and bundled child products

How it works

  1. Customer buys a digital product.
  2. The plugin generates a license key in the form shondalai-{uuid-v4} and stores it in #__easycommerce_licenses.
  3. Customer signs in and opens My Account to view licenses and downloads.
  4. Customer installs the extension on a site. The extension calls the activation endpoint and a row is written to #__easycommerce_license_activations.
  5. Joomla checks the update server. The plugin validates the license, auto-activates the calling domain if needed, and returns the update XML with a signed download URL.
  6. The customer's Joomla downloads and installs the new version.

Use cases

  • Selling Joomla extensions with auto-updates
  • Selling WordPress plugins or generic ZIP packages
  • Distributing software with domain-locked licensing
  • Bundling multiple downloadable products under a single license

Getting started

  1. Installation
  2. License management
  3. Customer portal
  4. Update server