How to Sell WordPress Plugin Licenses From Your Own Site

To sell a premium WordPress plugin, you need five things: a checkout, license keys, a limit on how many sites each key can activate, a way to deliver updates to paying customers, and renewals. You can rent all of that from a hosted platform, or run it on your own WordPress site. We do both: our NDV Image Upload Pro sells through Freemius, and we build WP License Manager, an open-source plugin for selling licenses from your own WooCommerce store. This guide explains how the self-hosted route works.

What do you need to sell plugin licenses?

  • Checkout: somewhere customers pay, plus tax and invoices.
  • License keys: generated automatically when an order completes and emailed to the buyer.
  • Activation limits: a 1-site key should stop working on a second site.
  • Updates: licensed copies of your plugin need to see new versions in the WordPress dashboard.
  • Renewals: yearly or monthly billing, failed-payment retries and a way for customers to renew themselves.

Should you use a hosted platform or sell from your own site?

A hosted platform such as Freemius gives you checkout, licensing, trials and updates without running any of it yourself. That’s why we use it for NDV Image Upload Pro. You get a working store quickly, and in exchange you work within the platform’s checkout and terms.

Selling from your own site makes sense when you already run WooCommerce, want customers and payments to stay on your own domain, or license software that isn’t a WordPress plugin, such as desktop or mobile apps. That is the job WP License Manager does.

How does self-hosted licensing work with WP License Manager?

  1. Install it from the latest release ZIP on GitHub (Plugins → Add New → Upload Plugin). Activation creates its database tables and generates an Ed25519 signing keypair, so there is nothing to configure before your first license.
  2. Attach a license plan to a WooCommerce product from the product panel. Each license has a seat limit, so you decide how many sites or devices a key can activate.
  3. Sell as normal. When an order is completed, the license is issued and the key is emailed with the order. Customers see their licenses and subscriptions under My Account.
  4. Your plugin activates and checks the key through public REST endpoints, so no API key is needed inside the plugin you ship.

Activating a seat and validating it look like this:

# Activate a seat on this site or device
curl -X POST https://yoursite.com/wp-json/wplm/v1/activate \
  -H "Content-Type: application/json" \
  -d '{"license_key": "XXXX-XXXX-XXXX-XXXX", "fingerprint": "device-id-here", "name": "My Laptop"}'

# Validate the key (returns a signed payload you can cache)
curl -X POST https://yoursite.com/wp-json/wplm/v1/validate \
  -H "Content-Type: application/json" \
  -d '{"license_key": "XXXX-XXXX-XXXX-XXXX", "fingerprint": "device-id-here"}'

Can a license be checked without calling your server every time?

Yes. Each validation returns a payload signed with Ed25519. Your software stores it and checks the signature against your public key, which it downloads once from /wp-json/wplm/v1/public-key. That keeps working when your store is slow or the customer is offline. A signed revocation list lets offline copies drop a revoked key the next time they fetch it.

Do you need WooCommerce Subscriptions for renewals?

No. WP License Manager has its own recurring billing by day, week, month or year. It retries failed payments on a schedule you set (by default after 1, 3 and 5 days) and handles prorated upgrades and downgrades. Customers can pause, resume, cancel or renew from My Account without contacting you.

How do licensed customers get plugin updates?

The plugin includes public update-check and download endpoints, and the PHP SDK has a WordPress helper for licensing and automatic updates. Licensed sites then see new versions in their dashboard like any other plugin.

What should you know before using it?

WP License Manager is in active development, so check these points against your needs:

  • It isn’t on WordPress.org yet. You install it from a GitHub release.
  • It needs PHP 8.0 or later and WordPress 5.8 or later. WooCommerce is only needed for the store, checkout and subscription features.
  • Client SDKs for Dart/Flutter, Python, PHP and JavaScript are available from GitHub, but aren’t published to their package registries yet.
  • The project lists its known limitations and full change history in its README and changelog. Read them before you go live.

Want help setting up licensing for your plugin?

We build WordPress and WooCommerce plugins and the licensing behind them, from wiring a plugin into a hosted platform to running licenses from your own store. See our plugin development service or tell us about your plugin.

Source: the WP License Manager README on GitHub, checked 7 November 2026. WP License Manager is built by Nowdigiverse. Freemius is a trademark of its owner.

Need help with your website or app?

We build and look after WordPress and WooCommerce websites, mobile apps and AI automations. Tell us what you need and get a free consultation.

Let's discuss your project

We are committed to understanding your requirements and crafting a tailored solution that aligns with your goals.

Enter your details and someone from our team will reach out to find a time to connect with you.

Talk to a Specialist