This article applies to Contextual Commerce. (Looking for Classic Commerce documentation?)
A common example of subscription-based billing involves regular, automatic, 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.
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. This initial transaction can involve an initial charge, or it can optionally be free. 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, 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). The subscription info - including the price - can also be modified via the Dashboard.
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 Product title displayed to the customer for the subscription.
- Enter the price to be charged for each transaction.
- 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.
Managed Subscriptions Without an Initial Payment
If you need the customer to provide payment details for a managed subscription but you do not want there to be an initial charge to the customer's payment account upon setup, simply create a coupon with a discount equal to the subscription product's price and a value of 1 in the Duration field to indicate the coupon will apply to the first transaction only. The customer can enter the coupon at the time of the initial transaction, and the coupon will prevent the customer's payment account from actually being charged (though there may still be a temporary authorization created for credit and debit cards).
For more information about coupons, please see Coupons.
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, the process of triggering a managed subscription charge is the same: 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.
More information about managed subscriptions can be found in Subscription Integration.