Woocommerce linked licensing system for your plugins
-
@d-healey said in Woocommerce linked licensing system for your plugins:
@orange How do you manage download permissions for users adding licenses sold by resellers? Do you generate a new $0 order when they add a license?
Yes. First you need to upload the license key to the Woocommerce License Manager and set it to "unregistered" status. This means this lciense key won't be sold to other customers and it will wait to be registered. Then "Register License Key" endpoint needs to be triggered. https://firassaidi.com/docs/documentation-woocommerce-license-manager/api-version-3/register-license-key/
-
@orange said in Woocommerce linked licensing system for your plugins:
Then "Register License Key" endpoint needs to be triggered.
Does that create a new order?
-
@d-healey said in Woocommerce linked licensing system for your plugins:
Does that create a new order?
Yes it creates an order with "0" value, so the user will get download links, default file permissions like the regular orders.
-
@orange Cool. I just wanted to check if that was the best way because that's what I'm doing :) I'm using a different license manager plugin though with a custom API.
-
@d-healey said in Woocommerce linked licensing system for your plugins:
@orange Cool. I just wanted to check if that was the best way because that's what I'm doing :) I'm using a different license manager plugin though with a custom API.
Actually I've contacted to this plugin's developer and asked this system. Thanks him, to listem my endless requests, he is a great developer :) Then he added JWT Auth, Register License, Get User Licenses... and lot's of features and then released a new API v3 :) So this plugin is just for Hise users :)
-
@orange - How did you deal with finding the correct folder on a Mac for your product...I assume that's where you are storing the license...
-
@lindon I store mine in appData.
const appData = FileSystem.getFolder(FileSystem.AppData);
Actually I don't store the license on the user's system, I just store a flag to indicate if they have a valid license once it's been confirmed by the server. From a security point of view it doesn't make much difference except if someone does de-encrypt the file they'll just find a flag instead of the license key.
-
@lindon said in Woocommerce linked licensing system for your plugins:
@orange - How did you deal with finding the correct folder on a Mac for your product...I assume that's where you are storing the license...
FileSystem.getFolder(FileSystem.AppData)
is the way to go as a reference point. And you can combine it with.getParentDirectory()
and/or.createDirectory("Your License Folder")
relatively to this reference point. -
@orange said in Woocommerce linked licensing system for your plugins:
@lindon said in Woocommerce linked licensing system for your plugins:
@orange - How did you deal with finding the correct folder on a Mac for your product...I assume that's where you are storing the license...
FileSystem.getFolder(FileSystem.AppData)
is the way to go as a reference point. And you can combine it with.getParentDirectory()
and/or.createDirectory("Your License Folder")
relatively to this reference point.& @d-healey ... yes obviously BUT:
FileSystem.AppData will point to the correct folder for the end-user product...but ONLY inside the end-user product.....
so I have a product called SynthSimple.... and a validation stand alone called myValidationApp.
inside SynthSimple the AppData folder points to:
C:/Users/joeBlo/AppData/Roaming/myCo/SynthSimple
inside myValidationApp it points to:
C:/Users/joeBlo/AppData/Roaming/myCo/myValidationApp
so myValidation App needs to put the validation key/flag/whatever inside the AppData folder for the end-product - not in its own folder....
So how do you do that?
-
@lindon said in Woocommerce linked licensing system for your plugins:
So how do you do that?
fromAbsolutePath
but not on master branch. You'll have to do as orange suggested and browse from the appData directory usinggetParentDirectory
,getFolder
, andgetChildFile
. -
Why don't you put the validation key/flag...etc. inside the "C:/Users/joeBlo/AppData/Roaming/myCo/Validation Folder" for example?
So this folder will be a common folder for all software, even with or without Validation App. For example;
const validationFolder = FileSystem.getFolder(FileSystem.AppData).getParentDirectory().createDirectory("Validation Folder");
-
@orange said in Woocommerce linked licensing system for your plugins:
Why don't you put the validation key/flag...etc. inside the "C:/Users/joeBlo/AppData/Roaming/myCo/Validation Folder" for example?
So this folder will be a common folder for all software, even with or without Validation App. For example;
const validationFolder = FileSystem.getFolder(FileSystem.AppData).getParentDirectory().createDirectory("Validation Folder");
because its not even commonly "rooted" on MacOS...
-
@lindon said in Woocommerce linked licensing system for your plugins:
because its not even commonly "rooted" on MacOS...
Yes AppData is common on both Win and Mac. This works here.
-
@orange --er no its not. I t will be common on a single Mac but not between more than one Mac - well that's my understanding anyway.
-
@orange . Congrats ! bro. Learning many things from you.
-
@orange Very interested in this. Well done!
-
-
@orange great job !! And thank you for your insight !
-
thank you so much @orange for this specific useful know how.
great work! :growing_heart:
what do you mean with cpu economic? are these queries slowing server?
-
@steve-mohican said in Woocommerce linked licensing system for your plugins:
are these queries slowing server?
Every query requires processing resources, the less queries you make the better.