The quickstart guide runs through the basics of creating subscriptions in Stripe, but the built-in flexibility allows for nearly limitless variations on the subscriptions you make:
- Add one-time costs
- Discount a few subscription payments, or all of them
- Charge taxes
- Create a free trial period
- Subscribe a customer to multiple plans
Whatever your need, define the standard behavior in the plans and then change the defaults as needed when you create the subscriptions.
A subscription’s particulars are first dictated by the underlying plan. The plan sets the:
- Base cost
- Billing interval
The plan should be considered the default behavior for its subscriptions and these three attributes are all fixed on a plan once created.
The currency is fixed not only on the plan but also on the customer: once a customer starts a subscription using a specific currency, the
Customer object in Stripe can only be charged that currency.
Changing the amount billed
The plan defines the base cost of a subscription, but the amount actually billed to a customer each interval can be adjusted on a per-customer or per-subscription basis using:
- Coupons to create discounts
- Per-seat licensing (i.e., multiple quantities of a single subscription)
- Multiple subscriptions (i.e., simultaneous subscriptions to multiple plans)
These adjustments can be made when a subscription is created or as an change to an existing subscription.
One-time billing adjustments can also be made using invoice items.
Supported payment methods
Most subscriptions are billed to credit cards, although Stripe accepts payments using several alternative methods, including ACH. No special steps are required for ACH, but:
- As with all ACH payments, it takes up to 5 business days to receive confirmation of the payment’s success or failure
- If an ACH payment on a subscription fails, the subscription automatically moves to its final state per your settings (i.e., ACH subscription payments are never retried)
Congrats! You’ve learned more about subscriptions at Stripe! You may want to learn about: