Collapse Menu
Docs Home
Extensibility Options
Contact Support

Fulfillments

Overview

This article explains how to deliver your product or service (e.g. via a license key or a download) to the customer following a purchase.

In this context, the term fulfillment refers to the method or process by which customers receive their purchased product(s). Fulfillment may mean providing purchasers with a license key, a product download, or some other means of accessing a licensed product. It is crucial to configure fulfillment for each product so that customers can receive what they have paid for as soon as possible following a purchase.

When editing a product, a bundle, or a subscription, the Fulfillment section of the product details page lets you add new fulfillment actions, view, or edit existing fulfillments. You can configure more than one fulfillment action for each item; doing so causes multiple things to happen each time the item is purchased. To create a new fulfillment action, click Add Fulfillment.

Here is an example of the Fulfillments section for a product that has some fulfillment actions configured:

In the example above, the product has two fulfillments: a product download (hosted by FastSpring) and a license key. You could click Edit to modify the settings for an existing fulfillment action or click Disable to remove that action from the product or subscription altogether.

When you click + Add Fulfillment, the Add Fulfillment Action page appears. Select one of the available options to begin configuring a fulfillment action for the product or subscription.

Detailed information about each option is available below; please click a link to jump to the corresponding section of the document.

 

Send Email

The Send Email option is a legacy fulfillment method that is typically not needed or used for Contextual Stores. Unlike with Classic Commerce Stores, the Contextual email receipt message automatically includes relevant fulfillment details, so Email fulfillments are not necessary. If you have any questions about the Send Email method, please contact support.

 

back to list

 

 

Generate a License

The Generate a License option lets you provide a license key (sometimes called a serial number, activation code, or product key) to purchasers who buy the product or subscription. Depending on how you configure your Storefront, the license key can appear on the Completion Page following a successful purchase. (This option can be controlled via Storefronts > Web Storefronts or Popup Storefronts > Settings (for your selected Storefront) > Completion Page.) Whether you choose to include the license key on the Completion Page or not, the customer's email receipt includes the license key, by default. The license key may also be accessible via the customer-facing Account Management page.

When you select the option to Generate a License, the "Choose a Generator" prompt appears.

Clicking the text Choose a Generator... opens a drop-down menu with the available types of generators.

Select the desired generator type and then click NEXT to begin configuring the settings for that type of license key generation.

 

Pre-defined List

This option lets you paste in a list of pre-generated license keys and control how many license keys FastSpring issues per quantity purchased.

  1. License Format - Select whether your license keys are limited to a single line per key. The default option is Single-Line License (Quantity Based). If the product's license keys can span multiple lines (i.e., if a single license key may contain carriage returns), select Multi-Line License (Quantity Based).
  2. License Quantity Behavior - Select whether FastSpring issues a separate license key for each quantity purchased (the default option) or a single license key per purchase, regardless of the quantity. If you want to issue only a single license key per order regardless of quantity, select Dispense Single License (Always).
  3. In Step 2: Enter Licenses, paste in (or enter) a list of license keys, keeping in mind the criteria selected above.
  4. Click Create to proceed to the next step.




    The License List Configuration page shows how many license keys are available based on what you just pasted into the editor. The General tab, containing basic information and settings, appears by default. You can optionally click Advanced for more options.




    On the Advanced tab, if you want to save the license key list for use with other products or subscriptions, enter a License Generator Name.

    If it is important that the FastSpring issues the license keys in the same sequence in which you have entered or pasted them, select the Ordered List checkbox. If you do not select this checkbox, FastSpring may issue license keys from your list in any sequence. For example, suppose your list begins like this:
    		EXAMPLE-8675309-OU812
    		EXAMPLE-8675309-OU813
    		EXAMPLE-8675309-OU814
    	

    If you do not select the Ordered List checkbox, then FastSpring might issue the license keys in the following sequence (or in any other sequence):
    		EXAMPLE-8675309-OU814
    		EXAMPLE-8675309-OU812
    		EXAMPLE-8675309-OU813
    	
    If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier in the Custom Template Key field. You could then use that identifier in the appropriate section of your template to control the placement of the license key from this list in the message.
  5. When you have finished with the General and Advanced settings, click Save to complete the setup. The pre-defined list gets saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (Pre-defined List) now appears in the Fulfillment section of the page.

 

