Table of Contents

With Multi-Discount Coupons, you can configure up to 10 discounts in the same coupon code. This is beneficial for promotions that include separate offers for individual products.

For example, if you create a CYBERMONDAY coupon for your Cyber Monday sale, you can use a single coupon code to include a discount of 15% for your monthly subscription, and a discount of $25 off an annual subscription.

Within each discount, you can customize:

When configuring the Multi-Discount Coupon, you can include 1 discount that is configured without products. This discount will apply to all products in the consumer's order, except the products configured with separate discounts. For those products, the discount in which that product is configured applies. To apply multiple discounts to one product, see below. 

You can configure additional discounts to apply to individual products in your Store. There is no limit to the number of products to which you can apply each discount, however you cannot apply multiple discounts to the same product. If a discount has a specified product, that discount will be applied to the product, regardless of the other discounts in the coupon.
 

Create a Multi-Discount Coupon

  1. In the FastSpring App, navigate to Coupons > Create Coupon. Apply a Coupon ID, Amount or Percent Off, and a Coupon Code to configure the coupon. See Create a Coupon for more information. 
  2. Click Add. After the coupon is created, click Edit Discount. A popup appears. 
  3. In the first field, select Percent Off or Amount Off depending on the type of discount you want to configure. Type in the discount amount. 
  4. In the Products field, type in the product paths and select the products you would like to apply the existing coupon to. 
  5. In the Duration field, enter the number of billing periods to which the coupon applies. This field does not apply to single-purchase products. 
  6. Select Add Discount to incorporate additional discounts in the coupon. 
  7. Repeat steps 3-6 to configure up to 10 discounts within the coupon. 
  8. In the Applied Discount Reason field, optionally enter a customer-facing reason for the discount. 
  9. Save your changes. 

After multiple discounts are applied to the coupon, it will be marked with a gray Multi Discount Coupon tag in the Coupons page.

Applying Multiple Discounts to One Product

To apply multiple discounts to one product, select the Combine Discounts checkbox when editing a coupon. This allows you to use a coupon and a product-level discount in the same offer. The product-level discount will be applied first, and then the coupon configured for the product. If you do not select the Combine Discounts checkbox, and a product with a configured product-level discount is included in the consumer’s order, FastSpring applies the larger discount.

When applying multiple discounts to a subscription, the discount that has an infinite period count will be applied instead of the other discount. To apply both discounts, we recommend configuring finite periods for each.

 

Checkout Experience

When a consumer checks out with that coupon code, each relevant discount will be applied to their order. Consumers will be billed full-price for products that are not configured as part of the Multi-Discount Coupon.

After completing the payment process, consumers can view the invoice, which displays the total discounted amount. In your Orders page, each individual coupon will be reflected in the order.

 

API + Webhooks

Multi-Discount Coupons are fully compatible with the FastSpring API and Webhooks. With the FastSpring API, you can create and view Multi-Discount Coupons. The /orders and /subscriptions endpoints will reflect the correct discount amounts if a Multi-Discount Coupon is used. The order.completed and subscription.activated webhooks will also reflect this activity.

In the example below, the JSON creates a 10% off coupon for SubscriptionA for 3 periods, and a $5 discount for all other products:

 

Coupons allow sellers to offer a promotional product discount to a select group of consumers. Only consumers with the coupon code (or promotional code) can take advantage of the offer.

With Coupons, you can:


To use a coupon, consumers must enter a valid coupon ID in the Promotional Code field of your Storefront. You can also apply coupons to order sessions using the Store Builder Library or the FastSpring API.

You can use both coupons and built-in product discounts in products by selecting the Combine Discounts checkbox when you edit a coupon.

Create a Coupon

Using coupons, you can discount percentages or amounts to limited consumers who have the code. The discount calculation will apply to all quantities of eligible products selected by consumers. For example, if you specify 20% off and the consumer purchases three products with this coupon (or three of the same), the 20% discount applies to all three. Similarly, if you create a coupon with a $10 Amount Off, and a consumer purchases 3 of that product, they will receive a total of $30 off their order.

It is not possible to limit the coupon discount to apply only to a certain quantity or to specify the total discount amount for an entire order.
  1. From the FastSpring App, select the Coupons menu, then Create Coupon. The Create Coupon dialog appears.
  2. In the Coupon ID field, enter an ID to be used in reporting. This does not need to be a part of the coupon code that consumers enter.  This field accepts letters, numbers, dashes, and underscores.
  3. In the drop-down, select the type of coupon you want to apply.
  4. Under Coupon Codes which will trigger the discount, provide the code(s) that consumers must enter in order to receive the discount. If you provide multiple codes, separate them by line. This field is case sensitive, and accepts: letters, numbers, dashes, and underscores.
  5. Click Add to create the coupon. After it is created, you can edit additional aspects of it.

Edit a Coupon

After creating a coupon, you can edit it for future purchases. Changes made to existing coupons will not retroactively apply to active subscriptions. If a consumer already purchased a subscription-based product with the coupon code, the original settings will continue to apply to their subscription rebills.

  1. From the FastSpring App, select the Coupons menu.
  2. In the card of the coupon you want to edit, click Edit Discount.
  3. The Edit Discount dialog appears. Use this to adjust additional settings.
If you have specified at least one product in the Products field, the EDS and Shipping Fee checkboxes do not appear. The discount can only be applied to the specified products.

Manage Codes for an Existing Coupon

When you access your existing Coupons in the FastSpring App, navigate to the card of the coupon for which you want to manage codes. Then, select one of the following buttons:

Delete a Coupon

  1. From the FastSpring App, select the Coupons menu.
  2. In the card of the coupon that you want to delete, click More > Delete.
  3. Click Delete when prompted to confirm that you want to delete the coupon.

FastSpring has two ways in which you can offer promotional discounts on products, such as seasonal sales or a themed promotional event. To discount these, you can use built-in Product Discounts, or Coupon Codes.

When you use either discount method, details about the applied discount are available in webhook events, such as order.completed. You may also obtain discount details in response to calls to FastSpring API endpoints, including /orders.

With Product Discounts, you can:

You can use both coupons and built-in product discounts in products by selecting the Combine Discounts checkbox when you edit a coupon.

Built-In Product Discounts

Product Discounts are configured separately from standard product pricing. Configure your product discount in the Pricing field of each product, bundle, or subscription you want to apply the discount to. Then, any consumer who purchases the product receives the discount.

With built-in discounts, consumers do not need to enter a coupon code, which may improve your conversion rate compared to a coupon-based promotional campaign.

You have the option to specify Begin and End Dates for Product Discounts. You can also specify a number of future subscription charges to apply them to. Unlike coupons, Product Discounts can be optionally triggered, and the amount may be altered based on the quantity of the product in the consumer’s cart.

Built-in product discounts must be configured separately for each product.

Set Up a Product Discount

  1. In the FastSpring App, navigate to the Product to which you want to add a discount. Click on it to access the details page.
  2. In the Discount field, click Edit. The Discount dialog opens.
  3. In the first drop-down select the type of discount you want to apply to the Product.
  4. To require consumers to purchase a specific quantity of the product before receiving the discount, select Use Volume Discount. Enter the minimum quantity that the consumer must purchase to receive the Percent Off / Amount Off discount. Orders with a smaller quantity selected do not receive the discount.
  5. Check Limit Discount Availability by Dates to enter a temporary time period for the discount. If this is unchecked, the discount is available indefinitely, or until configured otherwise.
  6. Under Discount Reason, enter an optional message for consumers to see when they receive the discount. Select the language drop-down to enter it in additional languages. 
  7. Click Save

Set Up a Subscription Discount

  1. In the FastSpring App, navigate to the Subscription to which you want to add a discount. Click on it to access the details page. 
  2. In the Discount field, click Edit. The Discount dialog opens.
  3. In the first drop-down select the type of discount you want to apply to the Subscription.
  4. In the Discount Duration field, enter the number of billing cycles you want the discount to be applied to. For example, entering 3 applies the discount to the first three charges, including the initial purchase. 
  5. Check Limit Discount Availability by Dates to enter a temporary time period for consumers to purchase the Subscription with the discount. If this is unchecked, the discount is available indefinitely, or until configured otherwise.
  6. Under Reason, enter an optional message for consumers to see when they receive the discount. Select the language drop-down to enter it in additional languages. 
  7. Click Save
If you decide to limit the discount’s availability by dates, we recommend entering dates and times in UTC. For example, if you are in the US Pacific time zone, UTC is seven hours ahead of you. To begin the discount at 12:00am Pacific time, enter 17:00 (5:00pm) with a start date of the previous day.

Advanced Methods to Discount a Product

Product Options allow you to present different options to consumers during checkout. They are similar to Cross-Sells and Upsells, except they appear on the pages of your Web Storefront with only the product name and price, and they take up less space.

Web Storefronts can display each type of Product Option. The cart in Popup Storefront only supports multiple choice options, however you can use the Store Builder Library to control the layout and placement of all products and options offered on your Store’s pages before triggering it.

For Product Options, only the display names of the products appear. If you want to display the products’ Summary descriptions as well, consider creating Cross-Sells or Upsells instead of Product Options. The Web Storefront renders the products’ icons, display names and summaries for Cross-Sells and Upsells.

