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

> ## Agent Instructions
> OwnPay is licensed under AGPL-3.0 and is completely free - no licensing fees.
> Production docs URL: https://ownpay.org/docs - append .md to any page URL for clean markdown.
> OwnPay requires PHP 8.3+, MySQL/MariaDB, and Redis.
> MCP server available at https://ownpay.org/docs/mcp for programmatic documentation queries.
> Use root-relative links (e.g. /quickstart) for internal navigation - do NOT include /docs prefix.
> Plugin development: consult /developer/plugins/ pages for correct interfaces and manifests.
> Canonical locations: API auth = /api/authentication, webhook verification = /api/webhooks, rate limits = /resources/rate-limiting, transaction statuses = /fundamentals/payment-flow.
> The documentation uses the Diataxis framework: Tutorials (learning), How-to (tasks), Reference (lookup), Explanation (understanding).

# Brands - Multi-Tenant Merchant Isolation

> A brand in OwnPay is an isolated merchant tenant. Each brand has its own gateways, domain, branding, staff, API keys, customers, and double-entry ledger.

This documentation is for OwnPay v0.2.0-beta, a open-source, self-hosted PHP 8.3 payment gateway with multi-brand support, 100+ payment gateways, and double-entry ledger. It is licensed under AGPL-3.0 with zero transaction fees. The docs URL is [https://ownpay.org/docs](https://ownpay.org/docs). API base URL is `https://your-domain.com/api/v1` with Bearer token authentication. Amounts are bcmath strings. The platform supports 4 plugin types: gateway, addon, theme, and integration. Canonical locations: API auth = /api/authentication, webhook verification = /api/webhooks, rate limits = /resources/rate-limiting, transaction statuses = /fundamentals/payment-flow. The documentation follows the Diataxis framework (Tutorial, How-to, Reference, Explanation).

A **brand** is OwnPay's unit of multi-tenant isolation. When you create a brand, you get a fully independent merchant entity - its own payment gateways, checkout domain, visual branding, staff team, API keys, customer database, and double-entry ledger - all walled off from every other brand on the same OwnPay instance.

## Brand isolation model

<Mermaid
  chart={`
%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#0F97ED','primaryTextColor':'#ffffff','primaryBorderColor':'#102963','lineColor':'#102963','secondaryColor':'#E8F4FD','tertiaryColor':'#F0F7FF','noteBkgColor':'#E8F4FD','noteTextColor':'#102963','noteBorderColor':'#0F97ED'}}}%%
graph TD
subgraph "OwnPay Instance"
subgraph "Brand A - Acme Corp"
A1[Customers]
A2[Transactions]
A3[Gateways]
A4[Staff]
A5[Ledger]
A6[API Keys]
A7[Custom Domain]
end
subgraph "Brand B - TechCorp"
B1[Customers]
B2[Transactions]
B3[Gateways]
B4[Staff]
B5[Ledger]
B6[API Keys]
B7[Custom Domain]
end
end

A1 -.->|no access| B2
B3 -.->|no access| A5
style A1 fill:#e8f5e9,stroke:#2e7d32
style B3 fill:#e3f2fd,stroke:#1565c0
`}
/>

Every database query is scoped to the active brand's `merchant_id`. Staff in Brand A cannot see Brand B's transactions, customers, or settings. No cross-brand data leakage is possible.

## Brand vs platform

<Columns>
  <Column>
    **Platform (OwnPay instance)**

    * Master administrator account
    * System-wide settings and plugins
    * DNS and SSL management
    * Database server and Redis
    * The single codebase running everything
  </Column>

  <Column>
    **Brand (merchant tenant)**

    * Isolated customers and transactions
    * Independent gateway credentials
    * Separate API keys and webhooks
    * Custom domain and branding
    * Its own ledger and balance reports
  </Column>
</Columns>

The platform is the infrastructure. Brands are the merchants running on that infrastructure.

## Per-brand configuration

Each brand independently controls:

| Setting                 | Description                                                   |
| :---------------------- | :------------------------------------------------------------ |
| **Gateways**            | Which payment providers are active and their credentials      |
| **Domain**              | Custom checkout domain (for example, `pay.acme.com`)          |
| **Branding**            | Logo, favicon, color scheme, checkout templates               |
| **Currency & timezone** | Default currency and timezone for reports                     |
| **Staff**               | Team members with role-based permissions scoped to this brand |
| **API keys**            | Separate Merchant and Mobile API keypairs                     |
| **Webhooks**            | Independent webhook URLs and event subscriptions              |
| **Email**               | SMTP settings, sender name, and email templates               |

<Info>
  Ledger accounts are also strictly scoped to a brand. A balance in Brand A's cash account never appears in Brand B's reports.
</Info>

## Common use cases

| Scenario                   | How brands work                                                                        |
| :------------------------- | :------------------------------------------------------------------------------------- |
| **SaaS platform operator** | Each customer company is a brand with its own checkout experience and ledger.          |
| **Payment agency**         | Each client gets a brand with a white-labeled domain and isolated financial data.      |
| **Multi-entity business**  | Different divisions or subsidiaries operate as separate brands for accounting clarity. |

## Related pages

* [People - Brands](/docs/people/brands) - create and manage brands in the admin panel
* [Custom domains](/docs/fundamentals/domains) - assign a domain to each brand
* [Gateway configuration](/docs/gateways/configuration) - activate gateways per brand
* [People - Staff](/docs/people/staff) - assign team members to brands
* [Appearance - Branding](/docs/appearance/branding) - customize logos, colors, and checkout design


## Related topics

- [OwnPay Architecture: PHP Core, Middleware, and Plugins](/docs/resources/architecture.md)
- [Roadmap - OwnPay Release Milestones and Upcoming Features](/docs/resources/roadmap.md)
- [List Transactions](/docs/api-reference/list-transactions.md)
- [Glossary](/docs/resources/glossary.md)
- [Quickstart - Accept Your First Payment in 5 Minutes](/docs/quickstart.md)