back to Generate a License

 

 

Script (PHP or JavaScript)

This option lets you supply a custom PHP script or JavaScript snippet that FastSpring can use to generate license keys.

  1. In the Output Format field, click the drop-down selector and choose the type of license key format that the script generates.


     
    • Single-Line License (Quantity Based) - This option indicates that the script generates one license key per quantity purchased. License keys generated by the script may be separated by a line feed character (or a carriage return + line feed character).
    • Multi-Line License (Quantity Based) - This option also indicates that the script generates one license key per quantity purchased. However, with this option, license keys may be separated by an empty line. The empty line separator should only contain a line feed character (or a carriage return + line feed character).
    • Single License Only - This option indicates that the script generates only one license key regardless of the quantity purchased by the customer. The license key may contain any type of character and may span multiple lines.
    • Single File Based License / MIME 1.0 - This advanced option supports binary data as a multipart/mixed MIME 1.0 file. Customers can download the file via a URL provided to them by FastSpring. Contact support@fastspring.com for information on the format and correct use of this option.

     
  2. In the License Name field, click the drop-down selector and select which data point from the order details (if any) the script factors into license key generation.
     
    • Not Name Based - If the license key generation does not take any name into consideration, select this option.
    • Email Address - If the script bases the license keys on the customer's email address as entered during the purchase process, select this option.
    • Person Name - If the script bases the license keys on the customer's full name as entered during the purchase process, select this option.

     
  3. In the Script Type field, click the drop-down selector and specify whether you are supplying a PHP script or a JavaScript snippet.
  4. Click Create to proceed to the next step.

  5. The General settings for your fulfillment action are saved and displayed. You can edit the Output Format or License Name on the General page later if need be.
  6. In the Script Source Code field (JS version pictured above), enter or paste in the custom license key generation code.
     

     Note

    A single script call is processed regardless of quantity -- it is the script's responsibility to return multiple licenses if applicable.


    The following table lists the order parameters you can include in your PHP script.
     
    NameDescription
    $nameThis may be the customer’s full name, company name, or email address, depending on License Name and the customer’s choice.
    $name_unicodeArray of Unicode codepoints (integers) representing name.
    $companyCustomer’s company, if entered.
    $company_unicodeArray of Unicode codepoints (integers) representing company.
    $emailCustomer’s email address.
    $quantityIt is the responsibility of the script to determine how quantity is handled. If you return multiple licenses, all licenses will be assigned to the order.
    $productThe product name.
    $referenceThe order reference.
    $subscriptionThe subscription ID.
    $tagsMap of tag names to tag quantities.
    Tag names are defined at the product level and allow license generation to be based on other products in an order. Tag values are always 1 or greater.
    $referrerA custom value passed into the order process via the URL.



    The following table lists the order parameters and special functions available for use in your JavaScript code.
     
    NameDescription
    Parameters
    nameThis may be the customer's full name, company name, or email address, depending on License Name and the customer's choice.
    companyCustomer's company, if entered.
    emailCustomer's email address.
    quantityIt is the responsibility of the script to determine how quantity is handled. If you return multiple licenses, all licenses will be assigned to the order.
    productThe product name.
    referenceThe order's reference / ID.
    subscriptionThe subscription reference / ID.
    tagsMap of tag names to tag quantities. Tag names are defined at the product level and allow license generation to be based on other products in an order. Tag values are always 1 or greater.
    referrerA custom value passed into the order process via the URL.
    Special Functions
    sha1HexDigest(arg1)arg1 is the String to produce the SHA1 hex digest for.
    md5HexDigest(arg1)arg1 is the String to produce the MD5 hex digest for.
    aes(arg1,arg2)arg1 is a 128 bit AES key in Base64. arg2 is the String to encrypt. Returns a Base64 String.
    aesDecrypt(arg1,arg2)arg1 is a 128-bit AES key in Base64. arg2 is the String to decrypt. Returns a Base64 String.
    dsaSign(arg1,arg2)arg1 is a 512 or 1024 byte DSA key in PEM format. arg2 is the String to sign. Returns a Base64 String.
    base64(arg1)arg1 is the String to convert to Base64. Returns a Base64 String.
    base64Decode(arg1)arg1 is the Base64-encoded String to decode. Returns a String.
    rsaSha512Sign(arg1, arg2)arg1 is the private key PEM, arg2 is the data to sign using SHA-512 with RSA. Returns the signature as a Base64 String.
    httpGet(url, [params])var response = httpGet("http://www.example.com", { "ipAddress": ipAddress } );
    response.statusCode;
    response.body;
    httpPost(url, [params])var response = httpPost("http://www.example.com", { "ipAddress": ipAddress } );
    response.statusCode;
    response.body;
    http({type:POST|GET, url: , username: , password:, params: {}})var response = http({
    type: "POST", 
    url: "http://www.example.com",
    username: "tom",
    password: "secret",
    params: { "ipAddress": ipAddress }
    });
    response.statusCode;
    response.body;

     
  7. Options for re-using this code or distinguishing the license keys it generates in the context of a template are available by clicking the Advanced link above.


     
    • If you want to save the script and configuration for use with other products or subscriptions, enter a License Generator Name.
    • If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this script and configuration in the Custom Template Key field. You could then use that identifier in the appropriate section of your template to control the placement of the license key from this script in the message.

     
  8. You can optionally use the Test button at the top right-hand corner of the page to test your implementation.
  9. When you have finished configuring the General and Advanced settings, click Save to complete the setup. 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 page.

 

