Checkout localization is in beta. Turn on the feature flag for your
organization to enable it.
Automatic language detection
Once the flag is on, the checkout inspects the buyer’s browser language (theAccept-Language header) and renders in the closest supported match. Translations cover the standard checkout surface — field labels, placeholders, helper text, and descriptions — with English as the fallback when no match is found.
There is nothing to configure per checkout. A buyer whose browser is set to German sees German automatically.
Forcing a specific language
Automatic detection is the default, but you can pin the language yourself in two ways. An explicitlocale always wins over the browser preference.
Via the Checkout Sessions API
Passlocale when you create a checkout session. This is the right approach when you already know the customer’s language — for example, you store it in your own user profile.
Via the checkout URL
Append?locale= to any checkout link. Handy for marketing pages where one localized landing page links straight to a matching checkout:
Supported languages
Coming soon: Korean (
kr).
What’s localized today
During beta, translation is scoped to the checkout page itself. These surfaces still render in English for now:
There is also no on-page language switcher — the language is resolved automatically from the browser, or set explicitly through the API
locale parameter or the ?locale query string.
Tell us what to translate next
Localization grows fastest with input from teams shipping to real buyers:- Open an issue on GitHub
- Email the i18n team at i18n@macropay.ai