After a customer places an order that includes a subscription, FastSpring creates and activates a subscription record that is separate from the order record. Each subscription instance has a unique subscription ID. Subscription instances follow the integration flows described below.

 

Types of Subscriptions

There are two main types of subscriptions, which differ chiefly in how future billings occur. 

The two types of subscriptions follow the same basic flow except for the ongoing charges. With a managed subscription, you must initiate the ongoing charges through the FastSpring App or the FastSpring API. On the FastSpring App, you can click Charge on the subscription detail page to initiate a new rebill charge. To do this via the API, make a POST request to /subscriptions/charge.

 

Creating a Subscription 

All subscription information can be passed between you and FastSpring using the FastSpring API or entered or updated manually through the FastSpring App. Use the Subscriptions tab of the Products menu (in the FastSpring App) or the /products endpoint (via the FastSpring API) to create or update a subscription.

Subscription Instance Creation

FastSpring automatically creates a subscription instance when a customer places an order that contains a subscription. Use the Activity menu (in the FastSpring App) or the /subscriptions endpoint (via the FastSpring API) to manage the subscription.

All of a customer's subscriptions are associated with the customer's account. If the customer purchases a manual renewal subscription, FastSpring does not store the customer's payment details. Otherwise, we receive a payment token from our payment gateway that uniquely identifies the customer's payment account. We store the token in association with the customer's account and use it for the customer's subsequent subscription payments. Customers can view, add, and remove their stored payment methods via account management.

Adding or Removing Subscription Items to an Order

Each subscription instance is associated with one primary product. Except for subscription addons, each subscription has only a single product at any given time. For example, if a customer placed a single order for two subscriptions, FastSpring would create two subscription instances for the customer.

If you use Advanced Subscription Scheduling, you can configure a subscription to create subscription instances that last a finite period and then renew into a different product. In that case, a customer's subscription instance would have two products–but only one active at any given time.

You can add or remove subscription addons via the subscription detail page in the FastSpring App, or via a POST request to the /subscriptions API endpoint. Before you can add subscription addons to a subscription instance, the addons must be configured for the subscription.

If you want to make changes to a subscription instance using the API, you need to know the subscription ID. You can obtain this either from subscription-related webhook events such as subscription.activated or by calling GET /subscriptions with query parameters. Another option is to call GET /accounts; the API response includes all subscription IDs associated with the specified customer account. 

 

New Subscriptions 

When a new subscription is created, the optional subscription.activated webhook event fires with the information about the subscription. If you want to receive the details for new subscriptions, you can subscribe to that event. Alternatively, you can use one of the GET methods described in this document to retrieve subscription details. Using the subscription ID from either method, you can use GET /subscriptions/{id1}/entries to retrieve the details of rebill transactions. 

New Subscription Flow

 

Active Subscriptions

The default status for new subscriptions is active. Each subscription record has one or more sets of instructions that define the timing and other details for all rebills. When a subscription is changed, most changes only affect future subscription instances. Existing subscription instances are generally not automatically updated. However, you do have the option to automatically update certain existing subscription instances when changing notification and cancellation settings.

Each time a subscription rebill occurs, FastSpring automatically charges the subscription price to the customer's payment method associated with the subscription instance. Failure to charge the payment method (e.g., due to a declined transaction) results in the subscription status changing to overdue. An email message is immediately sent to the customer, letting them know that the subscription rebill was not successful. You can optionally configure additional overdue reminder notices to be sent after the initial message. If the buyer does not resolve the issue with the declined rebill by updating payment details on the account management site, the subscription is eventually deactivated.

Events that can trigger an email notification to customers:

Webhook events that can fire for a subscription (you can subscribe to each notification a la carte):

 

Active Subscription Charge Flow

The subscription charge flow is initiated daily by FastSpring or immediately when a managed subscription charge request is received. The daily process finds all subscriptions with a rebill or charge date equal to the current date or before and bills the customer's payment method associated with the subscription instance. If the payment method does not exist or is invalid, the subscription dunning (overdue) process is initiated. A successful charge on an overdue subscription will reset the dunning process. 

If the end date of the subscription has been reached, the subscription is deactivated and the subscription.deactivated webhook event fires. This webhook event is the only notification that occurs when a subscription has reached its end date. The subscription.deactivated webhook event also fires when you cancel a subscription with immediate effect, or when a subscription is canceled due to non-payment. 

Subscription Charge Flow

 

Charge Managed Subscriptions

