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).
- Usage-Based Billing
- Creating a Managed Subscription
- Triggering Managed Subscription Billings
- Other References
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.
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
- To set up a managed subscription via the Dashboard, select the Products menu and the Subscriptions tab.
- Click CREATE SUBSCRIPTION.
- 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.
- Enter a Summary description of the subscription product. You can optionally click the language drop-down and enter the description in other languages.
- Leave the Billing Cycle set to its default value; this will not apply once you have changed the Subscription Type to Managed, below.
- 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.
- Click CREATE.
- On the list of subscriptions, click the card for the newly created subscription product. This opens the subscription product's details.
- Click anywhere in the Pricing field to open the Pricing popup window.
- In the very first field at the top of the Pricing dialog, select Managed for the Subscription Type.
- 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.
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
- 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.)
- On the subscription's detail page, click the CHARGE command at the bottom left-hand corner of the top section.
- The new charge will occur immediately; you can verify it and view its details in the Charges section of the subscription's detail page.
More information about managed subscriptions can be found in Subscription Integration.