Checkout branding lets you customize how your checkout pages look, so they match your brand identity. You can set an accent color, font, and button shape at the company level, and optionally override those settings on individual checkout links.
Checkout branding is currently in early preview. Access is limited while we
refine the feature. Reach out to Whop Support if
you’re interested in getting early access.
What you can customize
| Setting | Description |
|---|
| Accent color | Sets the primary color used for buttons and interactive elements on your checkout page |
| Font | Choose from a selection of fonts to match your brand |
| Button shape | Control the roundness of buttons. Choose between sharp, rounded, or pill-shaped |
Global branding (company-wide defaults)
Global branding applies to all checkout links for your business. Individual checkout links inherit these settings unless they have their own overrides.
- Go to your Dashboard > Settings > Checkout Branding
- Choose your preferred accent color, font, and button shape
- Use the live preview to see how your checkout will look
- Click Save to apply your changes
Your branding will take effect on all checkout links immediately after saving.
Per-link branding (individual overrides)
You can override the global branding on a specific checkout link. This is useful when you want a particular product or campaign to have a different look.
- Go to your Dashboard > Checkout Links
- Edit the checkout link you want to customize
- In the Checkout branding section, adjust the accent color, font, or button shape
- Save your changes
Any setting you leave on “Global default” will inherit from your company-wide branding. Only the settings you explicitly change will override the global defaults for that link.
Per-link branding takes precedence over global branding. If you update your
global settings later, any checkout link with its own overrides will keep its
custom branding for the overridden settings.
API: Checkout session branding
You can set branding on individual checkout sessions via the API using the checkoutStyling parameter on createCheckoutSession. This is similar to Stripe’s branding_settings parameter.
mutation {
createCheckoutSession(
input: {
planId: "plan_XXXXXXXXX"
checkoutStyling: { accentColor: "#FF5733", font: "roboto", shape: "pill" }
}
) {
id
purchaseUrl
checkoutStyling {
accentColor
font
shape
}
}
}
The resolution order is: checkout session > plan > company. If a checkout session has styling set, it takes priority. Otherwise, the plan’s styling is used. If neither is set, the company-wide defaults apply.
| Field | Type | Description |
|---|
accentColor | String | Hex color code (e.g. #FF5733) |
font | Enum | system, roboto, or open_sans |
shape | Enum | rounded, pill, or rectangular |
Email field controls
You can control the email field on your checkout pages using URL parameters. This is useful when you already know a customer’s email (e.g., from a landing page form) and want to streamline their checkout experience.
| Parameter | Effect |
|---|
?email=customer@example.com | Prefills the email field with the specified address |
?email.disabled=1 | Locks the email field so the customer cannot change it (use with email parameter) |
?email.hidden=1 | Hides the email field entirely (use with email parameter) |
Examples
Prefill and lock the email field:
https://whop.com/checkout/plan_XXXXXXXXX?email=customer@example.com&email.disabled=1
Prefill and hide the email field:
https://whop.com/checkout/plan_XXXXXXXXX?email=customer@example.com&email.hidden=1
When email.hidden=1 is used, you must also provide the email parameter. If
both email.disabled and email.hidden are set, the email field will be
hidden entirely.
These email parameters also work with embedded checkout. In the embedded checkout, you can use the prefill, disableEmail, and hideEmail props instead of URL parameters.