Checkout Sessions have lower latency and new update semantics
This version offers improved latency on all Checkout Session APIs for subscription-mode Sessions, including when your customer confirms the Session. Because this change creates the subscription after the user has completed the payment, payment_intent doesn’t reference an invoice until the Checkout Session fully completes. This means the checkout.session.status property must be complete before the invoice is created.
Checkout Sessions have lower latency and new update semantics: from its source to your code
docs.stripe.comquote checked
behaviour change
Your codeby hand
Nemotron fixes
In its own wordsmatches the page ✓
| [Checkout Sessions have lower latency and new update semantics](https://docs.stripe.com/changelog/basil/2025-03-31/checkout-legacy-subscription-upgrade.md) | Checkout | Breaking | api |
Because this change creates the subscription *after* the user has completed the payment, `payment_intent` doesn’t reference an invoice until the Checkout Session fully completes. This means the `checkout.session.status` property must be `complete` before the invoice is created.