back to Generate a License

 

 

Remote Server Request

This option lets you configure a fulfillment action that contacts a remote server in real-time--during order processing--to request a new, custom license key. FastSpring receives the license key from the external server and provides it to the purchaser. 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, which FastSpring will access during order processing to generate a license key. The URL must begin with http:// or https://.
  2. In the Method field, click the drop-down and select the method for the HTTP request to your external server: HTTP POST (recommended) or HTTP GET. You can find more information about the two methods at http://www.w3schools.com/tags/ref_httpmethods.asp.
  3. In the Post Encoding field, click the drop-down and select the type of character encoding for the post body if you have also selected HTTP POST above. This field does not apply if you have selected HTTP GET. With the GET method, the URL includes the transaction data as URL parameters rather than transmitting the data as the HTTP message body. The character encoding options available are UTF-8 and ISO-8859-1; the default value is UTF-8.
  4. In the Output Format field, click the drop-down and select what type of license format FastSpring should expect from the remote server.


     
    • Single-Line License (Quantity Based) - This option indicates that the remote script generates one license key per quantity purchased. License keys generated by the remote script may be separated by a line feed character (or a carriage return + line feed character).
    • Multi-Line License (Quantity Based) - This option also indicates that the remote script generates one license key per quantity purchased. However, with this option, license keys may be separated by an empty line. The empty line separator should only contain a line feed character (or a carriage return + line feed character).
    • Single License Only - This option indicates that the remote script only issues one license key regardless of the quantity purchased by the customer. The license key may contain any type of character and may span multiple lines.
    • Single File Based License / MIME 1.0 - This advanced option supports binary data as a multipart/mixed MIME 1.0 file. The file is then downloadable by customers via a URL provided to them by FastSpring. Contact support@fastspring.com for information on the format and correct use of this option.

     
  5. Click Create to proceed to the next step.
  6. At this point, the General setup is complete, and three new pages of settings become available.

  7. The Security settings page helps you to secure the license key generation process and prevent malicious or fraudulent license key generation requests (i.e., requests not originating from your FastSpring Store) 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. Below the field, you can find instructions on how to use the key for authentication.
    • The page also provides examples of implementing private key authentication via PHP, Ruby, and C#.
    • In the Authentication section of the page, the Username and Password fields allow you to specify optional login credentials. 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.

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

  9. The Advanced settings page provides advanced options for this fulfillment action.


     
    • License Generator Name -If you want to save this remote server request configuration for use with other products or subscriptions, enter a name for it here.
    • Custom Templates Key -If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this fulfillment action here. You could then use that identifier in the appropriate section of your template to control the placement of the license key from this fulfillment action in the email message.

     
  10. We recommend that you click Test at the top right-hand corner of the page and make sure the fulfillment action works as intended before you save it.
  11. After completing the desired settings on the General, Security, Parameters, and Advanced pages, click Save to save the fulfillment action. The remote server request options are saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (Remote<URL>) appears in the Fulfillment section of the page.

 