Configure Product Options

  1. From the FastSpring App, select the Products menu and then select the Products, Bundles, or Subscriptions tab, depending on the type of item to which you want to add product options.
  2. Select the Product, Bundle, or Subscription to which you want to add product options.
  3. On the detail page, locate the Related Offers section and click Add New > Add Product Options.
  4. The Add Product Options popup window appears. Select the type of product options you want to add.
  5. If you select Single choice option or Multiple choice option, two additional checkboxes become available.
  6. In the Display field, enter a heading to appear on the Storefront, just above the product offer you are configuring. This heading may be especially useful if you are adding Single choice or Multiple choice options as cross-sells. Click the language drop-down to enter the heading in each desired language.
  7. The Placement field controls the sequence in which Product Options appear on the Storefront. For example, if you add two groups of Alternatives, you can determine which group of Alternatives first appears on the page. However, if you add one group of Alternatives and one group of Multiple Choice options, the Placement field does not affect the relative placement of the two groups. Product options are always sorted first by the type of option when viewed on the Storefront.
  8. In the Products field, begin typing the name of the first Product or Product Variation you want to add. Select the product from the drop-down search results below the field. You can repeat this process to add additional product options.
  9. Click Save to complete the process. The Related Offers section for the Product, Bundle, or Subscription you are editing updates to show that there is a new configuration. Click Edit if you need to review and edit the product options or delete the offer entirely.

Studies suggest that real-time, context-specific product recommendations such as Cross-Sells and Upsells can account for an average of 10 to 30 percent of ecommerce revenues.

Cross-Sells

Configure cross-sell offers on your Web Storefront to give consumers the option to select cross-sell items to add to their cart.

When you offer a Cross-Sell, you can vary the product offer depending on the original product selected by the consumer. You can also incorporate discounts in cross-sell items that are only available when purchased with the original product.

After you set up a Cross-Sell offer, it will appear on your Web Storefronts whenever a consumer selects the associated product

Create a Cross-Sell Offer

  1. From the FastSpring App, select the Products menu and then Products, Bundles, or Subscriptions, depending on the type of product you want to create a cross-sell offer for.
  2. Select the Product, Bundle, or Subscription that will trigger the cross-sell offer when a consumer selects it.
  3. For Products or Subscriptions: In the Related Offers section, select Add New > Add Product Offer. For Bundles: Click the Add Product Offer button at the bottom of the screen.
  4. In the Add Product Offer window, keep the Cross-Sell radio button selected.
  5. In the Display field, enter an optional message to appear along with the Cross-Sell offer. Click the language drop-down menu and enter a translated message in each desired language. 
  6. The Placement field is only applicable when you offer multiple cross-sell groups for the same product. You can use the Placement field to control the sequence in which the cross-sell groups appear on the Web Storefront. Position 1 will appear at the top, followed by Position 2, and others. 
  7. In the Products field, begin typing the title of the product to appear as a Cross-Sell offer.
  8. Select the product from the drop-down search results below the field. Repeat for each Cross-Sell you want to offer.
  9. Click Save to complete the process. The finished Cross-Sell appears on the product detail page as shown below. 

Edit Cross-Sell Placement

To control the placement of Cross-Sell offers on your Web Storefront:

  1. Navigate to the Storefronts menu, then select Web Storefronts.
  2. On the Storefront you want to edit, click the Settings button. 
  3. On the left menu, select Promotions. Scroll down to the Product Page section. There, you can choose where you want your Cross-Sells to be positioned.

Recommendations

When you create a Cross-Sell:

Upsells

With FastSpring, you can offer Upsells to consumers as a chance for them to alternatively buy a similar, but more expensive, product. When a consumer accepts the Upsell, the upsell product replaces the product they originally selected.

Upsells only appear on Web Storefronts. However, the Store Builder Library lets you control the layout and placements of all products offered on the pages of the website before triggering the Popup Storefront.

Create an Upsell Offer

  1. From the FastSpring App, select the Products menu and then Products, Bundles, or Subscriptions, depending on the type of product you want to create a Upsell for.
  2. Select the Product, Bundle, or Subscription that will trigger the Upsell offer when a consumer selects it.
  3. For Products or Subscriptions: In the Related Offers section, select Add New > Add Product Offer. For Bundles: Click the Add Product Offer button at the bottom of the screen.
  4. In the Add Product Offer popup, select the Upsell radio button.
  5. In the Display field, enter an optional message to appear with the upsell suggestion. Click the language drop-down menu to add translated versions of the message in each desired language.
  6. Use the Placement field to control the order of the suggestions if you add more than one upsell item from the same product. Position 1 will appear at the top, followed by Position 2 and others. 
  7. In the Products field, begin typing the name of the product that you want to set up as an offer and select it from the auto-suggest list. Repeat for each Upsell you want to offer. 
  8. Click Save. The finished Upsell field appears on the Product Detail page, as shown below. 

