Software licensing

Sell plugins and themes with keys and updates.

Licence keys with activation limits, and updates delivered straight into your customers’ WordPress dashboards from your own store. In the free plugin, with no licence key of its own required.

Six steps to a licensed product

All of it on the product’s own Licensing tab.

  • Turn on Issue license keys for this product.
  • Set the number of sites per licence, or a different number for each price option. Zero means unlimited.
  • Choose a licence length in days, or make it a lifetime licence.
  • Pick the file that is your installable zip as the update package, and enter the current version.
  • Add the WopCart updater class to the plugin or theme you sell.
  • Buyers receive a key, activate it inside your software, and get updates while their licence is current.

Activation limits that fit real work

  • Limits per product or per price option, such as Single Site, 5 Sites and Unlimited
  • Local and staging installs use no seat, up to 3 per licence by default, and you can change the cap
  • Customers remove an activation themselves from their account page, after a domain move for example
  • After a subscription downgrade, extra activations are released at renewal and the customer picks which sites stay

Updates from your own store

  • Version, changelog, required WordPress and PHP versions and “tested up to” in the customer’s updates screen
  • Upload a new package file and customers are offered the update
  • Drop-in updater class for plugins and for themes
  • An expired licence stops updates, never the software
  • Emails before and after a licence expires

An API built for public endpoints

  • REST routes to activate, deactivate and check a licence, and to check the latest version
  • A form-post endpoint following the convention many existing WordPress updaters use, so switching can be a change of URL
  • Rate limiting per address and per key
  • Keys compared in constant time, with stable machine-readable error codes

Add the updater to your plugin’s main file, four lines, no dependencies:

new WopCart_Updater(
    array(
        'store_url' => 'https://your-store.com',
        'item_id'   => 123,
        'file'      => __FILE__,
        'version'   => '1.4.2',
        'license'   => $license_key,
    )
);

For a theme, pass 'type' => 'theme' and set 'slug' to the theme directory.

Upgrades

Between your own tiers

  • One-off licences: the customer pays the difference between the two list prices and keeps the same key.
  • Subscriptions: upgrades are charged at once with proration, downgrades take effect at the next renewal.
  • Changes create no refunds or credits.

Managing

Admin, account, command line

  • A Licenses screen in the WordPress admin, with activations per key.
  • Customers see their keys and activations in their account.
  • wp wopcart licenses and wp wopcart license-extend on the command line.
  • Events for every licence step — created, activated, deactivated, expired, upgraded, transferred — on webhooks, Zapier and Automator.

Licensing questions

Do I need to pay to sell licence keys?

No. Software licensing is in the free plugin. WopCart Direct changes only the platform fee and which gateway accounts you use.

Does an expired licence disable my customer’s software?

No. It stops updates. The installed software keeps working — the same rule we apply to our own add-on.

Do staging sites use up activations?

No. Local and staging installs are recognised by their address and use no seat, up to 3 per licence by default.

Sell your first licence.