License Key Plugin

6 years ago
To get this latest 3.50 version to work one has to make a few changes to the source code:

Routeprovider.cs: Add this mapping

                 new { controller = "ProductKey", action = "GetProductKey" },
                 new[] { "Nop.Plugin.Misc.Licenses.Controllers" }

ProductKeyConsumer.cs: Change one line in HandleEvent(...) to match:

  string url = "../../../Plugins/ProductKey/GetProductKey?productId=" + productId;

EditProductKey.cshtl: Add a 'using' at line 2

@using Nop.Web.Framework;

Maybe I'll find some other issues later.

DNF: Uninstall and install the plugin in the nop admin!
6 years ago
actOpus Thanks a lot.

My a little contribution.
I added a button for a generation LicenceKey


@model Nop.Plugin.Misc.Licenses.Models.ProductKeyModel
@using Nop.Web.Framework;

<table class="adminContent">
        <td class="adminTitle">
            @Html.NopLabelFor(model => model.ProductKey):
        <td class="adminData">
            @Html.EditorFor(model => model.ProductKey)
            <span id="licensekey-generate" class="k-button">Generate</span>
            <span id="licensekey-save" class="k-button">@T("Admin.Common.Save")</span>
            <span id="licensekey-message" style="color:#009900"></span>

<script type="text/javascript">
    $(document).ready(function () {
        $("#licensekey-save").click(function () {
            var model = {id: $("#Id").val(), productKey: $("#ProductKey").val() };
            $.post("@(Url.RouteUrl("Plugin.Misc.Licenses.SaveKey"))", model, function() {
        $("#licensekey-generate").click(function () {

    var generateRandomKey = function(length) {
        var chars = '!#^&*()0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        var result = '';
        for (var i = length; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
        return result;
6 years ago
Ah nice, I was using an online key generation tool but this is much easier
6 years ago
Hi there!

Have you changed it to support multistore license?

And after customer get the key, input it as plugin settings, how to verify it in destination plugin?

6 years ago
Does this plugin allow vendors to be able to have license keys assigned out and verified, or is it only a store owner?
6 years ago
Does anyone have a compiled version of this that works with 3.50 that they could post?

UPDATE: Nevermind, I got mine to compile correctly now.
6 years ago
Has anyone changed this plugin to work with trial versions of software? If so, would you mind supplying the code to do that?
6 years ago
So, we should have:

- trial keys;
- key use in multi-store;
- how to decrypt key in plugin configuration and check if it is valid when plugin is executed;
6 years ago
ivanslater wrote:
And after customer get the key, input it as plugin settings, how to verify it in destination plugin? Thanks!

Is this what you are looking for?
6 years ago
Yes, it is, but this method should be in a core or main plugin, so all other can use it, otherwise all plugins should have same method and any change should be painful.