Edit Upsell Placement:

To control the placement of Upsell Offers on your Web Storefront:

  1. Navigate to the Storefronts menu, then select Web Storefronts
  2. On the Storefront you want to edit, click the Settings button.
  3. On the left menu, select Promotions. Scroll down to the Product Page section. There, you can choose where you want your Upsells to be positioned.

Recommendations

When you create your Upsell, keep these in mind:

Table of Contents

After a customer completes a purchase in your Store, FastSpring automatically sends them emails containing information about their purchase (such as order receipts, notifications of subscription activity, and account management login links) from mailer@fastspring.com.

You can customize and test existing email templates by navigating to Store Settings > Customer Notifications. Select the Template button to make edits and optionally test the notification with your email address before publishing. Click on the drop-downs below to see the email templates available.

Order Notifications

In the Customer Emails page, click Order to customize your customers’ order-related notifications. This includes pre-billing reminder messages and payment overdue notices.

Click Template to customize each type of notification:

Subscription Notifications

In the Customer Emails page, click Subscriptions to customize your customers subscription-related notifications. This includes pre-billing reminder messages and payment overdue notices.

Click Template to customize each type of notification:

Subscription Reminders

For subscriptions with free trial periods longer than 3 days, FastSpring automatically sends the consumer a reminder message before the initial charge to the consumer’s payment account.

For subscriptions with recurring charges, you can control if and when FastSpring sends pre-billing reminder messages. For more information, see Subscription Pricing.

Account Management Notifications

In the Customer Emails page, click Account to customize instructions on how to access the Account Management site. Click Template to customize the Login URL message.

As the Merchant of Record, FastSpring may be required to send certain notifications to consumers. If there are special circumstances in which you need to suppress an email that FastSpring sends out, contact our Support team.

Edit and Test a Template

Each email notification that FastSpring sends has an editable Template in the Customer Emails section of the App. You can adjust the HTML of the email template to customize the text, translations, and more.

If you make a mistake editing the HTML, the green Valid indicator changes to a red Invalid indicator. You cannot save your changes if a red indicator is displayed.

  1. In the FastSpring App, navigate to Settings > Customer Emails.
  2. Click Order, Subscription, or Account, depending on the type of notification you wish to customize.
  3. On the applicable email template, select the Template button to edit it. The Edit Template page appears.
  4. In the Subject field, enter HTML to edit the email’s subject line.
  5. In the HTML and Text tabs, edit the body of the email notification by adjusting the HTML.
  6. After you make the desired changes, enter your email address in the Test tab to view the email template.
  7. When satisfied, Save your changes.

Test Subscription Notifications

After you configure notifications for a subscription, you can simulate instances on a Test Order. The simulation options available vary for each subscription depending on the notifications you have enabled for it, and which events you have previously simulated. For example, in order to simulate the Overdue notification, you must simulate the Billing Failure notification first, as Overdue notifications are sent after Billing Failure notifications. Additionally, each type of notifications must be enabled for the selected subscription to test it.

  1. Place a Test Order containing the subscription you configured notifications for.
  2. Navigate to Sales > Subscriptions. Click Active on the test order to view its details.
  3. In the Charges section, click the desired simulation options (e.g., Simulate Next Billing or Simulate Billing Failure).
Simulation options are unavailable for live subscriptions, as they have the ability to affect the status and history of the subscription instance.

Payment Reminders

For recurring payments and trials that will end soon, such as Manual-Renewal Subscriptions, FastSpring sends payment reminders to the customers 3 days prior to the due date.

FastSpring does not send email reminders for wire and invoice transactions. Customers receive an initial Payment Required email with instructions to complete the payment.

Generate Your Own Email

In rare cases, additional information may be needed in the Post Order Instructions field of a Product or Subscription. In such cases, it is useful to subscribe to the order.completed and subscription.charge.completed webhook events. Then, you can design a script to parse the event data and automatically generate email messages to the consumers.

You can input the URL of an externally hosted image file to your customers’ email notifications.

  1. In the FastSpring App, navigate to Settings > Customer Emails. Click Shared Snippets.
  2. Below the {{>logo}} snippet, click Edit.
  3. In the Snippet Text/HTML Value field, enter the URL of your image.
  4. Save your changes.

After you save your changes, this logo will appear on each email that uses the {{>logo}} snippet.

Recover a Default Template

