Licensing workflow clarification

I just needed some clarification with regards to licensing workflow.

The documentation speaks of suspending a licence if a user doesn’t pay their subscription.
Is this for the situation where a licence is valid for a year but there may be a monthly payment arrangement? If there was one payment per licence validity period, would letting the licence expire have a similar effect and stop the user accessing the application.

In both cases does the licence remain active on your server awaiting extension/reinstatement, and for how long?

When a user lets their licence expire and there is a delay before they renew. How would you renew the licence for the licence validity from the renewal date? Would you have to calculate time since expiry, add license validity and then set this as the extensionLength in the extend API or is there an easier way?

Would you use renew if they were to renew before licence expiry, and in so doing add licence validity to the current expiry?

If a licence is revoked, does it remove it from your server and if not, can it ever be reinstated?
Thanks

Hi Vil,

Is this for the situation where a license is valid for a year but there may be a monthly payment arrangement? If there was one payment per license validity period, would letting the license expire have a similar effect and stop the user accessing the application.

Suspending the license just gives extra control to temporary prevent your user from using your app, and then allowing the same by a click in the dashboard, with no reactivation required client side.

You would mostly rely on the validity of the license, to determine if the license is expired. If validity is 30 days, then after 30 days the client (LexActivator) will start returning LA_EXPIRED status code.

In both cases does the license remain active on your server awaiting extension/reinstatement, and for how long?

Yes in case of expiration and suspension license remains active on the server as well as the client indefinitely, and the client also does regular server syncs to know the latest state of the license.

When a user lets their license expire and there is a delay before they renew. How would you renew the license for the license validity from the renewal date? Would you have to calculate the time since expiry, add license validity and then set this as the extensionLength in the extend API or is there an easier way?

Extend as well as renew work by adding a time offset to the expiration date. You would usually allow some grace to your users even if the license has expired to allow them some time to renew. If there is a delay and you want to renew it from the date of payment (and not expiry) then you need to calculate that time difference and extend through that period and then renew or extend through (time difference + validity), in the former, you don’t need to know the validity.

Would you use renew if they were to renew before license expiry, and in so doing add licence validity to the current expiry?

Yes, you would use renew.

If a license is revoked, does it remove it from your server and if not, can it ever be reinstated?

Yes, it stays there and can be reinstated. However a reactivation is needed client side when it is reinstatted.

Thank you for the clarification