← Back
Stripe
Stripe renames Checkout initialization method; breaking API change requires code updates
Stripe APIStripe · breaking-changeapisdk · docs.stripe.com ↗

Breaking Change: Method Renamed

Stripe has renamed the stripe.initCheckout() method to stripe.initCheckoutElementsSdk() in Stripe.js. Calling the old method will now throw an IntegrationError, so any integration using this method requires immediate updates.

What Developers Need to Do

The update process varies by your implementation approach:

For HTML + JS integrations: Replace the method call directly:

// Old
const checkout = stripe.initCheckout({clientSecret});

// New
const checkout = stripe.initCheckoutElementsSdk({clientSecret});

For React integrations: Replace the provider component:

// Old
import {CheckoutProvider} from '@stripe/react-stripe-js/checkout';

// New
import {CheckoutElementsProvider} from '@stripe/react-stripe-js/checkout';

The new method accepts the same options and returns the same Checkout object, so only the name and provider need to change.

Rationale

The rename clarifies that initCheckoutElementsSdk() is specifically the entry point for integrations that compose individual Elements (Payment Element, Address Element, etc.) on your checkout page using the Checkout Sessions API. This distinction helps developers understand which checkout implementation method they're using.

Related Breaking Changes

This is part of a larger set of breaking changes in this release, including renamed Embedded Checkout methods, removal of deprecated Payment Intents/Setup Intents/Sources methods, and changes to Address Element formatting and layout options.