There is no way to access previous template versions from FastSpring, thus we recommend manually saving each version when you make drastic changes.

If you would like to revert to the original, default template, you can copy and paste the original templates from the tables below. All files are in .txt format for maximal compatibility with your editing platform.

Order Notification Templates

Message Subject HTML Version Text Version
Default Gift Purchaser Receipt default gift purchaser receipt subject.txt default gift purchaser receipt.txt default gift purchaser receipt (text).txt
Default Gift Recipient Fulfillment default gift recipient fulfillment subject.txt default gift recipient fulfillment.txt default gift recipient fulfillment (text).txt
Default Order Receipt default order receipt subject.txt default order receipt.txt default order receipt (text).txt
Order Canceled order canceled subject.txt order canceled.txt order canceled (text).txt
Order Pending Approval order pending approval subject.txt order pending approval.txt order pending approval (text).txt
Payment Required for the Order payment required for the order subject.txt payment required for the order.txt payment required for the order (text).txt

Subscription Notification Templates

Message Subject HTML Version Text Version
Activated activated subject.txt activated.txt activated (text).txt
Canceled canceled subject.txt canceled.txt canceled (text).txt
Charge Completed charge completed subject.txt charge completed.txt charge completed (text).txt
Charge Failed charge failed subject.txt charge failed.txt charge failed (text).txt
Deactivated deactivated subject.txt deactivated.txt deactivated (text).txt
Payment Overdue payment overdue subject.txt payment overdue.txt payment overdue (text).txt
Payment Reminder payment reminder subject.txt payment reminder.txt payment reminder (text).txt
Trial Reminder trial reminder subject.txt trial reminder.txt trial reminder (text).txt
Updated updated subject.txt updated.txt updated (text).txt

Account Notification Templates

Message Subject HTML Version Text Version
Login URL login url subject.txt login url.txt login url (text).txt

FastSpring sends automatic email notifications to your customers in relation to their orders, subscriptions, and accounts. From the Customer Notifications section of the App, you can access and customize our default email templates, which consist of HTML and CSS codes. Within the codes, you can add and edit the following elements:

You can use these proprietary elements to render order-specific information and simplify the editing process. To access the elements, navigate to Settings > Customer Emails and select the applicable subpage. 

Logical Evaluation Elements

Logical Evaluation Elements conditionally display certain sections of content within a notification. These let you include specific text, HTML, or shared snippets conditionally if a specific product is in the order.

When using conditional comparisons, make sure to use double quotation marks around the operator in your expression.

List of Logical Evaluation Elements

Object References

You can include references to order or subscription-related elements in the email notification, such as:

To incorporate these references into the template, insert a variable consisting of the curly brackets and the object’s name. For example, including {{order.reference}} in the body of your notification renders the Order Reference Number in the email notification.

The double ‘handlebar’ {{ }} format used to insert object reference variables also causes all characters to be HTML escaped. If your product names include certain punctuation (such as ‘ ), you should use triple ‘handlebars’ {{{ }}} instead.

List of Object References

The following list identifies some of the order objects that you can include in your notification template. Each object is preceded by order.

Shared Snippets

In the FastSpring App, navigate to Settings > Customer Emails > Shared Snippets to access available snippets for you to customize. 

Shared snippets are self-contained elements that can be used and layered in notifications. For example, inserting the {{>header}} tag allows you to create a message header with images, links, and company information that you can use in multiple notification templates without having to recreate it in each one. You can also embed other snippets within {{>header}}. 

Use the Edit command below any snippet to modify the contents (including the name) of that snippet. If you make future changes to shared snippets, all notifications that contain the snippet will be updated automatically. The Delete command permanently deletes a snippet.

List of Available Shared Snippets

Create a New Shared Snippet

  1. In the FastSpring App, navigate to Settings > Customer Emails > Shared Snippets
  2. Click Add Snippet in the top, right corner of the page. The Shared Snippets popup appears. 
  3. In the Snippet Tag field, enter the name you wish to use to reference this Snippet elsewhere. Make sure the name is only composed of letters, numbers, and dashes (no brackets, carrots, or punctuation). The brackets and the > symbol are automatically added to the name you have entered when you save the snippet. 
  4. In the Snippet Text / HTML Value field, enter the contents of the snippet. These will replace the Snippet Tag entered above when notification templates or other snippets are processed.
  5. Click Add to save the new Snippet. A card appears on the list of shared snippets. 

 

Translations

In the FastSpring App, navigate to Settings > Customer Emails > Translations to edit translated text in your customer notifications. 

Similarly to Shared Snippets, you can enter a placeholder variable in your notifications template that is automatically replaced by another predefined element when FastSpring sends the notification. On the Translations page, there is a unique set of defined snippets. When you include the snippet, FastSpring detects the language used for the order to replace the phrase with the corresponding translation. 