Subscription charges can be managed automatically by FastSpring (see above), or you can manage the subscription. When managing subscriptions directly, you must initiate the charge transactions through the FastSpring App or the FastSpring API. You can obtain subscription details through the subscription.activated webhook event or by using one of the GET methods described in this document. Initiating the POST /subscriptions/charge request triggers the next payment to be processed.

Charge Managed Subscriptions Flow

 

Subscription Payment Notifications

Two types of subscription payment notifications can be used to notify you and your customers when a payment is due or overdue:

A daily process determines which event (reminder, overdue, or deactivation) is scheduled to occur and then generates the webhook to execute the event. 

Subscription Customer Payment Notification Flow

 

Update Subscriptions

This flow is used when the next charge date, end date, product, or quantity needs to be changed. You also have the option to generate an automatic, prorated charge or refund through the FastSpring App or the FastSpring API after changing a subscription instance in the middle of a billing period. In the FastSpring App, after confirming the changes, the Prorate command appears on the subscription details page. When updating a subscription via POST /subscriptions, pass "prorate": true if you want to prorate the changes.

If you attempt to update the next charge date and set prorate to true, the request results in an error condition.

For the subscription change, the subscription.updated event fires (if you have subscribed to that event). FastSpring sends the subscription updated email message to the customer.

You can receive notifications of the prorated charge or refund through the subscription.charge.completed or return.created webhook events. FastSpring sends subscription updated and subscription charge completed email messages to the customer.

The following flow assumes that you already have the subscription ID(s) for the subscription instance(s) that you are updating. If needed, you can use the GET functions to obtain the subscription IDs. 

Update Subscriptions Flow

The following apply to subscription updates using the POST /subscriptions endpoint:

 

Cancel Subscriptions

Using the FastSpring App or the FastSpring API to cancel a subscription, you have the option of deactivating the subscription at the end of the current period or immediately. Deactivating at the end of the current period is the default. However, when canceling via the FastSpring App, the app prompts you to choose whether to Deactivate at Next Period or Deactivate Now.  Similarly, when canceling via the FastSpring API, you can  add ?billingPeriod=0 to the DELETE method, to deactivate the subscription immediately. Two webhook events can fire when a subscription is canceled:

Cancel Subscriptions Flow

 

Get Subscriptions

When working with subscriptions using the FastSpring API, you must have the unique subscription ID to perform any action against the subscription. You can obtain the subscription ID by subscribing to webhooks or using GET /subscriptions. Using GET /subscriptions returns a list of all active subscription IDs. You can limit the number of subscription instances returned per page using "&limit=", and you can control pagination of the API response using "&page=". Adding one or more subscription identifiers to GET /subscriptions returns the details of the specific subscriptions. Issuing the GET/subscriptions/{id1}/entries request generates a response that includes all of the rebill transactions for the subscription.

Get Subscriptions Flow

Since each item in an order generates a subscription instance with a unique ID, to obtain the subscription information for the entire order, you must specify all subscription identifiers in the GET request.

Table of Contents

 

Using the API or the FastSpring App, you can pause your customers’ subscriptions to reduce churn. The pause will take place on the day of the next billing cycle and last for the number of rebill periods that you configure. However, you can resume or cancel the subscription at any time before the resume date. 

Buyers do not have the capability to pause their own subscription; they must go through you or your support team in order to pause and resume the subscription.

 

Schedule a Subscription Pause from the App

  1. Navigate to the subscription’s details page. 
  2. At the top, right corner of the Overview section, click Pause. A popup appears. 
  3. Enter the number of billing cycles you would like to pause the subscription for. Click Confirm. The subscription’s details page will automatically update. 

The Next Charge field displays the start and end dates of the upcoming pause. These details are also reflected in the Sales pages.

After the subscription is in a paused state, customers will not have access to the services. The subscription will display in the Active Subscriptions section of their Account Management page. The subscription will automatically resume on the renewal date you configured. You can subscribe to email notifications or webhooks to be notified of the change.
 

Cancel a Scheduled Pause

Between the time that you schedule a pause for a subscription, and the time that the subscription enters the paused state, you can cancel the scheduled pause. Navigate to the subscription’s details page and click Cancel Scheduled Pause. This immediately resumes the customer’s pre-existing subscription.
 

Resume a Subscription

If a subscription is in the paused state, you can resume it at any point in time. If you do not resume it prior to the renewal date you configured, the subscription will automatically resume unless it has been canceled.

  1. Navigate to Sales > Subscriptions
  2. In the first drop-down filter, click Paused Subscriptions. Select the paused subscription to access its details page. 
  3. In the Overview section, click Resume.

