Licensing

Configure product licenses, activation limits, expiry, and activation methods for your store

Overview

WooNooW Licensing generates product license keys from qualifying WooCommerce orders and controls how many websites may activate each key.

This page is for the merchant operating a WooNooW store. Customers activating a product license do not configure WooNooW's module settings themselves.

Enable the module

  1. Open WooNooW → Settings → Modules.
  2. Enable Licensing.
  3. Open the Licensing module settings.
  4. Configure the site defaults described below.

Licensing is required before you can enable Software Distribution.

Site-wide settings

SettingPurpose
License Key FormatGenerate serial, UUID, or alphanumeric keys.
License Key PrefixAdd an optional product/store prefix to generated keys.
Default Activation LimitDefault number of active website identities per license. 0 means unlimited.
Allow DeactivationLet customers deactivate installations and free activation slots.
Enable License ExpiryApply a default validity period when a product does not override it.
Default Expiry (Days)Default license lifetime. 0 means the license does not expire.
Block Expired ActivationsPrevent new activations after expiry while still allowing deactivation.
Send Expiry RemindersEnable pre-expiry reminder emails.
Reminder Days Before ExpirySelect when expiry reminders are sent.
Activation MethodChoose Simple API or Secure OAuth as the site default.
Allow Per-Product OverrideAllow individual products to override the site activation method.

Activation methods

WooNooW supports two merchant-selected activation methods.

Simple API

The product asks for a license key and activates directly through the public Licensing API. This is the lowest-friction option and is appropriate for most products.

The client still sends the required website identity:

text
persistent installation UUID + current domain

Secure OAuth

The product redirects the customer to the merchant's WooNooW store to sign in and approve the installation. Use this when account confirmation is worth the additional activation step.

The client does not select the activation method and must not send an activation_mode override. WooNooW resolves the site default and any allowed product override. See OAuth Activation Flow for the client contract.

Configure licensing on a product

When creating or editing a product:

  1. enable licensing for the product;
  2. set an activation limit or leave it empty to use the global default;
  3. set a license duration or leave it empty to use the applicable default;
  4. optionally choose a product activation method when per-product override is enabled;
  5. save the product.

A completed qualifying order generates a license for the purchased product. The license entitlement remains product-based; WooNooW does not add a generic plan/features layer.

Variable products

Activation limit and expiry can be overridden for each variation. Values resolve in this order:

text
variation override → parent product value → global default

The value semantics are important:

ValueMeaning
Empty / NULLInherit the next level.
0Explicitly unlimited for activation limit; no expiry for duration.
Positive integerExplicit activation count or expiry duration.

For example, a parent product may allow one activation while an agency variation overrides the limit to 10.

Website identity and activation slots

Each activated website is identified by both a persistent installation UUID and a normalized domain. A retry using the same pair is idempotent and does not consume another slot.

These combinations represent different identities:

  • the same UUID on a different domain;
  • a different UUID on the same domain.

A planned domain migration should deactivate the old identity before activating the new domain when the customer needs to reuse the slot. Read Website Identity for the complete rules.

License lifecycle

The stored base status is deliberately limited to:

  • active — not revoked by the merchant;
  • revoked — explicitly revoked by the merchant.

Expiry and linked subscription validity are evaluated separately. A license with base status active can therefore have an effective state of expired or subscription_inactive.

Do not use the base status alone when diagnosing customer access. Check the effective status, expiry, subscription state, and active installation identity.

Manage customer licenses

Use WooNooW's license management screens to:

  • review generated keys and product ownership;
  • inspect activation count and remaining slots;
  • view active installations;
  • revoke a license when necessary;
  • deactivate an installation when resolving a customer migration or replacement.

When Allow Deactivation is enabled, customers can also release installations from My Account → Licenses.

Software update access

For licensed update delivery, also enable Software Distribution and configure a software slug and release artifact for the same product. Update checks verify all of the following before issuing a download token:

  1. effective license lifecycle;
  2. active UUID + domain identity;
  3. license-to-product entitlement;
  4. version-to-artifact binding.

Continue with Store Owner Guide and Software Updates API.

Last updated Jul 29, 2026