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

# Payments

> Understand the payment options and where they connect

# Payment Integrations

Payments turn onboarding and engagement into revenue. Launch ships with
integrations that cover direct billing, subscriptions, and paywall management
so you can pick the model that fits your product.

The payment layer is already wired into the app, but it is disabled by default.
Your first step is to enable the payments feature flag, then follow the setup
guide for the provider you choose.

## Prerequisites

* Payments feature enabled in `apps/mobile/features/feature-registry.tsx`
* Backend env vars set for your chosen provider (copy from `apps/api/example.env`)
* Mobile env vars set if required (copy from `apps/mobile/example.env`)

<CardGroup cols={2}>
  <Card title="Stripe" icon="stripe" href="/payments/stripe">
    Direct payment processing with full control. Best for web + mobile apps or
    custom billing flows.
  </Card>

  <Card title="RevenueCat" icon="credit-card" href="/payments/revenuecat">
    Simplified in-app subscriptions with cross-platform support. Best for
    subscription-first apps.
  </Card>

  <Card title="Superwall" icon="window" href="/payments/superwall">
    Paywall A/B testing and optimization. Best for maximizing subscription
    revenue.
  </Card>
</CardGroup>

## Which should I use?

| Integration    | Best For                   | Complexity | App Store Fees |
| -------------- | -------------------------- | ---------- | -------------- |
| **Stripe**     | Web + Mobile, Custom flows | Medium     | You handle     |
| **RevenueCat** | Subscription apps          | Low        | Handled        |
| **Superwall**  | Optimizing conversions     | Low        | Handled        |

<Note>
  For most mobile apps, we recommend starting with **Stripe** for maximum
  flexibility, then adding **RevenueCat** or **Superwall** if you need advanced
  subscription management or A/B testing.
</Note>

## Steps

1. Enable the payments feature flag in
   `apps/mobile/features/feature-registry.tsx`.
2. Choose a provider:
   * [Stripe](/payments/stripe)
   * [RevenueCat](/payments/revenuecat)
   * [Superwall](/payments/superwall)
3. Follow the setup guide for your provider.

## How It Works

Launch wraps payment providers behind a unified interface. The provider is
selected in `apps/mobile/features/feature-registry.tsx`, and the UI reads from
the provider layer.

Key references:

* Feature flag: `apps/mobile/features/feature-registry.tsx`
* Provider selection: `apps/mobile/features/feature-registry.tsx`
* Payments UI: `apps/mobile/app/(tabs)/features/index.tsx`
