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

# Checkout Overview

> Accept credit card payments on your website in minutes with Ozura Checkout

Ozura Checkout is a hosted, PCI-compliant payment page. Your server creates a session, the customer pays on our secure page, and we redirect them back to your site. You never touch credit card data.

## There Are 2 Ways to Integrate

<CardGroup cols={2}>
  <Card title="Hosted Page (Redirect)" icon="arrow-up-right-from-square" href="/guides/payments/checkout/quickstart">
    Your server creates a session. Customer is sent to our checkout page to pay, then redirected back. **Simplest integration — start here.**
  </Card>

  <Card title="Embedded (Popup / Iframe)" icon="window-restore" href="/guides/payments/checkout/integration-modes">
    Same flow, but the checkout opens as a popup or embeds directly in your page. Customer never leaves your site.
  </Card>
</CardGroup>

***

## How It Works

```mermaid theme={null}
flowchart LR
  A["1. CREATE\nYour server calls\nour API to create\na session"] --> B["2. REDIRECT\nCustomer goes to\nour secure checkout\npage and pays"]
  B --> C["3. DONE\nCustomer is sent\nback to your site\nwith payment result"]
```

***

## What You'll Need

Before you start, gather these credentials:

| Credential           | Where to Find          | What It's For                                                      |
| :------------------- | :--------------------- | :----------------------------------------------------------------- |
| **Vault API Key**    | Developers → Vault Key | Put in `X-API-KEY` header (authenticates with secure card storage) |
| **Merchant API Key** | Developers → API Keys  | Put in `X-OZURA-API-KEY` header (identifies your account)          |
| **Merchant ID**      | Developers → Identity  | Put in request body as `merchantId`                                |

<Note>
  **Don't have your Vault API Key?** Find it under Developers → Vault Key. **Don't have an Ozura account?** Contact the Ozura sales team to get started.
</Note>

<Info>
  **Coming from OzElements?** If you've been using [OzElements](/sdks/elements/overview) to tokenize cards directly and are wondering what to do with your Vault Pub Key (`X-Pub-Key`) — you don't need to worry about it here. Checkout handles tokenization and pub key authentication internally. You only need the three credentials listed above.
</Info>

<Note>
  **Checkout users never need a Vault Pub Key.** Checkout handles pub key authentication server-side for both production and test vault keys. (Pub key requirements only matter when integrating Elements directly — see the [Elements Installation](/sdks/elements/installation) guide.)
</Note>

***

## Capabilities

| Feature             | Description                                                                                                                      |
| :------------------ | :------------------------------------------------------------------------------------------------------------------------------- |
| **Simple Payments** | Charge a flat amount (e.g., `$25.00`)                                                                                            |
| **Itemized Cart**   | Show product images, quantities, and discounts                                                                                   |
| **Donation Mode**   | Preset amount buttons with optional custom input                                                                                 |
| **Recurring Mode**  | Subscriptions and memberships — customer pays once, billing continues automatically                                              |
| **Surcharge**       | Add a configurable credit card surcharge (up to 3%) displayed as a line item                                                     |
| **Payment Links**   | Shareable URLs for email, social media, or invoices                                                                              |
| **Display Modes**   | Redirect, popup, iframe, or new tab                                                                                              |
| **Custom Branding** | Match the hosted page to your brand (colors, logo, typography); see [Customize Appearance](/guides/payments/checkout/appearance) |
| **Theme Preview**   | Embed a live checkout preview in your dashboard to test appearance changes without a real session                                |
| **Multi-Currency**  | Accept payments in USD, EUR, GBP, CAD, and more                                                                                  |

***

## I Want To...

| Question                                   | Answer                                                                                               |
| :----------------------------------------- | :--------------------------------------------------------------------------------------------------- |
| Accept my first payment quickly            | [Quickstart](/guides/payments/checkout/quickstart)                                                   |
| Understand all session creation options    | [Create a Session](/guides/payments/checkout/create-session)                                         |
| Choose redirect, popup, iframe, or new tab | [Integration Modes](/guides/payments/checkout/integration-modes)                                     |
| Handle success, errors, and cancellations  | [Handle the Result](/guides/payments/checkout/handle-result)                                         |
| Create shareable payment URLs              | [Payment Links](/guides/payments/checkout/payment-links)                                             |
| Accept donations                           | [Donation Mode](/guides/payments/checkout/donation-mode)                                             |
| Set up subscriptions and recurring billing | [Recurring Mode](/guides/payments/checkout/recurring-mode)                                           |
| Add a credit card surcharge                | [Recurring Mode → Surcharge Reference](/guides/payments/checkout/recurring-mode#surcharge-reference) |
| Preview appearance without a real session  | [Theme Preview](/guides/payments/checkout/preview)                                                   |
| Match checkout to my brand                 | [Customize Appearance](/guides/payments/checkout/appearance)                                         |
| See supported currencies                   | [Currencies](/guides/payments/checkout/currencies)                                                   |
| Test before going live                     | [Testing Guide](/guides/payments/checkout/testing-guide)                                             |
| Keep my integration secure                 | [Security Best Practices](/guides/payments/checkout/security)                                        |
| See the full endpoint reference            | [API Reference](/guides/payments/checkout/api-reference)                                             |
| Fix an error                               | [Troubleshooting](/guides/payments/checkout/troubleshooting)                                         |
| Understand error codes and retry logic     | [Error Handling](/guides/payments/checkout/error-handling)                                           |

***

## Quick Reference

<CardGroup cols={2}>
  <Card title="Quickstart" icon="bolt" href="/guides/payments/checkout/quickstart">
    Accept your first payment in 5 minutes
  </Card>

  <Card title="Create a Session" icon="plus" href="/guides/payments/checkout/create-session">
    Full guide to session creation and all options
  </Card>

  <Card title="API Reference" icon="book" href="/guides/payments/checkout/api-reference">
    Complete endpoint reference
  </Card>

  <Card title="Testing Guide" icon="flask-conical" href="/guides/payments/checkout/testing-guide">
    Test your integration before going live
  </Card>
</CardGroup>
