Jump to content

Customize user license expiration


Go to solution Solved by Marc,

Recommended Posts

Posted (edited)

Hey there, have a bit of a problem and not sure if what i want is even possible at all...
Bit of info: Running the cloud community on 4.6.9. Not a whole lot of web development background, but always willing to learn. 🤷‍♂️
My goal as of now is to provide license keys via commerce, that a user would be using in an external C# application. These licenses need easy to edit, and flexible "activation" and "expiration" dates instead of what's provided with the included community renewal options.

My current plan is to generate a license that does not have a renewal, 2 custom text fields (expiration date and activation date).
-> User logs into app via oauth, and selects the new license, which then posts a record in a database with:
- License Key
- Unix timestamp of first use
- Unix timestamp of when the license "should" expire, among a few other things
which would then post "clean" datetimes to the license's custom fields.
All the above is working splendidly via RestSharp and the RestAPI. However once a license "expires", I have no way of actually marking it as such in users purchase history
and it still gets flagged if including ("active", 1); as a request parameter for user purchases.
image.png.e4157bbaf0b9d195aab0d9d1b30261a3.pngimage.png.77787ca53f40ecd911057f95ea5211fb.png

TLDR: 
Is it possible for me to sync a purchases expiration date with a unix timestamp saved in a database externally(aka 3rd party desktop application)?
Is it possible for me to change a license from "active" to "expired" from a 3rd party desktop application?
If neither of the above are possible externally, would it be possible via plugin or something on site?

Manually deactivating licenses would be a royal pain in the butt.. and manually extending those licenses in event of any downtime, even more so!
My idea above lets me simply get all active purchases and add X amount of seconds to each expiration date.. 🤷‍♂️
Sorry if this wasn't the right place to post this!

-- Update--
And follow up, I do understand that turning on renewals will partially do what I'm seeking.
However, manually editing each licenses expiration date simply isn't feasible after a certain point. 
++ Me and my users are simply not a fan of renewal invoices, and would rather have a simple reminder that purchase is about to expire.

Edited by InfinityRazz
Posted
3 hours ago, InfinityRazz said:

Is it possible for me to sync a purchases expiration date with a unix timestamp saved in a database externally(aka 3rd party desktop application)?
Is it possible for me to change a license from "active" to "expired" from a 3rd party desktop application?

I don't see why not using the REST API. If that doesn't work, then yes, a plugin would be required most likely.

Posted
8 minutes ago, Ryan Ashbrook said:

I don't see why not using the REST API. If that doesn't work, then yes, a plugin would be required most likely.

Can only edit purchase/license custom fields via RestAPI. Doesn't let me "expire" a license in the traditional sense. 🤔

Posted (edited)
3 hours ago, Ryan Ashbrook said:

Oh yes, you're right - sorry about that. A plugin or application would likely be the best option, then.

Hey

 

Maybe Can you consider about updating REST API allow modify active/expired status. I think plenty amount of user will use that option 🙂

 

Best regards

Edited by Mareczek
Posted
9 hours ago, Ryan Ashbrook said:

Oh yes, you're right - sorry about that. A plugin or application would likely be the best option, then.

Any chance there's some documentation on such? Or possible to get a nudge in the right direction? Not really looking to pay someone to make a plugin/app for this, would much rather just handle it myself and learn :)
Again.. using cloud community so i don't have access to "developer mode" or some of the other things mentioned at : https://invisioncommunity.com/developers/docs/general/enabling-developer-mode-r23/ for creating my own plugins.

I can get around all this by just checking the database records expiration date, but that adds a couple extra requests/steps which negatively affects users with a poor connection (we're talking a matter of seconds which isn't a huge deal to me, but boy do they like to complain 🙄)

6 hours ago, Mareczek said:

Hey

 

Maybe Can you consider about updating REST API allow modify active/expired status. I think plenty amount of user will use that option 🙂

 

Best regards

This would be an amazing addition! However i "can" kind of see why this would be limited to a degree. Maybe one day :)

Posted
On 1/1/2022 at 4:49 AM, InfinityRazz said:

Yes, and I've read it pretty thoroughly and have not come across anything that mentions what I'm trying to accomplish explicitly. And because I'm being hosted on your cloud platform, developer mode is unavailable to me iirc? 

Correct. To have access to developer mode and develop a custom application/plugin, a self-hosted license is required. Hiring a third party provider to do any customizations for you though is an option.

Posted
On 1/3/2022 at 11:02 AM, Jim M said:

Correct. To have access to developer mode and develop a custom application/plugin, a self-hosted license is required. Hiring a third party provider to do any customizations for you though is an option.

Was hoping to stay away from that, but if it's my only option i may have to cave as self hosting isn't an option quite yet 😅 Would be nice if we had a way to work on plugins externally (without requiring a self hosting license).
While i'm no whiz when it comes web development, it would be nice to learn/maintain things for myself, rather than relying on a dev who may or maynot still be around the next day.
 

  • Solution
Posted
On 1/8/2022 at 6:46 AM, InfinityRazz said:

Was hoping to stay away from that, but if it's my only option i may have to cave as self hosting isn't an option quite yet 😅 Would be nice if we had a way to work on plugins externally (without requiring a self hosting license).
While i'm no whiz when it comes web development, it would be nice to learn/maintain things for myself, rather than relying on a dev who may or maynot still be around the next day.
 

Its not really something that would be possible, as the you would need the platform to work on.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...