Last Modified August 10, 2017

Adding Product Upgrades

  1. Overview
  2. Adding a Custom Field to the Order Form


When introducing a new version of your application for which new License Activation Codes will be issued, you may want to offer discounted pricing to existing users of the previous version, while new users pay the non-discounted price.

You would define two products in FastSpring:

  • The "new Version" product at a non-discounted price and configured as a normal product. License Activation Codes would be issued upon order confirmation
  • The "Upgrade" product at a discounted price. The order page for the "Upgrade" product would include a mandatory input field for the "previous" License Activation Code that would be validated before the order is completed. If the Code were not validated, the order would not complete.

License Code Validation ensures that only valid owners of the previous version can order the Upgrade at the discounted price.

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 License Code for other order validations.

To enable this "Product Upgrade" with License Code Validation, you will need to:

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


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 existing 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.

Product Upgrade Order Form

To set up the Product 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: Previous Version 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 a name (Ex: activation_code )

    • 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.

      For Product Upgrades, you would use .*ACTIVATION.*, or .*VALID.* (stricter validation) . 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.