Software Licensing – Usage Instructions

Software Licensing is an extension for Easy Digital Downloads that makes it easy to license your digital products. Learn more at the main Easy Digital Downloads website.

This document will walk you through the setup instructions for the  Software Licensing add-on.

Note: this add-on has been built specifically for WordPress plugin and theme authors, but due to the included API, anyone can take advantage of the features it provides.

License key generation is setup on a product-by-product basis, so not all products sold through your store are required to have license key generation. To setup a product to generate license keys on purchase, go to your Downloads page, then click Edit on the download you wish to configure.

Below is a screenshot of part of the user interface inside a single download for setting up software licensing for that product.

Activating Your License for the Add On

Software Licensing uses itself to provide automatic upgrades for the add-on. You will have received a license key in your purchase receipt; copy the key to your clipboard, then go to  Downloads > Settings > Licenses and enter the key into the "License Key" field under "Software Licensing". Click "Save Changes" to activate your license.

Anytime a new version of the add-on is available, you will be notified of the update just like any other WordPress plugin.

Configuring the Product Options

On the Download product edit screen, there will be a new "Licenses" meta box added. All setup for the license specific to the current product will be done in this box.

Note: bundled products have slightly different options. For details on bundle product configuration, see here.

There are several options:

1. Check to enable license creation

Checking this box will cause license keys to be generated anytime someone purchases this product. When a license key is generated, you will be able to see it on the  Downloads > Licenses page.

2. Enter the Activation Limit

This is the maximum number of times each license key can be activated. If you'd like to limit a license key to 10 uses per customer, enter  10. If you do not want to impose any limit restrictions, leave this blank or enter 0.

3. Enter the current version number

This corresponds to the current version number of your software that is available. If you are selling version 1.0, then enter 1.0 here. If the current version available is 1.5, then enter 1.5 here. This version number is used specifically for WordPress plugins and themes that have implemented the automatic upgrade system, but can also be used by any other kind of software by utilizing the  included API.

4. Choose the source file to be used for automatic upgrades

This lets you set the .zip file (or perhaps other format) that is sent to users when performing an automatic upgrade. This option is used specifically for WordPress plugins and themes that have implemented the automatic upgrade system, but can also be used by any other kind of software by utilizing the  included API.

If you are selling a WordPress plugin or theme, this option should be set to a .zip that contains  only the necessary plugin or theme files. This .zip file is setup through the main Download Files configuration section.

5. Change Log

This is a documentation of the changes that have been made with each version of the software. Anytime a new version is released, you should add notes about what changed here. These notes will be displayed in the "What's New" upgrade notices that users can view when upgrading their WordPress plugins or themes.

If you are  not selling a WordPress plugin or theme, this change log can still be utilized via the included API.

6. License Keys

By default, Software Licensing will generate a unique 16-digit license key for the completed purchase of a licensed product. There is no limit to the number of keys that can be created. However, the License Key textarea will allow you to list your own available license keys one per line. Once they have been exhausted, keys will be automatically generated once again.

Managing Sold License Keys

The Downloads → Licenses page provides an overview of all the license keys you have sold. Several pieces of information are listed with each key:

  • Name - this shows the product the key was purchased for, and the email used to purchase it.
  • Status - this indicates the status of the license, either active, inactive, or expired.
  • Key - this is the actual license key sent to the user.
  • User - this is the WordPress user (if registered) that purchased the license.
  • Site Count - this is the number of sites (or times) the license has been activated on.
  • Activation Limit - this is the number of sites (or times) the license can be activated on.
  • Expires - this is the date that the license expires. All license keys are (by default) valid for 1 year.
  • Purchased - this is the date the license was purchased.

NOTE: Newly created licenses are always set as inactive. They're not set as active until the customer activates them.

There are four filters at the top of the page, just below the page title, that let you view license keys by status.

You can manually activate, deactivate, renew, or delete a license at anytime by hovering over the license and clicking the appropriate link. 

Note: deleting a license key is irreversible.

You can also view the activation log for any license by hovering over it and clicking "View Log". This log will show you the URL, IP, and date of each time this license has been activated.

Site URLs can be manually managed on a per-license basis by clicking the "Mange Sites" link. If you wish to add or remove a site URL from the license, you can do it on this page:

Screenshot from 2014-01-23 15:49:32

License Renewals