When you resume a subscription, the customer is immediately charged. If the payment is successful, they will have access to the subscription immediately. Future rebill dates will reflect the resume date. You can view the history of status changes for this particular subscription in the Timeline section below.
 

Using API + Webhooks

You can also utilize the FastSpring API and Webhooks to pause and resume customers’ subscriptions.

Contents of Event Payload

 

Schedule a Pause

To schedule a subscription pause for your customer, send the following API request:

POST /subscriptions/ID/pause

In the pausePeriodCount= field, Input the number of rebill periods for which the subscription is paused. This can be any integer larger than 0 and less than 13. This will send the GET /subscriptions/ID response with the following attributes:

This change impacts existing subscription.updated webhook, sending a Subscription Paused email notification to the customer. The following attributes should be included in the payload:

 

Removing a Scheduled Pause

To cancel a customer’s scheduled pause, send the following API requests:

POST /subscriptions/ID/resume   

This will send the GET /subscriptions/ID response, and resume the currently paused subscription. This response impacts the existing subscription.update webhook; the following attributes should be included in the payload:

 

Paused Subscriptions 

When a subscription is paused, the pausing starts on the day of the next billing cycle, when the customer would usually be charged for a renewal. Instead, the subscription is sent into a Paused status. This triggers the subscription.updated and subscription.paused webhook events.

state: “paused”
pauseDateInSeconds: 1625011200
pauseDateDisplay: 6/30/21
resumeDateInSeconds: 1625011200
resumeDateDisplay: 6/30/21

 

Resume a Subscription Immediately / Cancel a Scheduled Pause

If you immediately resume a subscription, it will charge the customer and start a new billing cycle immediately. To do so, send the following API request:

POST /subscriptions/ID/resume

The response will be GET /subscriptions/ID?. This will update to the active status and remove the pauseDate and resumeDate fields from the payload. The following webhooks will be triggered:

 

Disable a Fulfillment

If you have paused a customer's subscription, you can use FastSpring's webhooks and APIs to temporarily disable your product.

Table of Contents

You can modify the billing and behaviors of active subscriptions through the FastSpring App and the /subscriptions endpoint of the FastSpring API. Navigate to Sales > Events to view active subscriptions. From the subscription’s details page, you can apply changes, such as prorating when upgrading a subscription, canceling / uncanceling a subscription, or modifying the pricing.
 

Edit an Active Subscription

You can optionally make changes to the configuration of existing subscriptions. If you apply changes to the pricing, the new price will take place on the next billing date, unless you configure a proration. See Prorate when Upgrading or Downgrading a Subscription below for additional information. 

  1. In the FastSpring App, navigate to Sales > Events. Select the active subscription you would like to edit. 
  2. Click on the subscription in the analytics page to access the details page. 
  3. Apply the desired changes. See Edit a Subscription for more information. 
  4. Save your changes. A subscription review page loads, displaying a comparison of the changes. Red items display the original configuration, and green items display the changes applied.
  5. If you would like to apply additional changes, click Cancel, and repeat the process. When you are satisfied, click Confirm to confirm your changes.  

 

Prorate when Upgrading and Downgrading Subscriptions

If you have upgraded or downgraded a subscription, you can prorate adjustments to immediately bill or refund the difference compared to the previous subscription. However, this option is not available to subscriptions that have been active for more than 6 months. When you click Prorate, a review page will display the breakdown of the prorated charge.

If you have already applied a prorated adjustment to a subscription, you can adjust it again. The review page will display the date of the last prorated charge, and adjustments will be made based on that transaction.

Editing a prorated charge on the same day as a subscription rebill will result in a Last charge is still pending error.
  1. In the FastSpring App, edit the subscription to reflect the new price. 
  2. After you change the total price, click Prorate in the top, right corner.
  3. Optionally, view the Proration page to view the breakdown. FastSpring automatically:
  4. Click Confirm

The customer is immediately charged for the prorated subscription. If the charge is unsuccessful, the subscription displays an overdue payment. You can control the behavior of subscriptions with overdue billings in the Pricing field on the details page, or by modifying an individual subscription. 

Using the API

You can initiate a prorated upgrade or downgrade via POST /subscriptions. The boolean prorate field in your JSON request allows you to control whether or not proration occurs with the upgrade or downgrade.  
 

Declined Rebills

If an automatic rebill is unsuccessful, it may be due to a decline response from the credit card’s issuing bank. To reduce the occurrence of declined charges due to expired or updated cards, FastSpring automatically requests an update of the payment account token from the issuing bank 5 days before each rebill. 

