Licensing

Licensing for Ninja Shop is a robust application for selling and managing license keys for your products. Licensing focuses on collecting meaningful data and decreasing the barriers between you and your customers.

Releases

Releasing a new version of your product with Licensing is different from most other software licensing solutions. A release is created for each new version of your product. Each release has a type, major, minor, security or a pre-release. When activating a license key, customers can optionally subscribe to the pre-release track to download alpha or beta versions of your software.

Licensing keeps track of the customers who have updated to your new release and the version they updated from. Additionally, you can quickly email all your customers who haven’t yet updated. While useful for both major and minor releases, this feature really shines when distributing security fixes.

Notification Editor

Licensing gives you the power to pause releases. When a release is paused, update notifications will stop being distributed to your customers. Additionally, any download links that have been generated will download the latest stable version of your product. This is a great way to temporarily halt distribution of a release while fixing a critical bug.

Renewals

Renewing license keys is extremely simple for your customers. You can configure an unlimited amount of notification emails to be sent to your customers when their license keys are approaching expiration or have already expired. Renewal links bring your customers directly to the Ninja Shop purchase screen.

Optionally, you can provide your customers with a renewal discount that is automatically applied during checkout. Renewal discounts can be configured globally and per-product.

Licensing integrates with the Recurring Payments Feature to automatically renew license keys when they expire.

Reporting

Being able to make data driven decisions is crucial for elevating your business. Licensing comes with a powerful reporting API. You can view the total renewal revenue generated, licenses created, and the installed versions of your software, among others.

Depending on the type of report, data can be restricted to a specific date period or product. Licensing also provides an API so you can register your own report types.

Advanced Settings and Options

WP CLI

Nearly anything you can do in the Licensing admin can be controlled via the command line with WP-CLI. Keys can be disabled, renewed, extended or even created from the cli. Additionally, activation records can be created, deactivated or deleted.

Licensing can be integrated with your build processes by creating and distributing releases via WP-CLI. Release statistics commands are also provided.

All commands are under the main itelic command followed by a grouping command.

For example this following will list the first 20 license keys:

wp itelic key list

This will disable the license key abcd-1234

wp itelic key disable abcd-1234

You can create a new release from the command line like so. This will create a new major release for the product with an id of 7. The new version will be 1.2 and the file ID used for updates is 7. This can be used in combination with the wp media import command to streamline how you release new updates for your software.

wp itelic release create --product=5 --version=1.2 --file=7 --type=major

HTTP API

All API requests are automatically logged and made searchable in the licensing admin interface. Logs are automatically purged after 60 days.

Demo Data

Licensing comes with a bash script to create demo data. I recommend doing this on a clean WordPress install. Before running the import script, be sure to add at least one zip file to your media library. This is used to create demo products and releases.

From the main plugin directory run the following commands:

cd wp-cli
./demo-data.sh <size>

Size can be one of small, medium, large, or giant. I’d recommend sticking with small or medium, as the default Ninja Shop admin won’t scale well to a large purchase count.

Running the demo data script will create customers, product, releases, activations and renewal records.