Skip to main content
Complete list of appearance fields for Ozura Checkout. The hosted page uses a centered card layout on desktop (form left, summary right inside the card; brand bar above). Field names match the Checkout API.
Naming note: leftSideBackground styles the order summary panel (the visually right column inside the card). rightSideBackground styles the payment form panel (the visually left column). The names are historical; use the descriptions below, not the word “left/right” alone.

Global Colors

KeyTypeDescription
primaryColorHexMain brand color (accents, active payment-method border, default pay button chain)
primaryHoverColorHexHover for primary-colored controls
secondaryColorHexSecondary accent where used
backgroundColorHexSets global/custom fallbacks (inputs, many panels). Not the outer lavender canvas—use cssVariables.page-background (see Customize Appearance).
textColorHexDefault text
borderColorHexBorders and some dividers

Layout (Desktop — inside the card)

KeyTypeDescription
leftSideBackgroundHexOrder summary panel background (right portion of the card)
rightSideBackgroundHexPayment form panel background (left portion of the card)
formBackgroundHexForm container background
dividerColorHexDivider color; on mobile, used with showTopDivider for a line under the top section
showTopDividerBooleanWhen true and dividerColor is set, draws a divider under the mobile header area

Layout (Mobile)

KeyTypeDescription
mobileBackgroundHexMobile sections (summary, donation block, etc.)
mobileTopBackgroundHexTop branding / header band
mobileBottomBackgroundHexLower sections where applied
mobileFormBackgroundColorHexForm area background
mobileStickyTopBooleanIn API/types; not applied by the current checkout UI

Typography

KeyTypeDescription
fontFamilyStringFont stack (sanitized); does not style the fixed “Powered by OzuraPay” footer
fontSizeStringsm, base, lg, xl (drives scaled sizing on the page)
fontWeightStringIn API/types; not applied by checkout today

Spacing & Borders

KeyTypeDescription
spacingStringcompact, normal, spacious
borderRadiusStringnone, sm, base, lg, xl, full

Text Colors

KeyTypeDescription
headingTextColorHexTitles and headings (including merchant name styling chain)
bodyTextColorHexBody text where wired
labelTextColorHexForm labels
formLabelTextColorHexLabels inside card/ACH sections
secondaryTextColorHexSecondary/helper text
amountTextColorHexAmount displays
emailTextColorHexEmail field
cardTextColorHexCard payment fields
achTextColorHexACH / bank fields

Input Fields

KeyTypeDescription
inputBackgroundColorHexInput background
inputBorderColorHexDefault border (the new layout often uses borderless inputs with a focus ring; variable still applies where used)
inputFocusBorderColorHexFocus border where used
inputErrorBorderColorHexError state

Primary Button (Pay / Donate)

KeyTypeDescription
buttonBackgroundColorHexPay button background
buttonHoverColorHexPay button hover
buttonBorderColorHexPay button border
The button label (e.g. Pay $10.00 + Tax, Donate $25.00) is not a single appearance field—it is computed from donation mode, tax estimate, country, and tax-exempt flags.

Payment Method Selector

KeyTypeDescription
paymentMethodBorderColorHexBorder around the payment method container and related inputs
paymentMethodButtonBackgroundColorHexInactive method tab background
paymentMethodButtonHoverBackgroundColorHexHover background
paymentMethodButtonActiveBackgroundColorHexSelected method tab background
paymentMethodButtonTextColorHexMethod tab text
paymentMethodIconColorHexIcons on method tabs

Mobile Text & Input Overrides

KeyTypeDescription
mobileHeadingTextColorHexHeadings on mobile
mobileAmountTextColorHexAmount on mobile
mobileSecondaryTextColorHexSecondary text on mobile
mobileLabelTextColorHexLabels on mobile
mobileInputTextColorHexInput text on mobile
mobileInputBackgroundColorHexInput background on mobile
mobileInputBorderColorHexInput border on mobile
mobileButtonBackgroundColorHexPay button on mobile
mobileButtonHoverColorHexPay button hover on mobile
mobileFormBackgroundColorHexForm section on mobile

