Set the billing cycle date in Checkout
Use Stripe Checkout to set a billing cycle date for subscriptions.
You can explicitly set a subscription’s billing cycle anchor to a fixed date (for example, the 1st of the next month) in Checkout. The billing cycle anchor determines the first full invoice date, when customers are billed the full subscription amount. The billing cycle anchor and the recurring interval of its price also determine a subscription’s future billing dates. For example, a monthly subscription created in Checkout on 15 May with an anchor at 1 June is billed on 15 May, then always on the 1st of the month.
For the initial billing period up until the first full invoice date, you can customise how to handle prorations with the proration_behavior parameter. By default, proration_
is set to create_prorations, and customers receive a pro rata invoice. If proration_
is none, customers receive the initial period up to the first full invoice date for free.
Create a Checkout Session with a billing cycle anchor
To configure a billing cycle anchor, set the subscription_
parameter when you create a Checkout Session in subscription
mode.
The anchor must be a future UNIX timestamp before the next natural subscription billing date.
If the billing cycle anchor is during a session’s active period and a customer attempts payment after it has passed, Checkout displays and charges for the full period starting with the billing cycle anchor instead of the prorated period before the billing cycle anchor.
Disable prorations
To disable prorations, set the subscription_
parameter to none when creating a Checkout Session.
Similar to a free trial, the initial period up to the billing cycle anchor is free. Unlike a trial, no 0 USD invoice is generated. Customers receive an invoice with the full subscription amount on the billing cycle anchor date.
In the Checkout Session response object, amounts attached to the line items and total details are always 0 when prorations are disabled. Additionally, the payment status of the Session is set to no_
to reflect that payment is delayed to a future date.
Current limitations
- You can’t use trials in Checkout with a billing cycle anchor.
- One-time prices can’t be used in Checkout Sessions when
proration_
is none.behavior - You can’t apply
amount_
coupons to Checkout Sessions with a defaultoff proration_
of create_prorations.behavior