License Keys

Selling apps, software, themes, templates or any other digital product that uses License Keys is easy with Selz.

To use license keys you need to be on the Standard or Advanced plan. License keys are only issued during purchase - no license keys are issued for item updates.

There are a few options when it comes to License Keys:

  1. You can let Selz automatically generate the license keys
  2. You can provide your own license keys as a list. 
  3. You can add an existing system that we can query to return your license keys from a provided URL

Create or edit an item as normal and select the Licences tab, to see the following options:

  • No license keys issued
  • Automatic
  • List
  • Remote

No license key issued

This is the default for all items and we will not issue any license keys.


Selecting "Auto-Generate" enables Selz to automatically assign a 16 character license that has the form XXXX-XXXX-XXXX-XXXX.

Using "Auto-Generate" means no other actions are required to maintain the generation and assigning of the licenses.


Allows you to add a list of license keys to an item. Each license is added as a new row within the 'New license keys' section. Once an order is processed we'll assign the next available license key from the list.

Once saved you can see licenses that have been used and unused for an item. Select 'View licenses' to see more detail.

  • Unused: You can delete and they will be removed from the list of license keys for that item.
  • Used: You can select to view the related order.

You can add additional license keys at any time by pasting them in the 'New license keys' field.


When you have an existing system to manage your licenses keys we will call this system via a defined URL to obtain the next license. Enter the URL and click 'Test', we'll then verify that we can connect to the URL. Once an order is processed we'll assign the license obtained via the URL.

We will make a POST request to the URL with a JSON encoded body shown below. Use the Quantity property to determine how many licenses need to be returned.


	"OrderId": "57be45fdcca918100c0156b1",
	"ReferenceId": "XZHQ59WA",
	"ProductId": "57be45fdcca918100c0156b3",
	"BuyerName": "John Doe",
	"BuyerFirstName": "John",
	"BuyerLastName": "Doe",
	"BuyerEmail": "",
	"Quantity": 3


	"Keys": [

Verification key 

A verification key is provided to verify that the webhook originated from Selz. See our guide to securing webhooks.

How license key enforcement works

License key enforcement is completely up to you. As the seller, you can decide how many uses each key gets depending on the verify license API calls you make. Selz does no additional license key verification.

Remember that if you check for a valid license on each launch you will increment the usage count unless you set increment_usage_count flag to false. You can also make sure a user hasn't refunded or charged back their purchase by checking the status fields of the order the license verify API call response.

Verifying a license key in your application

Verifying a license key uses these parameters:

  • product_id (the unique id of the product)
  • key (the license key provided by your customer)
  • increment_usage_count ("true"/"false", optional, default: "true")

We use these parameters to call the Selz API and verify the provided license key


curl --request POST \
  --url{product_id}/licenses/verify \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --data '{"key":"xxxx-xxxx-xxxx-xxxx","increment_usage_count":true}'


            "line1":"1 Surfview Road",
            "product_title":"Some awesome tool",

Failed licenses

If an order is processed and a license key cannot be assigned then a notification is sent advising that the order and item require attention.

Common reasons for failed licenses:

  • Remote license keys: We couldn't connect to your remote URL
  • List license keys: There are no more licenses available for the item

The order will still be processed and the customer will be notified within their order confirmation that the license key is pending. Orders with failed license keys will also be highlighted within the order list.

To resolve failed licenses:

  • Remote license keys: Check that your URL is correctly configured and working.
  • List license keys: Check the item to ensure that there are license keys available.

Once the above has been resolved, license keys will need to be assigned for each failed order, within the order detail page select 'Retry' and we'll attempt to reassign license keys for the order. Once successful we'll automatically email the customer their license keys.

Still need help? Contact Us Contact Us