@orestiskon I use the GumRoad API and their License Key System for all my plugins. Here is a quick overview of how you would implement it.
- Enable the license key generation for your product in your gumroad store. This sends the user a key when they purchase
- You then need to implement a way for your users to input that key into their plugins. I have a plugin manager that gives users one location to do this for all of my plugins I sell.
- In your plugin you then call the GumRoad API license endpoint and pass in the Key that the user received.
- The API then returns if the key is valid and how many times it has been used. Each time the endpoint is called you can choose to increase this "used" counter.
- If it has never been used then you then need to generate an offline key that you will store on the users machine somewhere, or in their preferences. This Key would be something like an MD5 Hash of their Cinema 4D User ID, Email Address or System ID combined with some secret key and an identifier for your plugin. UserID+SecretKey+PluginModuleID
- When the user restarts C4D your plugin then looks for this offline key and if found your plugin would run.
The biggest problem with this solution is when users changes machine or move to a new version of C4D. If they haven't backed up their offline key, or if it is not even accessible to them then your GumRoad API key is no longer userful to them.
To remedy this I also have an AWS API that gets called by GumRoad when the purchase. You can add a Callback in your GumRoad account for this. I then call my own AWS API to handle allowing users to re-install the plugins if the GumRoad key has already been used by checking my own API database. Having my own database allows me to reset they keys on my side (something GumRoad doesn't let you do, but I have requested this already from them, ie the ability to reset the Used counter back to zero would do the same thing). But having my own API future proofs me in the event that I wish to move away from GumRoad as well, since I have now essentially built my own licensing system on AWS and may in future remove my dependence on the GumRoad license key generation completely.
I have contemplated providing a monthly service to developers to give them a proper licensing solution for C4D development. But there is really no market for it. There are not enough developers and we are all just wanting to do our own thing for the fun of it mostly anyway.
MAXON really need to sort this out and have an internal system for us developers. It is absolutely insane that they removed the existing system without implementing a replacement. Forcing every developer to roll their own licensing system is a complete waste of time and does away with what the developer wants to do in the first place, which is make a C4D plugin, not spend months investigating and writing their online licensing system.