For example, if you include {{translate “Total”}} in the body of your notification, and a customer selects Spanish as their language at checkout, the value you enter in the Total= entry on the Translations page appears in the email notification.

The Default Order Receipt notification as well as some default shared snippets use a variety of translations for which FastSpring has supplied the translated text. If you create any additional translations, be sure to enter the translated text in each language, as necessary.

Enter Translated Text

  1. In the FastSpring App, navigate to Settings > Customer Emails > Translations
  2. Select the language for which you want to enter a translation. In the applicable text area, enter the translation following the = sign. 
  3. Save your changes. 

After you save a translation, it will appear in the Translations page, and FastSpring can apply the translation to emails where you add it.

Add New Words or Phrases for Translation

To add new words or phrases for translation to your email template, enter {{translate “ “}} with the word or phrase in between the quotation marks. 

For example, {{translate “Be sure to check out our blog at}} instructs FastSpring to search for translations on the Translations page. FastSpring will apply your custom translation of this phrase for each language you translated it in.

Table of Contents

By generating a License fulfillment, you can provide a license key (also known as a serial number, activation code, or product key) to consumers after a successful purchase. This can appear on the completion page following a successful purchase. Customers can also access their License Key in their email receipt, or their Account Management page.

Generate a License

  1. In the FastSpring App, navigate to the product’s details page. In the Fulfillments section, click Edit.
  2. Click + Add Fulfillment > Generate a License.
  3. Click Choose a Generator… to select the type of license generator.
  4. Click Next.

The following steps will vary depending on what type of license generator you selected.

Pre-Defined List

If you have an existing list of pre-generated license keys, you can paste them in the Pre-Defined List field and control how many License Keys are issued per quantity purchased. After selecting this option within Choose a Generator, you can further customize the format and behavior of the Pre-Defined List.

  1. Below License Format, select whether you want to limit each Licence Key to a single line. If a single key can contain carriage returns, select Multi-Line License.
  2. Below License Quantity Behavior, select whether FastSpring issues a separate license key for each quantity purchased, or a single license key per purchase, regardless of the quantity.
  3. Below Step 2: Enter Licenses, enter a list of License Keys that follow the criteria you configured above.
  4. Click Create. The License Configuration dialog displays the number of licenses available based on what you entered in the editor.

Advanced Configuration

In the License List configuration page of each type of License Key, you can apply advanced configurations to customize your License Key.

  1. License Generator Name – Enter an internal-facing name for your license generator.
  2. Ordered List – Select this checkbox to ensure FastSpring issues the License Keys in the order in which you pasted them. If you do not select this checkbox, FastSpring may issue license keys from your list in any sequence.
  3. Custom Template Key – Enter an identifier to assign more than one license generator to the product. This enables you to separately identify them in a template, and use the identifier to control where the License Key is placed.

Script

You can supply a custom PHP script or JavaScript snippet for FastSpring to use when generating license keys. As you are applying changes, use the Test button at the top, right corner of the page to test your changes.

  1. From the Output Format drop-down, select the type of license key format that the script generates.
  2. In the License Name field, click the drop-down selector and select which data point from the order details the script factors into license key generation.
  3. In the Script Type drop-down, specify whether you are supplying a PHP script or a JavaScript snippet.
  4. Click Create. The General settings for your fulfillment are saved. You can edit the Output Format or License Name on the General page.
  5. In the Script Source Code, enter the custom License Key Generation Code.
  6. Save your changes. The script and configuration options get saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (<type> Script) appears in the Fulfillment section of the product details page.

PHP Script Parameters

JavaScript Parameters

The following lists the order parameters and special functions available for use in your JavaScript code.
name – This may be the customer’s full name, company name, or email address, depending on License Name and the customer’s choice.

Special JavaScript Functions

To re-use this code or distinguish the License Keys it generates in the context of a template, go to the Advanced configuration page.

Remote Server Request

The Remote Server Request lets you configure a fulfillment action that contacts a remote server while the order is being processed to request a new, custom license key. When FastSpring receives the license key from the external server, we provide it to the consumer. This process also saves the license key as part of the completed order record.

  1. In the URL field, enter the URL or endpoint of your external server. FastSpring will access it during order processing to generate a license key. The URL must begin with http:// or https://.
  2. In the Method drop-down, select the POST or GET method for the HTTP request to your external server. We recommend using POST.
  3. If you selected POST, select the type of character encoding for the post body in the Post Encoding field below.
  4. In the Output Format drop-down, select the type of license format that FastSpring should expect from the remote server.
  5. Click Create.

