> For the complete documentation index, see [llms.txt](https://docs.hyperswitch.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hyperswitch.io/integrations/cashier-payments/features/cashier-ui-customization.md).

# Cashier UI Customization

Cashier UI customization for seamless deposits and withdrawals

The cashier is the operator’s most-visited page. Every change to it moves revenue. Juspay’s cashier SDK is built on the principle that the operator knows their players better than the payments provider does - so the SDK exposes controls for the operator to express that knowledge.

What can be customized:

* **Theme** - colors, typography, button radius, dark / light mode, layout (tabs vs accordion). Configured via the appearance and variables objects in the PaymentElement options.
* **Payment method ordering** - operators specify the exact display order via the paymentMethodOrder array. Methods are rendered in that order regardless of internal priority.
* **Promoted payment methods** - visually elevate the methods the operator wants to push (typically the cheapest, fastest, or stickiest for repeat deposits). Promotion can be a highlighted background, a “Recommended” badge, or a larger button.
* **Grouping** - group payment methods by category (cards, wallets, bank transfers, vouchers, crypto) with operator-defined group names. Useful when offering 15+ methods in regulated markets.
* **One-click last-used checkout** - for returning players, the most recently used payment method is pre-selected and exposed as a single-tap checkout. Behind the scenes, this uses Juspay’s saved-payment-methods API and the network-tokenized COF.
* **Wallet visibility rules** - toggle Apple Pay, Google Pay, PayPal, Klarna on/off per device, region, and player segment.

A representative cashier mockup with these elements:

<figure><img src="https://2522436862-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F47COcdNQRd7FH3TBRipx%2Fuploads%2FdOeVxPd2s65X804qNY0e%2Fimage.png?alt=media&amp;token=b70181c7-22ed-48e1-a290-9125cce2169d" alt=""><figcaption></figcaption></figure>

Below are real cashier surfaces built on the Juspay SDK - different themes, different layouts, different payment-method orderings, all configured from the same SDK options object. The same theming, payment-method ordering, grouping, promotion, and one-click last-used checkout APIs are available across Web, iOS, Android, React Native, Capacitor, and Flutter; every screenshot below can be reproduced on any of those platforms by changing configuration alone.

<div align="center"><figure><img src="https://2522436862-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F47COcdNQRd7FH3TBRipx%2Fuploads%2FqgJY2qSaiDdhc1DjfHDL%2Fimage.png?alt=media&amp;token=f54e4033-f1a8-4265-a7ee-187caccddbc7" alt=""><figcaption></figcaption></figure> <figure><img src="https://2522436862-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F47COcdNQRd7FH3TBRipx%2Fuploads%2Fbo0ajrxBE7O35Iowo8jx%2FScreenshot%202026-06-25%20at%204.04.55%E2%80%AFPM.png?alt=media&amp;token=ca218955-c424-42fd-9756-cd5aa5998bb4" alt=""><figcaption></figcaption></figure></div>

A representative configuration snippet - React PaymentElement:

`const paymentElementOptions = {`\
`layout: { type: 'accordion', defaultCollapsed: false },`\
`paymentMethodOrder: ['card', 'apple_pay', 'google_pay', 'trustly', 'paypal'],`\
`paymentMethodPromotions: { trustly: { badge: 'RECOMMENDED', accent: '#10B981' } },`\
`displaySavedPaymentMethods: true,`\
`showCardFormByDefault: false, // one-click COF surfaced first`\
`wallets: {`\
`applePay: 'auto', googlePay: 'auto', payPal: 'auto', klarna: 'never',`\
`},`\
`appearance: {`\
`theme: 'night',`\
`variables: {`\
`colorPrimary: '#10B981',`\
`colorBackground: '#0F172A',`\
`borderRadius: '8px',`\
`fontFamily: 'Inter, system-ui, sans-serif',`\
`},`\
`},`\
`};`

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hyperswitch.io/integrations/cashier-payments/features/cashier-ui-customization.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