back to Generate a License

 

 

CocoaFob

This option lets you specify a DSA Private Key that for use in generating license keys via CocoaFob. Using CocoaFob is an advanced option that may be useful for Macintosh or other Objective-C applications; you can find more information at https://github.com/glebd/cocoafob.

  1. In the Product Name field, enter the name of the product, which becomes part of the registration source string.
  2. In the DSA Private Key field, enter the private key for use in generating licenses. The value you enter should begin with -----BEGIN DSA PRIVATE KEY----- and should end with -----END DSA PRIVATE KEY-----.
  3. Click Create. Your General settings are saved, and the Advanced settings page becomes available.

  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.
     
    • Not Name Based - If the CocoaFob license key generation does not take any name into consideration, select this option.
    • Email Address - If the CocoaFob implementation bases the license keys on the customer's email address, as entered during the purchase process, select this option.
    • Person Name - If the CocoaFob implementation bases the license keys on the customer's full name, as entered during the purchase process, select this option.

     
  6. If you select the Generate Multiple Licenses checkbox, FastSpring generates a separate license key for each quantity purchased in the order. If you do not select this checkbox, FastSpring generates only one license key per product, regardless of the quantity purchased.
  7. If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this CocoaFob implementation in the Custom Template Key field. You could then use that identifier in the appropriate section of your template to control the placement of the license key from this CocoaFob implementation in the message.
  8. After completing the desired settings on the General and Advanced pages, click Save to save the fulfillment action. The CocoaFob implementation settings are saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (CocoaFob) appears in the Fulfillment section of the page.

 

back to Generate a License

 

 

AquaticPrime

This option tells FastSpring to generate a license file compatible with the third party algorithm available from the AquaticPrime website. You can also find more information on AquaticPrime at 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. The General settings are saved, and additional settings, including a separate Advanced page, become available.

  6. The License Name field lets you select which data point from the order details (if any) should be used in the #{name} variable.
     
    • Not Name Based - If you select this option, the #{name} variable used in generating the license file is null.
    • Email Address - If the #{name} variable should contain the customer's email address, as entered during the purchase process, select this option.
    • Person Name - If the #{name} variable should contain the customer's full name, as entered during the purchase process, select this option.


     
  7. The optional MIME Type field allows you to override the default AquaticPrime file MIME type.
  8. In the Content section, you can 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. On the Advanced page, If you select the Generate Multiple Licenses checkbox, FastSpring generates a separate license key for each quantity purchased in the order. If you do not select this checkbox, FastSpring generates only one license key per product regardless of the quantity purchased.
  10. If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g. for the customer's emailed receipt), you can enter an identifier for this AquaticPrime implementation in the Custom Template Key field. You could then use that identifier in the appropriate section of your template to control the placement of the license file download link from this fulfillment action in the message.
  11. After completing the desired settings on the General and Advanced pages, click Save to save the fulfillment action. The AquaticPrime implementation settings are saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (Aquaticprime) appears in the Fulfillment section of the page.

 

back to Generate a License

 

 

Software Passport

This is an advanced option that you can use when you are already using Software Passport (or the legacy version, Armadillo) to protect your application. You can enter your Software Passport project settings here so that FastSpring can generate license keys compatible with your project. Please contact support@fastspring.com for assistance using this method.

 Note

If your Software Passport implementation generates license keys based on the customer's name, and a customer enters the double-quotation mark character (") as part of his or her 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 to proceed to the next step. The General settings are saved, and an Advanced page becomes available.



  5. The License Name field, on the Advanced tab, lets you select which data point from the order details (if any) should be factored into license key generation via the name variable.
     
    • Not Name Based - If the license key generation does not take any name into consideration, select this option.
    • Email Address - If the license key generation bases the license keys on the customer's email address, as entered during the purchase process, select this option.
    • Person Name - If the license key generation bases the license keys on the customer's full name, as entered during the purchase process, select this option.

     
  6. The optional License Name Modification field tells FastSpring whether or not to modify the customer's license name (based on your selection in the field above) to remove certain character accents. The default value is None (meaning that FastSpring does not modify the license name). However, you can click the drop-down selector and choose to Convert Latin 1 Accents.
  7. In the License Quantity Behavior field, select whether FastSpring issues a separate license key for each quantity purchased (the default option) or a single license key per purchase, regardless of the quantity. If you want to issue only a single license key per order regardless of quantity, select Dispense Single License (Always).
  8. If you need to assign more than one license key generator to a single product or subscription and you need to be able to identify them separately in a template (e.g. for the customer's emailed receipt), you can enter an identifier for this Software Passport implementation in the Custom Template Key field. You could then use that identifier in the appropriate section of your template to control the placement of the license key from this fulfillment action in the message.
  9. After completing the desired settings on the General and Advanced pages, click Save to save the fulfillment action. The Software Passport implementation settings are saved, and you are returned to the product or subscription detail page. The new fulfillment action License Generator (SoftwarePassport) appears in the Fulfillment section of the page.

 

back to Generate a License

 

 

back to list

 

Provide a File Download

The Provide a File Download option lets you provide a product download that for FastSpring to host and serve to customers who buy the product or subscription. A customizable Download Now button appears on the Completion Page following a successful purchase, and the download link is also available on the customer-facing Account Management page. By default, a download button also appears in customers' email receipts.

  1. In the File Name for Customer field, enter the complete file name of the download file (including the extension). Enter only the file name; not the path to the file.
  2. Select an option for providing FastSpring with the file to be served to purchasers of this product or subscription.
     
    • Upload from Web Browser - To upload a new file to FastSpring using your web browser, select this option.
    • Dropbox File - If you want to transfer the download file to FastSpring from a Dropbox location, select this option.
    • Remote File URL - If you want to transfer the file to FastSpring from an external URL, select this option.
    • Existing File - If you have previously uploaded the download file as part of a different fulfillment action (e.g., for another product, bundle, or subscription), you can select this option to re-use that file.

    More information about each method is available below. Click any link in the list above to jump to the corresponding section of the document.

     

 

Upload from Web Browser

After clicking the Next button at the bottom right-hand corner of the page, the upload page appears.

Click Choose File and then browse to and select the download file from your network or your local computer.

The file name appears under Step 2, as the File to Upload. Click the Start Upload link at the lower right-hand corner of that section.

Depending on the file size, it may take some time to upload. Once the upload has completed, Step 3 confirms that the upload is complete. Click Verify.

The Fulfillment section of the product reflects that FastSpring has received the uploaded file, and a new fulfillment action (File Download) appears.

If you need to modify the file or configure advanced settings, click Edit.

  • Download Version Behavior - This field lets you control whether or not customers can access the newest version of the product download in certain circumstances.
     
    • Purchased File Version - This is the default value for this field. Customers can only access the original version of the product download from FastSpring. If the original download expires and FastSpring resets the expiration date, customers still only receive the original version of the download, even if you have added a newer version since the date of the original purchase.
    • Newest File Version - If this option is selected at the time of purchase, then if you upload a new version of the file, any download links that have expired are automatically replaced with new links to the new file (with new expiration dates). This allows the customer to download the latest version of the product.

     
  • Fulfillment Applicability - This field lets you limit the circumstances in which this fulfillment action triggers, based on the type of order or the order contents.
     
    • Always Applies - Select this option if you do not want to limit the circumstances in which this fulfillment action occurs. With this option, FastSpring always provides a download link with a new expiration date for all orders of products or subscriptions that use this fulfillment action, including future rebills for a subscription.
    • Applies to Rebills Only - Select this option if you do not want to provide a new download link on the very first/initial purchase of a subscription for each customer. With this option, FastSpring provides download links for future rebills only.
    • Applies to Non-Rebills / First Orders Only - This is the default value. Select this option if you want to provide a new download link only on the very first/initial purchase of a subscription for each customer. With this option, FastSpring does not provide new download links for future rebills.

     
  • Custom Template Key - If you need to assign more than one download file to a single product, bundle or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this download in this field. You could then use that identifier in the appropriate section of your template to control the placement of the download link from this fulfillment action in the message.
     

 

back to download options

 

DropBox File

After selecting this option, click the Choose... link. A new window opens, prompting you to log on to your DropBox account if necessary.

 Tip

DropBox is a convenient method for uploading a file to FastSpring. When you choose this method, FastSpring still hosts the download file to be served to customers following a purchase; DropBox is only used to transfer the file to FastSpring initially.

Once you have logged on to your DropBox account, browse your DropBox, select the file to be uploaded, and click the Choose button in the DropBox window.

After you select the DropBox file, the file name and size appear just below the DropBox File radio button. Click Next at the bottom right-hand corner of the page to upload the file.

While the file uploads, a message at the top of the next page indicates that the file is uploading.

When the file upload has completed, the file's details appear.

  • Download Version Behavior - This field lets you control whether or not customers can access the newest version of the product download in certain circumstances.
     
    • Purchased File Version - This is the default value for this field. Customers can only access the original version of the product download from FastSpring. If the original download expires and FastSpring resets the expiration date, customers still only receive the original version of the download, even if you have added a newer version since the date of the original purchase.
    • Newest File Version - If this option is selected at the time of purchase, then if you upload a new version of the file, any download links that have expired are automatically replaced with new links to the new file (with new expiration dates). This allows the customer to download the latest version of the product.

     
  • Custom Template Key - If you need to assign more than one download file to a single product, bundle or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this download in this field. You could then use that identifier in the appropriate section of your template to control the placement of the download link from this fulfillment action in the message.
     

 

back to download options

 

 

Remote File URL

After selecting this option, enter the complete URL of the download file, including the full file name, and then click the Next button at the lower right-hand corner of the page.

Depending on the file size, it may take some time to upload. A status indicator shows you that the file is uploading.

After the file has finished uploading, the download's detail page appears. The Advanced section offers additional options.

  • Download Version Behavior - This field lets you control whether or not customers can access the newest version of the product download in certain circumstances.
     
    • Purchased File Version - This is the default value for this field. Customers can only access the original version of the product download from FastSpring. If the original download expires and FastSpring resets the expiration date, customers still only receive the original version of the download, even if you have added a newer version since the date of the original purchase.
    • Newest File Version - If this option is selected at the time of purchase, then if you upload a new version of the file, any download links that have expired are automatically replaced with new links to the new file (with new expiration dates). This allows the customer to download the latest version of the product.

     
  • Custom Template Key - If you need to assign more than one download file to a single product, bundle or subscription and you need to be able to identify them separately in a template (e.g., for the customer's emailed receipt), you can enter an identifier for this download in this field. You could then use that identifier in the appropriate section of your template to control the placement of the download link from this fulfillment action in the message.
     

 

back to download options

 

 

Existing File

This option lets you re-use a download file that is already hosted by FastSpring in your account. After selecting this option, use the File Created Time Frame selector and the Available Files selector to specify which file FastSpring should use for the current product, bundle, or subscription. Then, click the Next button at the lower right-hand corner of the page. The new fulfillment action appears.

 

back to download options

 

 

back to list

 

 

Create a Signed PDF

If your product is delivered as a PDF file, this option allows you to upload a PDF file (no larger than 250 MB) that will be stamped with the customer's name and order information upon download.

  1. In the PDF File Name field, enter the complete filename (including the extension) of the PDF file to be downloaded by the customer.
  2. Select a method for uploading the PDF file to FastSpring.
     
    • Upload from Web Browser - Select this option if you need to upload a PDF file located on your network or your local computer. Then, click the Next button at the lower right-hand corner of the page.
    • Dropbox File - Select this option if you need to upload a PDF file that you have previously uploaded to DropBox. Then, click Choose... to open a DropBox window and select the file.

      You can find more information about each method below.

     

 

Upload from Web Browser

After selecting this option and clicking Next, the Add PDF License Configuration page appears, with three sections.

Click Choose File and then browse to and select the PDF file on your network or your local computer.

A summary of the file and its status appears. Click Start Upload to begin uploading the file.

Depending on the file size, it may take some time to upload. When the upload has completed, you can verify the file and configure the license stamp.

  1. 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.
     
    • Not Name Based - If you select this option, the customer's name does not appear in the watermark.
    • Customizable Name - If you select this option, the customer's name appears in the watermark.
    • Email Address - If you select this option, the watermark renders the customer's email address instead of the customer's name.
    • Person Name - This is the same as the Customizable Name option. The customer's name appears in the watermark.

     
  2. In the License Template field, enter the format of the license information that is to appear on your PDF. Entering the #{name} variable causes the watermark to include a name, using the value selected in the License Name field. Entering #{reference} causes the watermark to include the customer-facing order ID. You can enter either or both of these variables for the template, e.g., "Licensed to #{name}, Order #{reference}".
  3. 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. The default value is 30.0.
  4. In the License Font Size field, enter the font size that for the license information watermark.
  5. Click Verify to complete the configuration.

 

DropBox File

After selecting this option, click Choose File.... A DropBox window opens, prompting you to log on to your DropBox account if necessary.

Once you have logged on to your DropBox account, browse your DropBox, select the PDF file to be uploaded, and click the Choose button in the DropBox window.

After you select the DropBox file, the file name and size appear just below the DropBox File radio button. Click Next at the bottom right-hand corner of the page to upload the file.

When the upload has completed, you can verify the file and configure the license stamp.

  1. 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.
     
    • Not Name Based - If you select this option, the customer's name does not appear in the watermark.
    • Customizable Name - If you select this option, the customer's name appears in the watermark.
    • Email Address - If you select this option, the watermark renders the customer's email address instead of the customer's name.
    • Person Name - This is the same as the Customizable Name option. The customer's name appears in the watermark.

     
  2. In the License Template field, enter the format of the license information that is to appear on your PDF. Entering the #{name} variable causes the watermark to include a name, using the value selected in the License Name field. Entering #{reference} causes the watermark to include the customer-facing order ID. You can enter either or both of these variables for the template, e.g., "Licensed to #{name}, Order #{reference}".
  3. 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. The default value is 30.0.
  4. In the License Font Size field, enter the font size that for the license information watermark.
  5. Click Verify to complete the configuration.

 

back to download options

 

 

back to list

 

Try FastSpring

Get a free account and see why FastSpring is the ecommerce partner of choice for software providers around the world. Try our full-service ecommerce solution today to unlock revenue growth for your online company.