Subscription Licenses with Protection PLUS 5 SDK

Protection PLUS 5 SDK provides the flexibility to support various licensing types, including time-limited/subscription licenses. This article will guide you through configuring the necessary settings.

Why is the date field in SOLO Server labeled as "Download Until"?

In SOLO Server, the primary date field for a License ID can be used for multiple purposes. If you are using the file download feature through SOLO Server, this date field will always limit file download access in the Customer License Portal. This is why the date field is labeled as "Download Until".

This "Download Until" date can also be used as a license expiration date. In Protection PLUS 5 SDK, this date field gets passed into the XML license file as the " EffectiveEndDate". You can choose to enforce that date as a license expiration and not allow the user to access your software:

Alternatively, you could choose to use this date to limit access to newer versions of your software. Customers would have to renew their subscriptions to gain access to newer versions, but would always be able to use older versions. If you also hard-code a build date or release date into each version of your software, you can compare that date with the EffectiveEndDate in the license file to determine if they are licensed to use that version or not.

SOLO Server Settings for Subscription / Time-Limited Licenses

In SOLO Server, you will need to configure a subscription license in the Product Option settings. This can be done when using the Add Product Wizard, or when editing an existing Product Option directly:

Option Type: Activation Code with Days Left - This setting will reject an activation request if it is past the expiration date. Otherwise, it would complete the activation request and get the local license file, and then see it is past the expiration date based on the local license file check, which is not a user-friendly experience.

Trigger Code Number: 11 The Trigger Code Number is an arbitrary value from 1 to 50 that your source code can interpret to determine the license type (PLUSManaged or PLUSNative). It can be passed through the offline Trigger Code Activation Process, which is typically only necessary when activating very remote cases that don't have internet access or allow file transfers. Historically, our previous licensing clients have used Trigger Code 11 to designate a subscription license, and our Protection PLUS 5 SDK sample projects are also configured this way.

Days to Download: (the number of days for the subscription period, such as 365 for a 1-year license) - This must be a non-zero value, otherwise it will set or display a "Download Until" date on the license record in SOLO Server.

Optional: Enable Reset expiration at first activation - This resets the expiration date to be "Days to Download" after the first activation date. It will initially be based on the license creation date.

Subscription settings when using FastSpring

When selling a recurring subscription through FastSpring, the settings are different. With FastSpring, the license is considered valid as long as the customer is still paying for the subscription. Once the customer stops paying, FastSpring tells SOLO Server to update the Status field of the License ID to "Expired". This is enforced the next time your software does a background check or Refresh with SOLO Server:

The frequency at which validation should occur can be configured in the License Validation Options. It is important that you require periodic validation with SOLO Server, otherwise a user could avoid the expiration by blocking connection to SOLO Server. 

In this case, no expiration date is needed, as the expiration is enforced based on the Status field. The following settings can be used for a recurring subscription license sold through FastSpring:

  • Option Type: Activation Code
  • Trigger Code Number: 1
  • Days to Download: 0
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us