Cancel Button

KeyTypeDescription
cancelButtonTextStringLabel (default: Cancel and Return)
cancelButtonBackgroundColorHexBackground
cancelButtonTextColorHexText color
cancelButtonHoverColorHexText color on hover (not background)
cancelButtonBorderColorHexBorder (1px solid … when set)

Branding

KeyTypeDescription
logoUrlURLLogo image (HTTPS)
logoPositionStringinline or top
logoMaxHeightStringIn API; not read by live logo component
showMerchantNameBooleanShow name with logo (see Customize Appearance)
hideBrandingBooleanIn API; not used by the checkout page today
The store name comes from the required merchantName field when you create the session (stored on the session for the UI).

Cart Display (Itemized Checkout)

When using an items array:
KeyTypeDescription
cartFontFamilyStringFont for cart block (falls back to fontFamily)
cartProductNameColorHexProduct name
cartBrandColorHexBrand line
cartDescriptionColorHexDescription
cartVariantColorHexVariant line
cartCategoryColorHexCategory
cartSkuColorHexSKU
cartPriceColorHexPrice
cartOriginalPriceColorHexStrikethrough price
cartQuantityColorHexQuantity
cartDiscountBadgeColorHexDiscount badge background
cartDiscountBadgeTextColorHexDiscount badge text
cartTaxFreeColorHexTax-free indicator
cartSubtotalColorHexSubtotal
cartTotalColorHexTotal
cartTaxNoteColorHexTax note text
Line content (images, badges, links) is controlled by each cart item field, not appearance.

API Warnings

Session and payment-link creation may return warnings (not errors) when colors fail WCAG contrast checks or mobile/desktop combinations look mismatched. Surface these in your dashboard when present.

Pre-Made Themes

Minimal Light

{
  "appearance": {
    "primaryColor": "#6366F1",
    "primaryHoverColor": "#4F46E5",
    "backgroundColor": "#FAFAFA",
    "textColor": "#1F2937",
    "fontFamily": "Poppins, sans-serif",
    "borderRadius": "lg"
  }
}

Violet Dark Mode

{
  "appearance": {
    "primaryColor": "#8b5cf6",
    "buttonBackgroundColor": "#8b5cf6",
    "leftSideBackground": "#0f0a1a",
    "rightSideBackground": "#1a0f2e",
    "formBackground": "#1a0f2e",
    "headingTextColor": "#ffffff",
    "textColor": "#e5e7eb",
    "inputBackgroundColor": "#1a0f2e",
    "inputBorderColor": "#8b5cf6",
    "cssVariables": {
      "page-background": "#0c0518"
    }
  }
}

Emerald Clean

{
  "appearance": {
    "primaryColor": "#10b981",
    "buttonBackgroundColor": "#10b981",
    "buttonHoverColor": "#059669",
    "inputFocusBorderColor": "#10b981",
    "borderRadius": "base"
  }
}

Custom CSS

KeyTypeDescription
customCssStringRaw CSS injected in a <style> block (max 10,000 characters; blocked patterns below)
cssVariablesObjectKeys become --custom-{key} on the document root. Checkout sanitizes values as colors—use for color tokens (e.g. page-background). For shadows or non-color values, use customCss. Max 100 entries; values max 200 characters.

Security Restrictions

These patterns cause customCss to be rejected (and may fail API validation):
  • url(
  • @import
  • javascript:
  • expression(
  • behavior:, binding:, -moz-binding, -webkit-binding
  • CSS hex escape sequences (e.g. \3c)

Available CSS Classes (non-exhaustive)

ClassWhat It Styles
.checkout-containerRoot container
.checkout-form-containerPayment form wrapper
.checkout-inputText inputs (legacy class; many fields use shared checkout styles)
.checkout-submit-buttonPrimary pay button
.checkout-errorError messages

Example: Gradient Button

{
  "appearance": {
    "primaryColor": "#10b981",
    "customCss": ".checkout-submit-button { background: linear-gradient(135deg, #10b981, #059669); }"
  }
}