Last Modified August 10, 2017

Adding License Upgrades

  1. Overview
  2. Steps to implement License Upgrades
  3. Adding a Custom Field to the Order Form


You can configure FastSpring for License Upgrades where License parameters of an existing License Activation Code are updated (no License Code is issued). For example, with Feature-Based Licensing, you may want to offer "Feature Upgrade" products in FastSpring (ex: upgrade from Feature Set A to Feature Set B) and have this automatically update the <license_data> of the License Activation Code (not issue a new License Activation Code).

The order page for the "License Upgrade" product would include a mandatory input field for the License Activation Code to which the upgrade applies and that would be validated before the order is completed. If the existing License Code is not succesfully validated, the order would not complete.

License Code Validation ensures that the existing License Code is valid before the purchase is completed.

software_DNA will track when an existing License Code is used for a successful validation and will allow the License Code to be used <maxval> times for other order validations. In the Event Log and the Code View screens for the existing License Code, you will see if the code has been used, and you can reset the Validation History if you want the user to be able to use the existing License Code for other order validations.


Steps to implement License Upgrades

To enable this automated update for "License Upgrades" with License Code Validation, you will need to:

  • Update the FastSpring Remote License Generator configuration for this product to add the TXN = LICENSE Custom Name / Value (see Springboard Configuration)

  • Update the FastSpring Order Completion Notification configuration for this product to add the TXN = LICENSE HTTP Parameter Name / Value (see Springboard Configuration)

  • Add a mandatory Custom Field in the FastSpring configuration for this Upgrade product. This field will be used to capture the License Activation Code to which this upgrade applies. The Custom Field will be shown to the Buyer in the Order Page and must be filled in to complete the order.

The next section details how to add a mandatory Custom Field to your Order form.


Adding a Custom Field to the Order Form

After the configuration steps below, your customers will see an Order Form as shown in the screen shot below, with a field to enter their License Activation Code for the Upgrade.

The License Activation Code entered by the Buyer will be validated with the DNA Server before the order is allowed to complete.

Titles, descriptions and validation error message can all be customized.

License Upgrade Order Form

To set up the License Upgrade with License Code Validation for a product already defined in FastSpring:

  1. From the Home page, click on Custom Fields in the Promotion and Appearance section

  2. Click on Create Custom Field Configuration and:

    • Enter a name (for management purposes)

    • Click on Next

    Adding Custom Field
  3. In the Form Design screen:

    • In the Display field, enter the title of the order form section that will be displayed (ex: License Code)
    • click on + Add Field to reach the Add Form Field screen
    Configure Form
  4. In the Add Form Field screen, configure the form field as follows:

    • For Input Type, select Textbox

    • For Name, enter custom_referrer

      IMPORTANT: You must specify custom_referrer as the Name

    • Enter the Question Text

    • Click on Add

    Field Configuration
  5. In the Form Field screen, check the Required checkbox (top right) to make this field mandatory

  6. Complete the configuration by entering the following in the Advanced Validation section (see screen shot below):

    • For Remote Validation URL enter the following URL using this format:


      • ProductID1 = the <DNA ProductID>
      • SKU1 = one of the SKU’s listed in the DNA FastSpring Connector configuration for this DNA product
      • maxval = the maximum number of times the code can be used for order validation
        • can be set from 0 to 5
        • if not there, will default to maxval=1
        • if maxval = 0, code will always be validated

      If you need to check multiple DNA ProductID's to validate the License Activation Code (i.e. you are allowing this License Upgrade to multiple DNA Products, you can use the following format:

      You can validate against 1 to 3 DNA ProductID’s (i.e. allow a User of 1 to 3 of your previous products to order this new product) using this syntax.

    • For Remote Validation Regular Expression, enter one of the following:

      Expression Description
      .*EXISTS.* The License Code exists for the Product
      .*ACTIVATION.* The License Code exists and is an Activation Code (not an Evaluation Code)
      .*VALID.* The License Code exists, is an Activation Code, and the code is active (i.e. not Expired, Banned or Revoked). The code may or may not be activated.

      Typically, you would use .*VALID.* for most cases. Other values are possible for this field. Please consult with our Technical Support for additional options.

    • For Remote Validation Message, enter the message which is displayed on the Order Form when the validation fails.

    • Click on Save to save the Form Field Configuration, and then click on Save again to save the Form Configuration and return to the Custom Field Configuration screen.

    Custom Field Validation configuration
  7. From the Custom Field Configuration screen below, now click on Edit Conditions:

    CustomField Add Condition
  8. In the Add Condition section, select Product Condition and click on Next

    Custom Field Condition Set
  9. From the Target Product drop-down list, select the UPGRADE product (i.e. the new version) to which this Custom Field will be applied, and click on Create

    Custom Field Condition Create
  10. Click on Save to finish the configuration

You can fully test the configuration using Store Testing from the Home page and doing Test Orders on the Upgrade Product. Make sure you have valid License Activation Codes from the previous DNA Product to do your testing.