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)
Stripe
Direct payment processing with full control. Best for web + mobile apps or
custom billing flows.
RevenueCat
Simplified in-app subscriptions with cross-platform support. Best for
subscription-first apps.
Superwall
Paywall A/B testing and optimization. Best for maximizing subscription
revenue.
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 |
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.
Steps
- Enable the payments feature flag in
apps/mobile/features/feature-registry.tsx. - Choose a provider:
- Follow the setup guide for your provider.
How It Works
Launch wraps payment providers behind a unified interface. The provider is selected inapps/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