You can further customize the Remote Server Request License Configuration through the Security, Parameters, and Advanced configuration pages.

Security

The Security configuration page helps you secure the License Key generation process and prevent fraudulent requests from being accepted by your server.

The Private Key field provides a unique, 32-character private key that you can use to verify the authenticity of requests originating from your FastSpring Store.

In the Authentication section of the page, specify a Username and Password for logging in. FastSpring passes the credentials specified here to the remote server with each license key generation request. You can optionally configure the script hosted by your server to ignore requests that don’t include a valid login.

Parameters

The Parameters page provides a list of order parameters that you can include in the URL. FastSpring passes these data points, such as transaction details or customer data, to the remote server for use in license key generation. Some of the parameter names and values can even be customized to meet your needs, and you can configure up to ten additional custom parameters on this page as well.

Advanced

Optionally, apply advanced configurations listed below to customize your License Key.

CocoaFob

You can specify a DSA Private Key that is used for generating License Keys through CocoaFob. CocoaFob is an advanced option that may be beneficial for Mac or other Objective-C applications.

  1. In the Product Name field, enter the name of the product. This becomes part of the registration source string.
  2. In the DSA Private Key field, enter the private key used to generate licenses. The value you enter should begin with —–BEGIN DSA PRIVATE KEY—– and should end with —–END DSA PRIVATE KEY—–.
  3. Click Create.
  4. In the License Source Template field, specify the license source template used by your application to verify licenses.
  5. On the Advanced page, in the License Name field, click the drop-down and select which data point from the order details (if any) should be factored into license key generation.

  6. Optionally, select the Generate Multiple Licenses checkbox for FastSpring to generate a separate license key for each quantity purchased in the order. If you do not select this checkbox, FastSpring generates one license key per product, regardless of the quantity purchased.
  7. In the Custom Template Key field, enter an identifier to assign more than one license generator to the product. This enables you to separately identify them in a template, and use the identifier to control where the License Key is placed.
  8. Save your changes.

Aquatic Prime

Using AquaticPrime instructs FastSpring to generate a license file that is compatible with the third-party AquaticPrime algorithm.

