Set up your branding
1
Ask support to create a branding profile
Contact support with the settings you want (see What you can change). Profiles belong to your merchant account, not to one outlet, and you can have as many as you need — one of them is your default. A self-serve merchant portal (Payment Gateway → Checkout → Branding, with the same settings) is planned.
2
Create a sandbox checkout session
Your default profile applies automatically — no extra field needed. To use a different profile, send its ID as
branding_profile_id; support shares the IDs when they set up extra profiles.3
Check it in light and dark mode
Open the session’s payment page, then add
?theme=light, ?theme=dark, or ?theme=auto to the URL to preview each mode. This overrides the profile’s color_scheme for that page load only. There’s no separate preview tool.4
Repeat in production
Sandbox and production are separate: set up profiles in each environment. Profile IDs differ between them.
Override branding for one checkout
Send abranding object when you create a checkout session to change individual settings for that checkout only — for example a per-language Pay label, a campaign colour, or matching an embedded checkout to the surrounding page:
brandingaccepts the same fields as a profile:display_name,logo_url, the nine colours,border_radius,font_family,color_scheme, andbutton_text.- Every field is optional. Fields you leave out keep the profile’s value;
branding: {}is the same as leaving it out. - An unknown field or an invalid value returns
400 validation:invalid_inputnaming the field. That includes a blankdisplay_nameorbutton_text— leave the field out to keep the profile’s value.
How branding is chosen
For each setting, the first of these that has a value wins:- The session’s
brandingobject. - The profile named by
branding_profile_id— or your default profile when you leave it out. - The standard RadiumOne look.
- An unknown, deleted, or another merchant’s
branding_profile_idquietly uses your default profile, with no error. With no default profile, the standard RadiumOne look applies. branding_profile_idis at most 64 characters (profile IDs are UUIDs); a longer value returns400.- Branding is fixed when the session is created. A profile change, or a new default, applies to the next session; sessions already created keep their look until they end.
- Embedded and redirect checkouts use the same branding. Embedded mode has no page header, so the logo and merchant name don’t appear.
Match your site
An embedded checkout runs in a RadiumOne iframe, so your page’s CSS can’t reach inside it — there’s no supported way to style it with your own stylesheet. To match your site, use the settings above instead: a branding profile, or a per-sessionbranding object with, for example, background_color, font_family, border_radius, and color_scheme to blend with the surrounding page.
What you can change
Colours
Each colour is#RRGGBB, in either case. Marker numbers below match the Colours table’s # column.
Style
Name, logo, and Pay button
Fonts
Use one of these values, exactly as written (case-sensitive):- System fonts — the shopper’s device fonts:
system-ui,-apple-system,sans-serif,serif,monospace - Latin web fonts — served by RadiumOne, so shoppers don’t need them installed:
Inter,Roboto,Open Sans,Lato,Montserrat,Poppins,Source Sans Pro,Noto Sans,Raleway,PT Sans - Asian-script web fonts — also served by RadiumOne:
Noto Sans SC,Noto Sans TC,Noto Sans JP,Noto Sans KR,Noto Sans Thai
Logo
- Shown 40px tall and up to 180px wide, keeping its proportions.
- For best results, use a horizontal SVG or transparent PNG, at least 80px tall for sharp screens, and keep the file small.
logo_urlmust be an absolutehttps://URL with a hostname, with no spaces or control characters, up to 2048 characters.- RadiumOne doesn’t upload, host, cache, or proxy your logo — the shopper’s browser loads it from your URL, and there’s no format or file-size check.
- With no logo, or if it fails to load, the header shows
display_name(or your merchant name).
Light and dark mode
Your colours are used as-is in both modes, exceptaccent_color: in dark mode the page shows a darker blend of it so a pale tint doesn’t glare. Dark mode also swaps the page background and surfaces to a fixed dark palette (#1a1a2e, surfaces #16213e) with white body text.
Standard RadiumOne look
Used when no profile applies, and for any setting your profile doesn’t set:Rules and limits
The same rules apply to saved profiles and to the session’sbranding object.
display_name— 1–100 Unicode code points after leading and trailing spaces are removed.button_text— up to 30 Unicode code points after trimming (a profile can leave it blank).- Code points aren’t always visible characters — a plain 👍 counts as 1, 👍🏽 (with a skin-tone modifier) as 2, and a family emoji as up to 7.
- Characters —
display_nameandbutton_textcan’t contain control characters or invisible formatting characters (zero-width spaces, text-direction overrides) anywhere, including at the start or end. Zero-width joiners and non-joiners are allowed, since some emoji and scripts need them. - Invalid values are rejected when a profile is saved. If a profile still holds an older value the page can’t use (for example a font from before the allowed list), only that setting falls back — main colours, font, and colour scheme use the RadiumOne default, other settings are left unset — and the rest of the profile still applies.
- Deleting profiles — a default profile can’t be deleted until another profile is set as the default. If a profile that open sessions use is deleted, those sessions keep their branding, and new sessions naming the deleted ID get your default profile.
Next steps
Customize checkout
Line items, shopper details, locale, and other session options.
Embed hosted checkout
Embedded mode uses the same branding, without the page header.