When a rebill is declined, FastSpring automatically sends an email notification to the customer. You can edit the email template at Settings > Customer Emails > Subscription > Charge Failed. See Subscription Pricing for setup instructions.

Automatic Retries

FastSpring automatically retries the charge 1, 3, and 5 days after a declined rebill. This occurs until the charge is successful, or the overdue subscription is cancelled. If payment overdue notifications are configured, FastSpring retries the charge immediately before sending each notification. 

When a customer updates their payment method in the Account Management portal, FastSpring automatically bills the new payment method. If that is declined, the process restarts. 
 

Cancel or Uncancel an Active Subscription 

You can easily cancel an existing subscription from the FatsSpring App. After doing so, you have until the next rebill period to uncancel the subscription. Consumers may also uncancel through their Account Management portal. However, if the subscription has been deactivated, you and your customers cannot uncancel it.  

To cancel an active subscription:

  1. Navigate to Sales > Events to access an active subscription. 
  2. From its analytics page, click Cancel in the top, right corner. A popup appears. 
  3. Select whether you would like to cancel the subscription immediately or at the end of the billing cycle. Click Confirm
  4. The subscription cancelation date is reflected in the analytics page. Click Un-Cancel to automatically resume the subscription. 

 

Update Subscription Pricing in Bulk 

You can use the /subscriptions API endpoint to update the pricing of subscription instances in bulk. Before editing subscription pricing, we recommend that you enable Payment Reminders for your customers to reduce chargebacks.

  1. Use the /subscriptions endpoint to retrieve all subscriptions with the relevant product path.
  2. From the API response, record the subscription.ID for each instance. 
  3. Make a POST to the /subscriptions endpoint to update each of the subscription IDs with a new price. 

When a customer selects a subscription, you can suggest non-subscription products within your Web Storefront. If the consumer selects an Add-On, it becomes part of their subscription. Each time FastSpring bills the customer for the subscription, all associated Add-Ons that the customer selected are also billed in a single, aggregate charge. Subscription Add-Ons are not supported in Popup Storefronts. 

Subscription Add-Ons are similar to Product Options, with 2 key differences:

When configuring Subscription Add-Ons, you can select Single-Choice Add-On or Multiple-Choice Add-On. With Single-Choice Add-Ons, you can display multiple Add-Ons, however customers can only select one to go with their subscription. If you configure a Multiple-Choice Add-On, customers can include as many Add-Ons as they would like in their Subscription. 

Example

You configure a monthly subscription with a price of $9.95 per month to offer an Add-On, which would otherwise be a single-purchase product for $4.95. If a customer selects the Add-On, the subtotal will automatically update for each month. For the subscription and the Add-On, the customer will pay $14.90 per month (plus tax). 

Create Subscription Add-on

  1. In the FastSpring App, navigate to the Subscription for which you want to create an Add-On. 
  2. In the Related Offers & Add-Ons section, click Add New > Add Subscription Addons. A popup appears.
  3. Select Single choice add-on or Multiple choice add-on. You can configure multiple products for each option, however customers can only select one Add-On for Single Choice. 
  4. Select or deselect the Require Selection and Inherit Quantity options:
  5. Enter an optional Display title. If you are configuring multiple Add-Ons, select a position in the Placement drop-down. 
  6. In the Products field, begin typing the Product’s name, and select it from the suggested list.
     
  7.  Save your Add-On.

After the Add-On is created, it will appear in the Related Offers & Add-Ons section of the product’s details page. Click Edit to make changes to the Add-On; these changes will only apply to future purchases. 

Table of Contents:

You can add a free trial period to a subscription, during which FastSpring does not charge the customer for the service. The subscription’s first billing will take place the day after you configure the free trial to expire.

If you configure a subscription with free trial days to have a fixed number of rebills, the initial transaction does not count as one of those rebills. The charge following the trial period will be the first rebill.

Add a Free Trial to your Subscription

  1. In the FastSpring App, navigate to Products > Subscriptions. Select the subscription to which you would like to add a free trial period. The Details page appears.
  2. In the Pricing section, click Edit, the Edit Subscription Pricing popup appears.
  3. In the Subscription Type section of the popup, enter the number of days you want the free trial to last in the Free Trial Days field.
  4. Click Save at the bottom of the dialog. To configure other parts of the subscription, see Create and Edit a Subscription.

Customer Experience

Web Storefront