For more information, see: https://github.com/bdrister/AquaticPrime.

  1. In the Product Name field, enter the name of the product to be used as the value for the “Product” key in the generated license file.
  2. In the Full License Filename field, enter the name of the downloadable license file to be provided to the customer, including the file extension. The file name may also contain the customer’s name. For example, a final file name could be: “John Doe License.myapp”.
  3. In the Public Key field, enter the public key for use in license key generation.
  4. In the Private Key field, enter the private key for use in validating license files generated using the public key.
  5. Click Create.
  6. The License Name field lets you select which data point from the order details (if any) should be used in the #{name} variable.
  7. Optionally, use the MIME Type field to override the default AquaticPrime file MIME type.
  8. In the Content section, specify additional key/value pairs for inclusion in the license file output. In the Name column, enter the name of the key, and in the Value column, enter the corresponding parameter whose value is to be included in the license file (e.g., #{email}).
  9. Save your fulfillment.

Advanced

Software Passport

If you are already using Software Passport to protect your application, you can enter your Software Passport project settings in order for FastSpring to generate License Keys compatible with your project. Contact Support for more information.

If your Software Passport implementation generates license keys based on the customer’s name, and a customer enters the quotation mark (“) as part of their name, the resulting license key will be invalid. We encourage you to advise buyers not to enter that character in the name fields, if possible.

  1. In the Encryption Template field, enter the encryption template from your Software Passport project for the current product.
  2. In the Signature Level field, click the drop-down and select the signature level used in your Software Passport project for the current product.
  3. In the Key Type / Version field, click the drop-down and select the key type and version used by your Software Passport project for the current product.
  4. Click Create. The General settings are saved, and an Advanced page becomes available.

Advanced

  1. The License Name field, on the Advanced tab, lets you select which data point from the order data. ils (if any) should be factored into license key generation via the name variable.
  2. In the License Name Modification field, indicate whether or not to modify the customer’s license name, based on your selection above.
  3. In the License Quantity Behavior field, select whether FastSpring issues a separate license key for each quantity purchased or a single license key per purchase, regardless of the quantity.
  4. Optionally, use the Custom Template Key field to enter an identifier to assign more than one license generator to the product. This enables you to separately identify them in a template, and use the identifier to control where the License Key is placed.
  5. Save your changes. The License Generator (SoftwarePassport) fulfillment appears in the Fulfillment section of the page.

If your product is delivered as a PDF file, you can upload a PDF file of up to 250 MB from a Web Browser or Dropbox that will be stamped with the customer’s name and order information upon download.

Create a Signed PDF

  1. In the FastSpring App, navigate to the product’s details page. In the Fulfillments section, click Edit
  2. Click + Add Fulfillment > Create a Signed PDF. Additional fields appear. 
  3. In the File Name for Customer field, enter the complete file name of the download file, including the extension. Do not include the path to the file. 
  4. In the PDF File Name field, enter the customer-facing file name, including the extension, of the PDF file to be downloaded by the customer.
  5. Select Upload from Web Browser or Dropbox File to upload a PDF file to FastSpring. Click Next
  6. Click Choose File. Select the PDF file from your computer or DropBox. The file name will appear under File to Upload
  7. Click Start Upload. After the upload is complete, click Verify. The Fulfillment section of the product details page will automatically reflect the configured file download fulfillment.
  8. When the upload is complete, verify the file and configure the license stamp. 
  9. In the License Name field, optionally enter a name for this fulfillment action if you would like to re-use it on other products, bundles, or subscriptions. 
  10. In the License Template field, enter the format of the license information that will appear on your PDF. Optionally enter the variables below. 
  11. In the License Y position field, enter the position where you want the license information to appear on the PDF, relative to the bottom of the page. 
  12. In the License Font Size field, enter the font size that for the license information watermark.
  13. Click Verify to complete the configuration. 

 Table of Contents

When configuring a Fulfillment for your product, the Provide a File Download option enables customers to download resources (such as installer files, PDFs, or a static URL for an external location) after a successful purchase. A customizable Download Now button appears on the completion page. Customers can also download the file from their Account Management portal and their email receipt.

Configure a File Download Fulfillment

  1. In the FastSpring App, navigate to the product’s details page. In the Fulfillments section, click Edit.
  2. Click + Add Fulfillment > Provide a File Download. Additional fields appear.
  3. In the File Name for Customer field, enter the complete file name of the download file, including the extension. Do not include the path to the file.
  4. Select from the following options to provide FastSpring the file. FastSpring will deliver it to consumers after a successful purchase:

The following fields will differ depending on your selection for Step 4. See the applicable instructions below for more details.

Upload from Web Browser

  1. In the Fulfillment configuration page, click Upload from Web Browser > Next.
  2. Click Choose File. Select the download file from your network or computer. The file name will appear under File to Upload.
  3. Click Start Upload. After the upload is complete, click Verify. The Fulfillment section of the product details page will automatically reflect the configured file download fulfillment.

Dropbox File

Dropbox can be used to transfer your fulfillment file to FastSpring for configuration. FastSpring will host the download file to be served to customers after a successful purchase.

  1.  In the FastSpring App, navigate to the product’s details page. In the Fulfillments section, click Edit.
  2. Click + Add Fulfillment > Dropbox File.
  3. Click the Choose… link. A new window opens, prompting you to log on to your DropBox account.
  4. In your DropBox account, select the fulfillment file. Click Choose. The file name and size appear below the DropBox File radio button. Click Next.

When the file has completed, the details appear in the product details page.

Remote File URL

  1. In the FastSpring App, navigate to the product’s details page. In the Fulfillments section, click Edit.
  2. Click + Add Fulfillment > Remote File URL. Additional fields appear.
  3. Enter the complete URL of the download file, including the file name. Click Next. Depending on the file size, it may take time to upload.
  4. Save your changes.

Existing File in FastSpring

When you select Existing File, you can re-use a downloaded file that is already hosted by FastSpring in your account. Use the File Created Time Frame and Available Files selector to specify which file FastSpring should use for the product.

Advanced Configurations

After you have configured the fulfillment, you can click Edit to further customize the following fields:

By default, download links are valid for 7 days after the order is placed, however you can request FastSpring Support to change this setting, or enable Extended Download Service. If FastSpring changes the default download duration, this does not affect the download link duration of previous orders.

To view the current settings, navigate to the Orders page and select the relevant order. Click the File link to access additional details:

Resend a Customer’s Download Link

You can resend the download link of any previous order through the App. If you resend the receipt email message for an order whose download link(s) have expired, the expired download link(s) are automatically reset to the default duration.

  1. Navigate to the order details and scroll down to the Emails section.
  2. Click anywhere in the Successful Order row.
  3. In the Email dialog, click Resend.

Reset or Deactivate a Download Link

After a download link expires or is deactivated, it will no longer function and will result in an error 404 (file not found).
You can reset a download link to restart for the default download duration or deactivate a download link to immediately disable it:

  1. From the order details page, click File.
  2. On the file detail page, click Options menu in the top right corner of the page.
  3. Select Reset or Deactivate.

To reactivate a download link, click Options > Activate on the file detail page.