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

# Branded checkout + DNS

> Subscribers go through your branded subdomain on web checkout — same design, same domain, same trust signals.

The migration's web checkout lives on your subdomain. Subscribers see your brand throughout — the email links to a Recurr-hosted page that looks like your site and is served from your DNS.

## DNS setup

A single CNAME record points your chosen subdomain at Recurr-hosted infrastructure:

```
subscribe.yourdomain.com  CNAME  <recurr-hosted-target>
```

Typical subdomain choices:

* `subscribe.yourdomain.com`
* `billing.yourdomain.com`
* `account.yourdomain.com`

The exact subdomain is yours to choose. The framework provides the CNAME target after the pilot's Stripe Connect account is live.

## What the page looks like

The checkout page is themed to match your brand:

* Your logo + favicon
* Your brand colors (primary, secondary, accent)
* Your typography (web fonts of your choice)
* Your support links + footer copy

The page is mobile-first (most traffic arrives via email-on-phone) and respects standard accessibility expectations (keyboard nav, semantic HTML, color-contrast minimums).

A representative checkout flow:

<Steps>
  <Step title="Subscriber clicks the migration email link">
    Lands on `subscribe.yourdomain.com/migrate/<hash>`. The page recognizes the subscriber from the link parameters.
  </Step>

  <Step title="Identity continuity">
    "Sign in with Apple" or "Sign in with Google" — the same providers they used in-app. No password creation step. (Email-and-password is the fallback if neither provider is available.)
  </Step>

  <Step title="Plan + price preview">
    The plan they're on is shown alongside the new web price (with any migration-specific incentive applied). Annual subscribers see card-save framing, not pay-now.
  </Step>

  <Step title="Payment">
    Stripe-hosted card entry on your subdomain. SCA (Strong Customer Authentication) is handled where applicable.
  </Step>

  <Step title="Confirmation">
    Success page on your subdomain. Email confirmation sent. App entitlement updated within seconds.
  </Step>
</Steps>

## SSL and security

The CNAME setup includes SSL certificate provisioning automatically. Subscribers see a green lock and a `subscribe.yourdomain.com` URL. The certificate is auto-renewed by the framework.

PCI compliance is handled by Stripe's hosted card entry — your subdomain never sees raw card data.

## Customizing the flow

The default flow above works for most apps. Customizations supported:

* **Plan-specific copy** — different messaging for annual vs monthly, or by tier
* **Geo-specific pricing** — different price tiers by region (alongside currency)
* **Promotional offers** — migration-specific incentives (one-time, time-bounded)
* **Upsell or downsell flows** — offer plan changes during migration
* **Custom support links** — point to your help center, chat widget, etc.

Each customization gets scoped during pilot setup. Defaults work without configuration.

[Identity continuity →](/integration/identity-continuity)