On the checkout page, subscriptions with free trial periods appear with the price of 0. However, customers must input their payment information on Automatic-Renewal Subscriptions in order for FastSpring to be able to bill them at the end of the trial period. Customers can click Subscription Terms under the price to expand details regarding the billing schedule.
If there are no other items in the order, the button in the payment information dialog is labeled Save Payment Details instead of Pay $_.

The order completion page displays a summary of the free transaction, and future charges. The customer can click on the Subscription Terms link to see more details regarding upcoming billing cycles.

Popup Storefront

When the customer places an order for a subscription with a free trial period, they are notified in the popup that they will not be charged that day. After the consumer fills out the information for future charges, the popup window reads “You have not been charged today”. The Storefront saves the payment information for future charges.

Manual Renewal Subscriptions

If you allow customers to create a Manual Renewal Subscription, no payment details are required. Customers who do this are not prompted to enter any payment details in your Storefront. For FastSpring to be able to charge them for future subscriptions, they must provide payment details in the Account Management page before the end of the free trial period.

Trial Reminders

FastSpring automatically emails a trial reminder to the customer before charges occur. However, you can edit the timing, content, and type of reminder that is sent to your customers in the Subscription Notifications and Cancellation section of the subscription details page. To customize trial reminders, see Customer Notifications for additional information.

Incorporating Product Discounts

If you configure a product discount on a subscription with a free trial, the discount does not apply until the first billing after the free transaction. In the example below, the 25% discount applies the day after the free trial ends. The following billing on April 16, 2020 is full price.

Product Discount Instead of Free Trial

To create a free trial period without using the Free Trial Days field, you can also apply a discount. In this case, if the subscription charge has a monthly charge interval, the first month is free. If the subscription’s charge interval is annual, the first year is free.

  1. Navigate to the Discount section of the Details page, and click Edit.
  2. Select Use Volume Duration and place a 100% discount in the corresponding field.
  3. Type 1 under Discount Duration to implement one trial period as the duration for the first billing period. If you type 2, the first two billing periods will be free.

The subscription’s first billing date will be excluded from the order. If you configure your subscription to rebill for a fixed number of periods, the number of actual payments will be reduced by one. For example, if your subscription is configured to rebill for 12 periods, including the initial transaction, the first transaction will be free, followed by 11 billings.

When you use a product discount to make the initial subscription billing period free, you can optionally enter an explanation for the discount in the discount’s Reason field. If a visitor to your Web Storefront clicks the Subscription terms link, this text appears as in the example below.

Repeated Free Trial Sign-Ups

If you detect that a customer has repeatedly signed up for the same free trial, you can potentially determine who the customer is and cancel their subsequent subscriptions. However, this requires technical skills and utilizing Webhooks and the API.

If you subscribe to the subscription.activated webhook event, FastSpring notifies you when a new subscription is activated. This payload includes the customer’s Account ID. FastSpring automatically creates a new customer account when an order is placed from an email that is unaffiliated with the previous store orders. If the consumer inputs a known email address, FastSpring automatically associates the new order with the same Account ID.

You can use the consumer account ID from subscription.activated to check for previous orders of the same free trial subscription product (by product ID).There are 2 ways to do this, depending on whether or not you automatically populate your own External Database from all Webhook data.

Option 1: Check Your External Database

If your Webhook script populates an external database each time new Webhook events come in, you can design to detect duplicate trial orders. Then, the script will react to subscription.activated events for a given free trial product by checking your database for previous orders of the same product bearing the same consumer account ID.

Option 2: Check Previous Orders with the API

Look up accounts by the parameters of it.

  1. Design your Webhook script to react to subscription.activated events for a given free trial product by triggering a GET request to the /accounts endpoint of the FastSpring API. The response will include a list of all orders associated with the consumer account. For example, if the account ID is ABCDEF123456:
    GET https://api.fastspring.com/accounts/ABCDEF123456
  2. Call GET /orders with all order IDs returned in response to GET /accounts, to find the products that the customer has previously ordered. For example, if GET /accounts returns the following three IDs in the orders array of the response:
    NTjP8IMnQya1X9jxhXFiXQ
    eShDqjTVS4SmroSANRnL8g
    sE2PBBihSUKNX_vUxBfHww
    GET https://api.fastspring.com/orders/NTjP8IMnQya1X9jxhXFiXQ,eShDqjTVS4SmroSANRnL8g,sE2PBBihSUKNX_vUxBfHww
  3. Parse the response to this GET /orders request, looking for previous orders with the same free trial subscription’s product ID in the product field of each order’s items array.

