> ## Documentation Index
> Fetch the complete documentation index at: https://docs.unibee.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Checkout Page

> How to create and manage custom checkout pages in UniBee

## Overview

UniBee supports fully customizable checkout pages, enabling merchants to tailor the visual style, form structure, and display logic of the checkout flow. This is especially useful for scenarios requiring branded user journeys, region-specific compliance (e.g. different tax logic), or embedding within existing websites or apps.

This guide covers how to manage checkout templates, assign them to product plans, and configure layout and functional elements via UniBee's admin console.

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-overview.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=556ecde763dcc47ed29a38ebea0ae584" alt="Custom Checkout Page Overview" width="1702" height="798" data-path="images/custom-checkout-overview.png" />

## Navigation & Access

* **Navigation path:** `Product > Checkout Page`
* **Access control:**
  * **Trial users:** View-only access to the default template
  * **Paid users:** Full CRUD access to all custom templates

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-navigation.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=63b76b6e78ad98dcc1649320a41b67b3" alt="Navigation to Checkout Page" width="544" height="223" data-path="images/custom-checkout-navigation.png" />

## Template Management

### Template List

All templates are listed with the following fields:

* Template name
* Creation date / last modified date
* Status: `Draft` or `Published`

Search and filtering are supported by template name.

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-template-list.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=e8c8fa9e6fe531b152efca38838d64eb" alt="Template List View" width="1449" height="751" data-path="images/custom-checkout-template-list.png" />

### Template Operations

| Operation | Description                                                                  |
| --------- | ---------------------------------------------------------------------------- |
| Create    | Click `Add Template` to launch the creation wizard                           |
| Edit      | Modify any field, preview changes in real time                               |
| Save      | Draft changes are stored without affecting published template                |
| Publish   | Confirm to apply latest changes                                              |
| Delete    | Only allowed when template is not linked to any plan (confirmation required) |

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-template-operations.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=1fcbea3ac6f67c5c05175bb9b35f3bfd" alt="Template Operations" width="1699" height="889" data-path="images/custom-checkout-template-operations.png" />

## Assigning Templates to Plans

Each product plan can be optionally linked to a checkout template.

* **Field:** `Checkout Page Template`
* **Location:** Plan creation / edit form
* **Behavior:**
  * If selected: the assigned template is rendered at checkout
  * If not selected: the default template is used

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-plan-assignment.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=983bf9be30d486141eb50cea23ada8f2" alt="Plan Template Assignment" width="1697" height="884" data-path="images/custom-checkout-plan-assignment.png" />

## Template Configuration

Templates consist of two main configuration tabs:

### Feature Settings

Controls the fields and logic within the checkout form.

#### Form Elements

| Field           | Type         | Notes                                       |
| --------------- | ------------ | ------------------------------------------- |
| Email           | Input        | Required, format validation                 |
| Payment Methods | Multi-select | At least one required (e.g. Stripe, PayPal) |
| Account Type    | Radio        | Personal / Business — triggers VAT fields   |
| Country         | Dropdown     | Affects tax logic                           |

#### Order Summary

* Product details: name, price, billing cycle
* Coupon field: user input + apply button
* Tax: automatically calculated and displayed (e.g. VAT(HK) 0% €0.00)

#### Customer Details

* Phone number (optional)
* Billing address (optional)
* Company name (optional, required for business accounts)

#### Advanced Controls

* Submit button text (e.g. "Continue", "Start Now")
* Toggle banner / footer display

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-feature-settings.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=98b9567324e5b73763ba8eb0fcf70b59" alt="Feature Settings Configuration" width="1698" height="886" data-path="images/custom-checkout-feature-settings.png" />

### Style Settings

Adjust font, color, spacing, and layout settings to match brand identity.

Live preview is provided alongside configuration for immediate feedback.

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-style-settings.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=64f231cc0f47d18232735abfd11aac5c" alt="Style Settings Configuration" width="1702" height="793" data-path="images/custom-checkout-style-settings.png" />

## Business Rules

* At least one payment method must be selected
* Email is mandatory and format-validated
* Country selection dynamically triggers tax recalculation
* Business account selection forces VAT + company fields
* Coupon logic triggers real-time price adjustment

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-business-rules.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=c2a9df4f91c126df2f2cdae0b4d1bcbb" alt="Business Rules Implementation" width="540" height="169" data-path="images/custom-checkout-business-rules.png" />

## Technical Specifications

### Frontend

* Fully responsive (desktop + mobile)
* Real-time configuration preview
* Status management (draft vs. published)

### Backend

* All template data is encrypted at rest
* Strict separation between edit and publish environments
* Template load performance: \< 1.5s

### Security

* Trial and paid user access clearly separated
* Deletion of in-use templates is restricted
* Merchant data is isolated per account

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-technical-specs.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=bb512a2b6d588a09a3ad550f0261b518" alt="Technical Specifications" width="1700" height="883" data-path="images/custom-checkout-technical-specs.png" />

## UX & Interaction

* Saving a draft does not affect live templates
* Publishing requires confirmation modal
* Deleting prompts warning and is blocked if linked to any plan
* Required fields are marked with red asterisk (`*`)
* Real-time success/failure messages are shown for all actions

<img src="https://mintcdn.com/aaaabmero/PAQKVjj86U1Qa7E1/images/custom-checkout-ux-interaction.png?fit=max&auto=format&n=PAQKVjj86U1Qa7E1&q=85&s=f25d841a27aa8d8835581a7886120014" alt="User Experience and Interaction" width="1697" height="702" data-path="images/custom-checkout-ux-interaction.png" />

## Best Practices

1. **Start with a draft**: Always create and test templates in draft mode before publishing
2. **Test thoroughly**: Preview templates on different devices and screen sizes
3. **Keep it simple**: Avoid overly complex layouts that might confuse users
4. **Brand consistency**: Use your brand colors and fonts consistently
5. **Mobile-first**: Ensure templates work well on mobile devices
6. **Performance**: Keep customizations lightweight to maintain fast load times

## Troubleshooting

* **Template not appearing**: Check if the template is published and assigned to the plan
* **Changes not reflecting**: Ensure you've published the latest draft changes
* **Cannot delete template**: Verify the template is not linked to any active plans
* **Preview not working**: Clear browser cache and refresh the page