As of Software Licensing version 1.6, there is a renewal system built-in that allows customers to renew their license keys. License renewals must be enabled from  Downloads > Settings > Extensions.

If renewals are enabled, there will be a section added to your checkout screen that allows customers to enter an existing license key in order to renew it:

Screen Shot 2013-06-07 at 4.16.40 PM

Sending License Renewal Notices

Software Licensing can automatically send renewal notice emails when license keys are within the specified expiration period set in the renewal notice options.

License key renewal notices can be manually resent on a key-by-key basis, or via a bulk action. To send renewal notices for multiple keys at once, select the licenses to send a renewal for, then select "Send Renewal Notice" from the drop down menu at the top left.

The email notice that is sent for license keys to be renewed can be customized from  Downloads > Settings > Extensions.

License Key History

Customers' license keys can be shown in their account page using the [edd_license_keys] shortcode. This will display all license keys that belong to a customer (requires that they are logged in) along with relevant information about the license, such as expiration date, status, renewal options, upgrade options, and a link to view the purchase record for the license.

Note: The "Renew/Extend" options will only show if you use the [edd_license_keys] shortcode. Currently, they will not show on the [purchase_history] shortcode despite it having a "View Licenses" option.

License Upgrades

If desired, upgrade paths can be configured for products that permit customers to upgrade their license keys.

Upgrade paths are configured on the product edit screen and look like this:

To create an upgrade path, first select the Download product that customers can upgrade to. This can be the same product or another product in your store's catalogue that has licensing enabled. If the Download you have chosen has variable prices enabled, a Price Option drop down field will appear that lets you select the price option the upgrade is for. 

After selecting the product and the price option (if any), you can choose whether to prorate the license upgrade and whether to offer an additional discount.

Proration

Site admins can configure the Proration settings in Downloads → Settings → Extensions → Software Licensing. Two options are available for the Proration Method, Cost-Based Calculations and Time-Based Calculations.

Cost-Based Proration

Cost-Based Proration will charge customers the difference between the Download they currently have a subscription for, and the price of the Download they wish to upgrade to.

Example: A customer purchased a Single Site license for Product A for $89 on October 1, 2017. On March 1, 2018 the customer upgrades their license to 2-5 Sites which is $129. The customer will pay $40 to upgrade. On October 1, 2018, the subscription will renew and the customer will pay $129 for Product A (2-5 Sites) and have an active license key until October 1, 2019.

Time-Based Proration

When a customer chooses to upgrade and you've selected Time-Based Proration, the amount the customer will be charged to upgrade is based on the price difference between the two options, and the time left in their current subscription before it renews.

Example: A customer purchased a Single Site license for Product A for $89 on October 1, 2017. On March 1, 2018 the customer upgrades their license to 2-5 Sites which is $129. The price difference is $40 and there are 6 months left in their current subscription. The customer will pay $20 to upgrade. On October 1, 2018, the subscription will renew and the customer will pay $129 for Product A (2-5 Sites) and have an active license key until October 1, 2019.

The expiration date of the license will not change; an upgraded license will still expire on the original expiration date whether prorated or not.

When a customer wishes to upgrade their license key, they can log into their account (user accounts are required to upgrade a license) and go to their  purchase history. From there, they will click on View Licenses and then on View Upgrades.

Once an upgrade has been chosen, the customer will click Upgrade License to proceed to the checkout screen where they can complete their purchase.

Site admins can view revenue generated by license upgrades in Downloads > Reports > License Upgrades.

*Please note that, at this time, Software Licensing upgrades will not affect/change the original expiration date of the license.

Adding License Keys to the Emailed Purchase Receipt

The Software Licensing add-on will make a new template tag available for the purchase receipts:  {license_keys}

In order to send the license key to the buyer, this template tag  must be included with the purchase receipt.

Generating License Keys on Past Purchases

If you have been selling for some time before activating Software Licensing and you wish to go back and generate license keys for those orders, you can do that by going to Downloads → Tools and using the  Retroactive Licensing Processor.

Screenshot from 2014-01-23 16:28:34

Adding Automatic Upgrades to Your WordPress Product

See our documentation about how to integrate automatic upgrades for your WordPress  plugins.

See our documentation about how to integrate automatic upgrades for your WordPress themes.

Working with the API for Other Kinds of Software

This add-on provides a complete API that you can use for activating and validating license keys. You can also use the API for checking if new versions of the software are available, and for downloading install files for the latest version.

For documentation for working with the API, click here.