Collapse Menu
Documentation
FastSpring App
Contact Support

Pausing Subscriptions

Table of Contents

You and your customers can pause active subscriptions to temporarily disable billing and services. For each subscription, configure the pause duration. Select whether customers can pause it from their account management portal. FastSpring will apply the pause the next rebill date. You or your customers can resume or cancel the subscription at any time before the resume date. 

When someone pauses a subscription, FastSpring sends the subscription.paused and subscription.updated webhooks. 

On the resume date, FastSpring will automatically rebill the customer, and reactivate the subscription. 

Pausing Settings

Customize pausing settings for each subscription in your store. This includes which products your customers can pause, and the number of billing cycles the pause lasts. If enabled, FastSpring will offer a pause for the configured number of billing cycles each time a customer attempts to cancel the subscription. 

Follow the steps below to configure pausing capabilities for each subscription:

  1. Navigate to Products > Subscriptions. Click the subscription you would like to edit pausing settings for. 
  2. Next to Notification & Retention, click Edit. A popup appears
  3. In the Pause section, select the checkbox to allow customers to pause their subscriptions. Deselect this checkbox to limit pausing capabilities to sellers. 
  4. In the dropdown, select the number of billing cycles to which the pause applies. 
    • For example, if you select 2, FastSpring will pause the subscription for 2 billing cycles each time you or a customer pauses it. 
  5. Save your changes. 

Schedule a 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. 
  4. 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.

On the next rebill date, FastSpring pauses the subscription. The subscription will display in the Active Subscriptions section of their account management portal. Depending on your settings, customers may cancel the pause before it starts or resume it early. Otherwise, ehe subscription will automatically resume on the renewal date you configure.

Cancel a Scheduled Pause

If you or a customer have scheduled a pause for the next billing cycle, you can cancel the scheduled pause. 

  1. Navigate to the subscription’s details page. 
  2. Click Cancel Scheduled Pause. This immediately resumes the customer’s subscription. 

Customers may also cancel their scheduled pause from the account management portal. 

Resume a Subscription

You and your customers can resume subscriptions that are in paused states. This immediately charges the customer and adjusts future rebills accordingly. Otherwise, the subscription will automatically resume on the date you configured. 

  1. Navigate to Sales > Subscriptions
  2. In the drop-down filter, click Paused Subscriptions. Click the subscription you would like to resume to access its details page. 
  3. In the Overview section, click Resume.

To see the history of status changes for the subscription, scroll to 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

FieldTypeDescription
statestringThe current billing status of the subscription. “Paused” indicates that FastSpring will not bill the customer for the current cycle. 
pauseDateInSecondsnumberExact timing of the scheduled pause. This displays in a 10-digit Unix timestamp format. 
pauseDateDisplaystring(mm/dd/yy) The date on which the subscription was paused, or is scheduled to pause.
resumeDateInSecondsnumberExact timing of the scheduled resume date. This displays in a 10-digit Unix timestamp format.
resumeDateDisplaystring(mm/dd/yy) The date on which the subscription is scheduled to resume billing.

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:

  • pauseDateInSeconds
  • pauseDateDisplay
  • resumeDateInSeconds
  • resumeDateDisplay

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:

  • pauseDateInSeconds
  • pauseDateDisplay
  • resumeDateInSeconds
  • resumeDateDisplay

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:

  • pauseDateInSeconds
  • pauseDateDisplay
  • resumeDateInSeconds
  • resumeDateDisplay

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.

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

Resume a Subscription Immediately / Cancel a Scheduled Pause

If you cancel an upcoming pause, FastSpring will immediately charge the customer and start a new billing cycle. 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. This initiates the following webhooks: