# Renames Checkout initialization method

## What’s new

Renames the `stripe.initCheckout()` method for [Stripe.js](https://docs.stripe.com/js.md) to [stripe.initCheckoutElementsSdk()](https://docs.stripe.com/js/custom_checkout/init). It accepts the same options and returns the same Checkout object as `initCheckout()`.

## Why is this a breaking change?

`stripe.initCheckout()` has been renamed, so calling it throws an `IntegrationError`. If your integration uses [Elements with the Checkout Sessions API](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) and calls `initCheckout()`, you need to update your code to instead call `initCheckoutElementsSdk()`.

The update depends on whether you use HTML+JS or React:

#### HTML + JS

Replace `stripe.initCheckout()` with `stripe.initCheckoutElementsSdk()`:

```javascript
const checkout = stripe.initCheckoutElementsSdk({clientSecret});
```

#### React

Replace `CheckoutProvider` with `CheckoutElementsProvider`:

```jsx
import {CheckoutElementsProvider} from '@stripe/react-stripe-js/checkout';
<CheckoutElementsProvider stripe={stripePromise} options={{clientSecret}}>
  <CheckoutForm /></CheckoutElementsProvider>
```

## Impact

The rename from `initCheckout` to `initCheckoutElementsSdk` clarifies the method’s purpose as the entry point for [Elements with Checkout Sessions](https://docs.stripe.com/payments/quickstart-checkout-sessions.md) integrations, where you compose individual Elements (Payment Element, Address Element, and so on) on your checkout page.

## Related changes

- [Changes the Address Element state field to default to Latin-formatted characters](https://docs.stripe.com/changelog/dahlia/2026-03-25/address-element-getvalue-and-change-event-formatting.md)
- [Updates the elements.update() method to return a Promise](https://docs.stripe.com/changelog/dahlia/2026-03-25/elements-update-returns-promise.md)
- [Removes support for boolean values in options.layout.radios](https://docs.stripe.com/changelog/dahlia/2026-03-25/disallow-booleans-for-radios.md)
- [Removes deprecated Payment Intents, Setup Intents, and Sources methods from Stripe.js](https://docs.stripe.com/changelog/dahlia/2026-03-25/remove-legacy-stripejs-methods.md)
- [Renames Embedded Checkout initialization method](https://docs.stripe.com/changelog/dahlia/2026-03-25/rename-init-embedded-checkout-to-create-embedded-checkout-page.md)
