PlatformURLs and, when Global-e reports a country change, 302 the shopper back to SFCC checkout (Checkout-Begin) with glCountry and glCurrency.
See also: Checkout flow, Hooks → globale.getPlatformURLs, Client JS SDK, Metadata → GLOBALE_COUNTRIES
Overview
- SendCartV2 includes
PlatformURLs: home (Home-Show/ SEO home), cart (Cart-Show/ SEO cart), and payment callback (Globale-PaymentRedirect), built in the current request locale. - If the shopper changes shipping country on Global-e checkout, Global-e calls
Globale-PaymentRedirectwithshippingCountryChanged=true,glCountry, andglCurrency. - SFCC resolves the destination from
GLOBALE_COUNTRIES.siteUrlfor that country (pipeline formaction|SiteID|locale) and redirects toCheckout-BeginwithglCountry/glCurrencyso Global-e init and SendCart run again in the matching locale.
Globale-CheckoutPaymentRedirect (the SFCC include used when checkout already has a cart token) does not issue this locale 302.
Prerequisites
Configuration
Global-e
Contact Global-e Merchant Support to enable shipping-country change on your merchant account before configuring SFCC.Country site URL
Merchant Tools → Custom Objects → GLOBALE_COUNTRIES (populated by the GlobaleSettings job) ThesiteUrl attribute controls where SFCC sends the shopper after a country change:
Example pipe values (same convention as the country switcher):
siteUrl in sync with how you map operated countries to storefront locales. Run GlobaleSettings after Global-e country configuration changes.
Custom PlatformURLs
Registerglobale.getPlatformURLs only when the OOTB home / cart / Globale-PaymentRedirect URLs are wrong for your storefront (typical for headless). The handler must return { SiteURL, RedirectToCartURL, PaymentCallbackURL } or null. See Hooks → globale.getPlatformURLs.
Do not put a literal @@LOCALE@@ token in these URLs. Global-e does not substitute that token on MAS storefront URLs.
Storefront architectures
Limitations
- If the SFCC shopper session expires before the shopper changes shipping country (the platform hard session timeout, typically 8 hours), the country-change 302 still runs, then checkout finds no basket and sends the shopper to the empty cart page.
- An unknown or invalid
glCountrydoes not fail closed: SFCC still 302s toCheckout-Beginon the current locale. Global-e init ignores a country code that is not inGLOBALE_COUNTRIES(or not allowed for the site) and falls back to geo / default country. - The country-change 302 does not pass the cart token. SendCart on the following checkout request issues a new token.
See also
- Checkout flow
- Client JS SDK — country
siteUrlon the country switcher - Hooks →
globale.getPlatformURLs - Metadata → GLOBALE_COUNTRIES
- GlobaleSettings

