Collapse Menu
Docs Home
Extensibility Options
Contact Support

Managed Subscriptions and Usage-Based Billing


This article discusses use cases and implementation of managed subscriptions, which are subscriptions that do not involve any automatic or regularly-scheduled charges at all.


A common example of subscription-based billing involves regular, automatic (or manual) recurring charges to the customer's payment account (e.g., a credit card). FastSpring refers to these as standard subscriptions. However, FastSpring also supports managed subscriptions, which do not involve any automatic or regularly-scheduled charges at all.

In this context, the term "managed" refers to the fact that the seller has direct control over when the customer's payment account is charged. Rather than FastSpring automatically charging the customer's payment account on a certain pre-defined schedule, no charges occur at all (after the initial charge) until the seller triggers a new charge, on demand, via a call to the /subscriptions endpoint of the FastSpring API, or via the CHARGE command on the subscription's detail page in the Dashboard.

With a managed subscription, the customer provides payment account details such as the credit card number, expiration date, etc., at the time of the initial subscription transaction, via a Web Storefront or a Popup Storefront. After processing and receiving an authorization to charge the payment account, FastSpring securely stores the resulting token provided by our payment gateway, which uniquely identifies the customer's payment account (we do not store the full credit card number). Subsequently, the seller can request that FastSpring trigger managed subscription charges on demand via the API. For these on-demand charges, the customer does not have to place a new transaction nor enter any information at all with FastSpring; the charge happens automatically just as if it had been scheduled in advance.

By default, the amount charged to the customer's payment account for each managed subscription billing is the price of the subscription product that was purchased. However, if the amount to be charged must be changed, pricing info can be passed in via a POST to the /subscriptions endpoint of the API, (or by editing the price info of a subscription instance in Dashboard) prior to triggering the billing . This updates the subscription record, so that the new amount will be charged for each billing in the future (but you can always change it again, as needed).


On-demand billings for a managed subscription are limited on a per-subscription basis to no more than one transaction per day, and no more than four transactions per 30-day period.

Usage-Based Billing

For software-as-a-service (saas) and certain other types of products and services, sellers may want to implement usage-based billing. With this approach, the customer may be purchasing a certain amount or number of uses as opposed to a more standard subscription that might provide unlimited access for a given time frame (e.g. a flat monthly fee with recurring charges). In addition to defining what is being provided to the customer, as with all subscriptions, sellers can also define how that access is sold.

 Example 1

For example, a seller with a library of utility software, may offer download access to the library, and charge customers for a certain number of individual downloads. In a scenario like this, the seller may offer packages with varying numbers of downloads at different price points (e.g. with a strategy of selling more downloads by offering a lower price per download when purchased in bulk). The customer might purchase a five-download package and then if the customer wants a sixth download, the seller needs to charge the customer for additional downloads (e.g. perhaps another five-download package). The seller might offer the customer an interface to purchase additional downloads with a single click.

 Example 2

As another example, a business-to-business seller with an online reference service may sell access to their service based on the number of login events allowed. Customers might purchase a certain number of logins - or perhaps a certain number of logins per month - and the seller would track how many times the customer's staff log in to the service. When the customer is approaching their login limit, the seller might proactively contact the customer to let them know they are approaching the limit, and offer to sell additional access / logins at that time. For some business-to-business scenarios, the seller's customer success managers or account managers might use the FastSpring API to trigger new billings for additional access manually, with the customer's approval but without the customer ever having to see an interface or click to purchase anything.

These two fictitious examples only begin to illustrate some of the possible scenarios in which usage-based billing might be a useful approach for the sellers.

It is important to note that FastSpring does not keep track of the number of uses purchased, used, or remaining to the customers. FastSpring will notify the seller when a transaction has successfully occurred, and such notifications will include what products or services were purchased. Beyond that, all other data would have to be tracked by the seller, along with things like customer access credentials and the actual service itself. FastSpring's managed subscriptions simply allow sellers to trigger new charges to the customer's payment account method on an as-needed basis.

Creating a Managed Subscription

  1. To set up a managed subscription via the Dashboard, select the Products menu and the Subscriptions tab.
  3. Enter the Subscription Name. The Product Path will be filled in automatically. You can optionally click the language drop-down and enter the name in other languages.
  4. Enter a Summary description of the subscription product. You can optionally click the language drop-down and enter the description in other languages.
  5. Leave the Billing Cycle set to its default value; this will not apply once you have changed the Subscription Type to Managed, below.
  6. Enter the price to be charged for each transaction. You can optionally enter the price in currencies other than your Store's base currency; just click ALL CURRENCIES. You will be able to optionally override the price entered here prior to each subscription charge by updating a given customer's subscription instance via the /subscriptions API endpoint, as needed.
  7. Click CREATE.
  8. On the list of subscriptions, click the card for the newly created subscription product. This opens the subscription product's details.
  9. Click anywhere in the Pricing field to open the Pricing popup window.
  10. In the very first field at the top of the Pricing dialog, select Managed for the Subscription Type.

    User-added image
  11. Make any other adjustments as needed, and then click SAVE.  The Pricing field on the subscription product's details will be updated with the word Adhoc to indicate that this is a managed subscription.



For more information about the fields of the subscription details, please see Subscriptions.

For more information about the Pricing popup dialog, please see Product Price Settings.


Triggering Managed Subscription Billings

With managed subscriptions, you may present customers with your own unique UI to trigger additional charges, or in some cases--with customer approval--you may charge them without ever requiring them to see or click anything (e.g. if your CSM or account manager obtains verbal approval or an e-mail message from the customer).

Regardless, there are two methods you can use to trigger a managed subscription charge:  using the FastSpring API, or via the subscription's detail page in Dashboard.


On-demand billings for a managed subscription are limited on a per-subscription basis to no more than one transaction per day, and no more than four transactions per 30-day period.

Using the FastSpring API

POST to the /subscriptions/charge endpoint of the FastSpring API with the customer's FastSpring subscription ID, and FastSpring will take care of the rest.

For more information, please see /subscriptions .

Via the Subscription's Detail Page in Dashboard

  1. On the Activity tab of Dashboard, look up the subscription and drill into its details.  (Note:  The easiest method might be to locate the original subscription charge and then click the View Subscription link in the Items section of the order details.)
  2. On the subscription's detail page, click the CHARGE command at the bottom left-hand corner of the top section.

    User-added image
  3. The new charge will occur immediately; you can verify it and view its details in the Charges section of the subscription's detail page.

Other References

More information about managed subscriptions can be found in Subscription Integration.

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.