If a previous free trial subscription is found for the same customer, you can design your script to automatically trigger a Delete call to the /subscriptions endpoint of the FastSpring API. Your Delete request would include the new subscription’s ID and the parameter &billingPeriod=0. The new free trial subscription would thus be deactivated immediately. For example, if the new subscription’s ID is OU8128675309:

DELETE https://api.fastspring.com/subscriptions/OU8128675309?billingPeriod=0

By default, FastSpring sends a subscription deactivated email message to the customer upon deactivation of the subscription. However, you might also want your script to trigger a separate email message from your side, letting the customer know why you have canceled the subscription.

Table of Contents

With Manual Renewal Subscriptions, your customers can opt in or out of automatic subscription renewals. For customers who opt out (or do not opt-in in time), FastSpring does not store the payment account details for future usage. Manual-Renewal Subscriptions are unavailable with Managed Subscriptions.

Unlike Automatic Subscriptions, Manual-Renewal Subscriptions may be purchased with delayed payment methods, including wire transfers and purchase orders.

Customer Experience

When a non-managed subscription is placed in the customer’s cart, they are presented with an additional checkbox at checkout, labeled Securely save payment details for automated subscription renewal. By deselecting this checkbox, the subscription becomes a Manual-Renewal Subscription.

If the customer opts out (or fails to opt in), they will not be billed automatically at the end of the first billing cycle. If configured in the subscription’s Pricing field, FastSpring will notify the customer when the next payment is due. To renew a subscription, the customer can follow these steps prior to the renew date:

  1. Access the Account Management portal. Next to the Manual-Renewal Subscription, click Pay Now.
  2. The customer is taken to a secure page containing all order details except for the payment method. They cannot change the product or quantity from this page.
  3. The customer enters their payment information. Contact information including name, and email are pre-populated based on the information in the Account Management portal.
  4. When the payment is completed, the subscription renews for one billing period.

Enable Manual-Renewal Subscriptions

Web Storefront:

  1. In the FastSpring App, navigate to Storefronts > Web Storefronts > Settings > General Settings.
  2. In the Customer Information section, under Auto/Manual Subscription Renewal, select whether you would like to opt in or out of Manual Renewal Subscriptions.
  3. Save your changes.

Popup Storefront:

  1. In the FastSpring App, navigate to Storefronts > Popup Storefronts > Settings > Checkout.
  2. In the Customer Information section, under Auto/Manual Subscription Renewal, select whether you would like to opt in or out of Manual Renewal Subscriptions.
  3. Save your changes.

After you have enabled Manual Subscription Renewal, you can edit existing subscriptions to have manual renewals, or configure manual renewals for new subscriptions.

Change an Automatic Renewal Subscription to Manual Renewal

You can change a pre-configured subscription to have manual renewals through the App or by posting to the API. This will permanently delete the payment method associated with the subscription and cancel upcoming rebills. However, the customer can make payments prior to the next billing cycle through the account management portal to keep their subscription.

  1. On the subscription details page, click the green Renews automatically badge, and select Switch to renews manually.
  2. On the confirmation dialog, Click OK.
  3. The Auto renew text is replaced by Manual renew to confirm that the change has been made.

Using the API:

POST to the /subscriptions endpoint using a POST body that includes the Subscription ID and “manualRenew”:”true”.

If you subscribe to the subscription.updated webhook event, the autoRenew field will display as false to indicate it is a manual-renewal subscription.

Manual-Renewal Subscriptions for India-Based Customers

Due to new measures from the Reserve Bank of India, automatic rebills are no longer permitted for India-based sales. This applies to any pre-existing or future subscription with a payment card issued by an Indian bank.

FastSpring has automatically converted existing subscriptions that were created prior to October 1, 2021 to Manual Renewals. In order to sell new subscriptions (subscriptions created after October 1, 2021) to India-based subscribers, we will regularly check for new subscriptions meeting the criteria above to change these subscriptions to Manual-Renewal.

Table of Contents

FastSpring offers Managed Subscriptions, which do not involve automatically scheduled charges. Instead, you have control over when FastSpring charges users for their subscriptions. This is beneficial for usage-based billing. You can initiate the charge via the /subscriptions endpoint, or from the subscription’s details page in the FastSpring App.

At checkout, customers provide their payment information; FastSpring automatically charges this payment method each time you initiate a charge. By default, the customer is charged the same amount that they were initially billed for the subscription, however you can update the pricing by posting to the /subscriptions endpoint. The updated price will reflect in the next billing you initiate.

Create a Managed Subscription

