„Licensed Product“ Shopware Plugin

„Licensed Product“ is a Shopware Plugin which makes it possible to create products which are licenses. After that a library can be included into your Java/C#/PHP/Swift/etc. application which provides a login interface to the user to login and validate if a license was bought.

For this plugin Shopware 6 or higher is necessary.

The plugin uses ECDSA to verify the license data.

If you are a software development company which sells its software via a webshop this plugin is a great way to include a license validation mechanism in your applications. These can be desktop applications, mobile apps, online applications and so on.

When creating a product you can define how many weeks a license (product) is valid.

Currently a library for Java is available. If you have other needs, please contact us. A library can be implemented in a few days.

Example in your Java application

LicensedProduct.init(
   new String[] { 
      "123457890987654321",
      "111222333444555666"
   },
   "SWXX112233445566XX", 
   "http://your.shop.com"
);

To initialize the lib you simply call the init(…) method where you provide all the Shopware product IDs which are necessary to buy for the user to use your application in an array.

In the second parameter you provide the „sw-access-key“ provided by your Shopware installation.

In the third parameter you provide the URL to your Shopware installation.

This init(…) call brings up the the login dialog if now license information is available. When the user logs in, a license file „.masterstudiosnet_licenses“ file is created in the home directory.

Then you must call the verify() method to check the license again.

LicensedProduct.verify();

So you should call this e.g. in some basic entry points.

Also the plugin verifies the data in a background process. If an internet connection is not available the user is notified. If the connection is not available for a few more minutes the application will exit.

Shopware API

In the Shopware APIs endpoint for the product (e.g. /sales-channel-api/v1/product/e6fac7720091230cedd9) you will see then custom fields like shown in the following picture: