Open topic with navigation
Activating Modular Applications Through a Multiple-License Order
This method of activation is not recommended if you are using Protection PLUS 5 SDK. With the Protection PLUS 5 SDK XML license file, you have the flexibility to pass down as much data as necessary in the Custom Data field, and only a single license and activation will be required.
This topic describes a method to send modular license information to a software application online through SOLO Server. Let's take a product where you wanted to sell multiple dimensions of options:
- Product and Product Version (e.g., Standard Edition, Professional Edition, etc.)
- Usage information (e.g., the number of times the software product will run)
- Additional add-on modules (e.g., plug-ins which work with the base software product)
For example:
[ ] Product A Standard Edition
[ ] 100 uses
[ ] 500 uses
[ ] 1000 uses
[ ] Module 1
[ ] Module 2
[ ] Module 3
[ ] Module 4
[ ] Product A Professional Edition, 1000 uses
[ ] Module 1
[ ] Module 2
[ ] Module 3
[ ] Module 4
There are multiple ways you could configure the product options defined in SOLO Server. Here is a sample:
- Product: Product A Standard
- Product Option: Base License $99.00 USD, PLUS Single Option
- Product Option: 100 Uses $49.00 USD, PLUS Option with Fixed Value
- Product Option: 500 Uses $99.00 USD, PLUS Option with Fixed Value
- Product Option: 1000 Uses $149.00 USD, PLUS Option with Fixed Value
- Product Option: Module 1 $29.00 USD, PLUS Option with Fixed Value
- Product Option: Module 2 $39.00 USD, PLUS Option with Fixed Value
- etc.
How does this differ from a normal License ID / Password activation?
- The SOLO Server cart will be used to purchase one or more modules / entitlements at once.
- You can create bundles by modifying the bit pattern of the Fixed Value parameter of the product options.
- All of these entitlements will be attached to the same Invoice Number.
- The customer will use the Invoice Number instead of License ID to activate the software.
- The application will query SOLO Server by the Invoice Number to retrieve a list of License IDs.
- The application will call the normal /solo/unlock/getcode.asp and process the Trigger Code for every License ID attached to the invoice. In our example, you would get a Trigger Code to activate the base license, you would get a Trigger Code to entitle the number of uses, you could get one or more Trigger Codes to turn on various modules.
Once the product and options are entered in SOLO Server, here are the steps to complete:
- The above product selection could be displayed on an ASP page in various ways (radio buttons, check-boxes, etc.). You could enforce business rules in this ASP page to make sure that the right combinations are chosen before passing the list to SOLO Server's cart.
- The cart can sell multiple items to the customer at one time. You can add multiple items to the cart with a single call by separating the Product Option IDs by a comma. If you use check-boxes and name your form fields the same, the browser should automatically separate the Product Option IDs by commas.
- Change the Product Option records to remove the Issue License property. Having a bunch of License IDs on the transaction receipts will most likely be confusing to the customer.
- Change the Order Confirm HTML to instruct the customer to use the Invoice Number and Password to activate.
- In your application, declare an empty buffer of 8000 characters. In VB:
Dim buffer As String
buffer = Space(8000)
- Have your application call SK_GetTCData with the URL of secure.softwarekey.com/solo/unlock/getinvoicelicenseidlist.asp and specify the Invoice Number (instead of License ID) as the License ID parameter. Also send the Password of the Invoice Number. Pass your buffer to the License Update parameter.
- Up to 700 License IDs will come back in the buffer parameter, separated by pipe (|) characters.
- Have the application parse through this list and call SK_GetTCData() with the normal URL of secure.softwarekey.com/solo/unlock/getcode.asp for each of the License IDs and process as normal.