When configuring your Subscription, you can set the billing to Managed, which does not initiate any automatic charges.

  1. In the FastSpring App, navigate to Products > Subscriptions. Create a new subscription, or edit an existing one.
  2. If you are creating a new subscription, leave the Billing Cycle to the default value, as this will not apply to a Managed Subscription. After you click Create, select the subscription to access its details page.
  3. In the Pricing section, click Edit. A popup appears.
  4. Set the Subscription Type to Managed.
  5. Configure the remaining fields, as desired. When you are finished, click Create.

After you configure the Managed Subscription, the Pricing field on the Subscription Details page will display Adhoc to indicate that this is a Managed Subscription.

Initiate a Billing

With Managed Subscriptions, you can present customers with a unique UI to initiate charges, or you can charge them (with their approval) without requiring any actions from their end. You can do so through the FastSpring API or within the App.

FastSpring API

You can POST up to 10 subscription updates to the /subscriptions/charge endpoint. Each update should include the subscription ID. Do not pass larger amounts in an array. For security purposes, you should make multiple API calls to update a batch of more than 10 updates. For more information, see /subscriptions.

FastSpring App

  1. In the FastSpring App, navigate to the Activity page. Select the applicable subscription to access its details page.
  2. Click Charge on the right side of the subscription details.

The new charge occurs immediately. This will automatically reflect in the Charges section of the Subscription Details page.

Table of Contents

When you create a Subscription, you first input the contents of the subscription definition, including:

These contents are what FastSpring uses to internally identify the subscription. For this reason, the product path is not editable after the initial creation, however all other fields are. After the subscription is in your Store, you can edit it to configure additional settings, including: fulfillment, customer-facing notifications, set-up fees or free trial periods, and advanced scheduling capabilities. 

All subscriptions with automatic renewals require payment information, at the time of sign-up. This way, FastSpring can automatically charge the customer for future payments. Because of this, wire transfers and invoices are not acceptable payment methods, unless it is a Manual Renewal Subscription.
 

Create a Subscription

You can also create a subscription by posting to the FastSpring API.

  1. In the FastSpring App, navigate to Products > Subscriptions. Click Create Subscription in the top, right corner. The Create Subscription popup appears.
  2. Under Subscription Name, enter the title of the subscription. Click the drop-down language selector to enter the subscription name in additional languages. 
  3. In the Product Path field, a default value is automatically created based on the product title to identify the product internally and create a corresponding Product Page URL. Adjust the product path if desired; it cannot contain spaces, punctuation, or special characters. After the subscription is saved, this field is not adjustable. 
  4. In the Summary field, optionally enter descriptive text about the subscription. This appears on your Web Storefront, and you can access it through the Store Builder Library.
  5. Click the Billing Cycle drop-down to select the rebilling frequency. 
  6. In the Price field, enter the amount that FastSpring will charge each billing cycle in your Store’s default currency. Select All Currencies to enter prices in additional currencies. See Currencies, Conversions and Taxes for more information.
  7. Click Create. Your page returns to the Subscriptions tab of the Products menu, with a confirmation message.

After the subscription is created, you can edit additional fields by accessing it’s Details Page.

Edit a Subscription

In the FastSpring App, navigate to Products > Subscriptions. Click on the Subscription you wish to edit to access its Details page. The Subscription Details page is divided into sections of related subscription attributes. Click the Edit button on any section to adjust or configure the fields in it.

Overview

Pricing and Discounts

Click Edit to adjust the subscription’s pricing and rebilling settings. A popup will appear. After you configure your pricing, you can optionally apply a product-level discount to the subscription. This discount will apply to each purchase of the subscription, and can be paired with coupons. See Subscription Discounts for more information.

Fulfillment

For Subscriptions, Fulfillments may be a license key, product download, or other digital means of accessing a licensed product or SaaS.

  1. Click Add New Fulfillment to configure fulfillment settings for the subscription. The Add Fulfillment Action page opens.
  2. Select the radio button of the fulfillment action you want to add, then click Next.
  3. Follow the prompts to complete the configuration of the selected fulfillment action.

Notifications & Cancellation

In the Notifications & Cancellation section, you have the option to configure email notifications for FastSpring to automatically send to the consumer, and control the timing of subscription cancellation due to a declined rebill. We encourage you to enable payment reminders, as these reduce the occurrence of disputes and chargebacks.

