Stripe clarifies Checkout Session UI mode enum values; developers must migrate from 'hosted', 'embedded', 'custom'
Overview
Stripe has updated the ui_mode parameter for Checkout Sessions with new, more descriptive enum values to better reflect their functionality. The previous generic enum values (hosted, embedded, custom) have been replaced with clearer naming that better describes each integration pattern.
New Enum Values
The updated ui_mode values are:
hosted_page(replaceshosted): Displays the Checkout Session on a hosted page that customers are redirected toembedded_page(replacesembedded): Displays the Checkout Session as an embedded page on your websiteelements(replacescustom): Displays the Checkout Session using embedded components on your website
Breaking Change
This is a breaking change. Attempting to set a Checkout Session's ui_mode to the old values (hosted, embedded, or custom) will now fail. Any integration using these deprecated values requires immediate code updates.
Action Items
- View your current API version in Stripe Workbench
- Upgrade your SDK to the version corresponding to API version
2026-03-25.dahlia(or update direct API requests with theStripe-Versionheader if not using an SDK) - Update all Checkout Session creation code to use the new enum values
- Test your integration thoroughly, including webhook endpoints
- Perform the upgrade in Workbench (with 72-hour rollback window available)
Stripe provides detailed upgrade guides for all supported languages and SDKs (Ruby, Python, PHP, Java, Node.js, Go, and .NET).