If you are editing an existing subscription, changing the payment reminder, payment overdue, and subscription cancellation notifications only affects the behavior of future purchases. To apply these to currently active subscriptions, select the Apply to active subscriptions checkbox below the edited fields. These changes will apply to all active and future subscriptions with the exception of overdue subscriptions and active subscriptions with preexisting cancelation dates; those subscriptions keep their original cancelation date.

 
Click Edit under Notifications & Cancellation. A popup window appears.

Related Offers & Add-Ons

The Related Offers & Add-Ons section lets you set up promotional offers that appear when a consumer selects the Subscription. Click Add New and then select the type of related offer you want to create.

Advanced

Configure advanced options for the selected product. Click Edit to open the Edit Advanced Details dialog, and modify any of these properties.

Options

Using the Options button at the top right-hand corner of the product detail page, you can access additional functions related to the selected subscription product.

 

Delete a Subscription

Deleting a Subscription is permanent and cannot be reversed. Consumers' existing subscription instances are not affected, however no new Subscriptions can be created from the deleted one. After it is deleted, it will no longer appear in the FastSpring App or API responses.

  1. In the FastSpring App, navigate to Products > Subscriptions. Select the subscription you want to delete.
  2. On the subscription details page, click Options > Delete.
  3. Click OK to confirm.

When you configure a subscription, FastSpring automatically charges consumers in timely intervals of your choice for the software or service. Each interval starts from the date that the customer purchases the subscription. For monthly renewal subscriptions that are purchased on the 30th or 31st of a month, consumers are rebilled on the 28th of February (or the 29th if it is a leap year). From then on, the rebills take place on the 28th or 29th of each month. You can configure payment reminder notifications so that this does not surprise your customers.

When you create a Subscription, it contains a subscription definition, which includes:

After the subscription is created, you can configure additional settings, such as Free Trial Periods, Set-Up Fees, Advanced Subscription Scheduling, and Fulfillments.

By default, subscriptions are configured to have automatic renewals. All subscriptions with automatic renewals require payment information, at the time of sign-up. This way, FastSpring can automatically charge the customer for future payments. Because of this, wire transfers and invoices are not acceptable payment methods, unless it is a Manual Renewal Subscription.

Create a Subscription

 

Customize your Subscription

 

Manage your Subscriptions

 

API + Webhooks

Table of Contents

With Advanced Subscription Scheduling, you can configure your subscription to have a pre-defined number of billings, and automatically renew into a different subscription. Following that renewal, the price, charge interval, and number of rebills reflect those of a new subscription.

To take advantage of Advanced Subscription Scheduling, contact our Support Team!

Apply Advanced Scheduling to your Subscription

If you configure a subscription to renew as a new product, the new subscription will automatically take place at the end of the billing cycle. For example, you can adjust a three-month trial subscription with a single, initial charge to renew as a separate subscription product with a monthly billing cycle.

Using an existing subscription, you can edit it to renew or upgrade into a different subscription when the billing cycle ends. For example, you can adjust a 3-month trial subscription with a single setup fee to renew as a subscription with a monthly billing cycle.

  1. In the FastSpring App, navigate to Products > Subscriptions. Select the subscription you want to edit.
  2. In the Pricing section, click Edit. A popup appears.
  3. Set the Subscription Type to Standard. In the Charge Interval field, configure the frequency of rebills you would like for the initial subscription.
  4. Select the radio button next to Rebill for. This applies Advanced Subscription Scheduling.
  5. Next to Rebill for, Specify the number of charges (including the initial purchase) to apply to this subscription before it renews as a new one.
  6.  In the drop-down, select then renew into different product. The Renews Into field appears.
  7. In the Renews Into field, type the product path of the subscription that this will turn into after the specified number of rebills.
  8. Click Save. The details will reflect in the Pricing section.

After a customer purchases the subscription with Advanced Scheduling, you can access the transaction details in the Sales page. The Current Period field displays the current subscription. The upcoming subscription appears in the Subscription Term details. Both fields display links to view more information.

Click the currently active subscription on the left of the page to access and edit billing details.

Webhooks and API

For subscriptions with Advanced Scheduling, the webhook events and API responses behave the same as regular subscriptions. However, on the date that the first subscription renews into a different one, the subscription.updated event will fire if you have subscribed to it. This indicates that the new subscription product is now associated with this customer’s subscription. However, FastSpring does not send the corresponding email notification to the customer.

Disable Advanced Scheduling

FastSpring Support can disable Advanced Subscription Scheduling per your request. This prevents newly configured subscriptions from being configured to renew into others. Existing subscriptions with advanced scheduling continue to rebill accordingly. To prevent this, you can cancel the existing subscriptions, or edit their Pricing fields.