Getting Started With RevenueCat Web
Overview of web purchases support in RevenueCat
RevenueCat Web is the umbrella for selling subscriptions and other purchases on the web while unlocking the same RevenueCat entitlements you use on mobile. You choose a billing engine to own products, renewals, taxes, emails, and subscription management, then choose one or more purchase surfaces such as Web Purchase Links, Web SDK, Web Paywalls, Funnels, or an app-to-web Web Purchase Button.
RevenueCat Web supports three billing engines:
- RevenueCat Web Billing: RevenueCat's own billing engine, using Stripe as the payment gateway.
- Stripe Billing: Your Stripe Billing catalog and subscriptions, connected to RevenueCat Web purchase surfaces.
- Paddle Billing: Your Paddle Billing catalog and subscriptions, connected to RevenueCat Web purchase surfaces, with Paddle as merchant of record.
Benefits & use cases
- More flexible monetization: Implement pricing and monetization models that aren't supported on mobile app stores.
- Save on store fees: Web monetization nets you a higher takehome percentage from transactions.
- Lower friction for acquisition: Users can purchase on the web before even downloading your mobile app.
- More consistent attribution: Get a clearer picture of your acquisition and what's working.
- Cross-platform app monetization in a single place: Web revenue fits alongside your mobile app store revenue, offering consistent reporting and management of your customers and their purchases.
- Unified user experience: Customer who purchase on the web can unlock in-app entitlements and get a consistent experience, regardless of where they purchase.
RevenueCat Web supports use cases such as:
- Running paid acquisition campaigns linked to a hosted web checkout flow.
- Running web-based win-back campaigns with special offers tailored to customers with churned subscriptions.
- Monetizing an existing owned audience, before launching your app (pre-sales).
- A/B testing and experimentation with different purchase flows.
Choose your path
Use this as a starting point before going deep into a setup guide:
| If you want to... | Use this billing engine | Start here |
|---|---|---|
| Launch web monetization without maintaining products in another tool | RevenueCat Web Billing | Configure RevenueCat Web Billing |
| Send customers to a no-code hosted checkout from campaigns or email | Any supported billing engine | Web Purchase Links |
| Build checkout into your logged-in web app | Any supported billing engine | Web SDK |
| Link from an in-app paywall to a browser-based checkout | Any supported billing engine, based on your checkout needs | Web Purchase Button |
| Let customers buy before they have an account or app install | Any supported billing engine with Redemption Links enabled | Redemption Links |
| Keep an existing Stripe checkout and only sync purchases | Stripe Billing | Track External Purchases |
| Keep an existing Paddle checkout and only sync purchases | Paddle Billing | Paddle Billing |
| Use Stripe as merchant of record where Stripe supports it | Stripe Billing with Managed Payments | Stripe Managed Payments |
Features
RevenueCat Web includes these purchase surfaces and supporting features:
- Web SDK: A JavaScript SDK to integrate web purchases into your web app.
- Web Purchase Links: A hosted, customizable purchase flow provided by RevenueCat, to enable web purchases with no code.
- Web Purchase Button: A component available in RevenueCat's paywalls to link to a web checkout from in-app (app to web).
- Web Paywalls: RevenueCat's component-based dynamic paywalls, rendered on the web and available through both Web Purchase Links and the Web SDK.
- Redemption Links: A mechanism for allowing anonymous (non-logged in) users to purchase on the web, and redeem their purchase in-app using app deep linking.
- Web Funnels: Build customizable, multi-step web onboarding flows with a component-based editor.
A recent U.S. District Court ruling found Apple in violation of a 2021 injunction meant to allow developers to direct users to external payment options, like Web Billing. As a result, iOS developers are now permitted to guide users to web-based payment flows without additional Apple fees or restrictive design requirements. You can find more details on the RevenueCat blog.
For apps available outside the U.S. App Store, Apple still requires that digital goods and subscriptions be purchased through in-app purchases. Promoting or linking to alternative payment methods within the app for non-U.S. users may lead to app review rejection or removal. Always ensure external payment links are shown only to eligible U.S. users.
Billing engines
Billing engines are the subscription management layer responsible for configuring products, orchestrating subscriptions and renewals, managing pricing, etc. RevenueCat Web currently integrates with the following billing engines:
| Billing engine | Web SDK | Web Purchase Links | Web Funnels | External purchases sync |
|---|---|---|---|---|
| RevenueCat Web Billing | Supported | Supported | Supported | n/a |
| Stripe Billing | Supported | Supported | Supported | Supported |
| Paddle Billing | Supported | Supported | Supported | Supported |
Billing engine comparison
| Area | RevenueCat Web Billing | Stripe Billing | Paddle Billing |
|---|---|---|---|
| Merchant of record | You, with Stripe as the payment gateway | You by default; Stripe can be merchant of record when using Managed Payments | Paddle |
| Products and prices | Created and managed in RevenueCat | Created in Stripe, then imported into RevenueCat | Created in Paddle, then imported into RevenueCat; Paddle prices map to RevenueCat products |
| Taxes | Optional Stripe Tax configuration in RevenueCat and Stripe | Managed in Stripe; RevenueCat reporting depends on the Stripe config tax behavior | Managed by Paddle as merchant of record |
| Trials | Configured in RevenueCat | Not yet supported in RevenueCat purchase flows; reflected for external Stripe purchases | Configured in Paddle |
| Discounts | Limited beta in RevenueCat Web Billing | Coupon entry is not yet supported in RevenueCat purchase flows; reflected for external Stripe purchases | Managed in Paddle, outside RevenueCat Web Billing |
| Customer management | RevenueCat Customer Portal | Stripe Customer Portal or a custom management URL | Paddle subscription management URLs |
| Transactional emails | Sent by RevenueCat | Sent by Stripe, except RevenueCat sends redemption emails when Redemption Links are enabled | Sent by Paddle |
| Product changes | Supported through configured Customer Portal upgrade and downgrade paths | Managed through Stripe Customer Portal or Stripe APIs | Managed by Paddle |
| Localization | Web SDK checkout localization is supported; Web Purchase Links and emails are limited | Managed by Stripe Checkout | Managed by Paddle Checkout |
| Multi-currency | Configured on Web Billing products in RevenueCat | Configured in Stripe | Configured in Paddle |
| External purchase sync | Not applicable | Supported | Supported |
| Testing model | Stripe Test Mode or Stripe Sandboxes through your Web Billing config | Stripe Sandboxes are recommended | Separate Paddle sandbox and production accounts |
RevenueCat Web Billing
Web Billing is RevenueCat's own billing engine, making it simple to sell and manage subscriptions and one-time purchases on the web without the need to configure products and prices in a separate system. It uses Stripe as a payment processor, and therefore RevenueCat does not directly handle or store credit card information. If you're getting started with web billing for your apps, it's recommended to use Web Billing for a deeper integration with the RevenueCat platform.
- It takes care of the end-to-end purchase UI, in a way that can be customized to your brand
- It manages the complete subscription lifecycle, including the recurring billing logic (instead of Stripe Billing)
- It provides a customizable customer-facing portal to manage subscriptions
You can integrate Web Billing in two ways:
Web SDK: If you run a dynamic web app and have access to the code, you should consider integrating the Web SDK, as a way to initialize purchases (similarly to RevenueCat's mobile SDKs).
Web Purchase Links: If you want a low-code way to collect payments from customers, you can use Web Purchase Links, which provide a customizable purchase flow hosted by RevenueCat. This is useful if you need to distribute payment links from static systems such as emails, social media, or a static landing page.
Current limitations
Web Billing currently has the following limitations:
- Localization: There is no support for translated content in web purchase links.
- We do not collect and store the customer's name, shipping address or full billing address. Consequently, Web Billing cannot currently be used in India and in other countries that have this requirement.
- Selling to businesses (B2B) isn't supported.
Stripe Billing
The Stripe Billing integration allows you to use Stripe Billing as the billing engine for products and subscriptions sold through RevenueCat Web. Stripe Billing can power purchases initiated through RevenueCat's Web SDK, Web Purchase Links, Web Paywalls, Web Funnels, and Redemption Links. You can also import Stripe Billing purchases that happen elsewhere, and use those to grant entitlements.
Products, subscriptions, most transactional emails*, and subscription management is all managed through Stripe. RevenueCat Web Billing features such as its own customer portal, product configuration, and tax setup do not apply when you're using Stripe Billing.
For setup steps, feature compatibility, and limitations, see Stripe Billing. If you want Stripe to act as merchant of record where supported, see Stripe Managed Payments.
*if you're using Redemption Links, the purchase redemption email is still sent by RevenueCat.
Paddle Billing
The Paddle Billing integration allows you to use Paddle as the billing engine for products and subscriptions sold through RevenueCat Web. In addition to importing external purchases, Paddle can power purchases initiated through RevenueCat's Web SDK, Web Purchase Links, Web Paywalls, Web Funnels, Redemption Links, and Web Purchase Button app-to-web flows.
RevenueCat can launch Paddle-backed purchase flows directly, while Paddle remains the billing engine and merchant of record. Paddle continues to manage subscriptions, receipts and emails, and subscription management. RevenueCat Web Billing features such as its own customer portal, product configuration, and tax handling do not apply when you're using Paddle Billing as the billing engine.
If you already have an existing Paddle Billing implementation with active subscriptions and customers, you can also import those purchases into RevenueCat and unlock entitlements for your customers.
Paddle Billing currently supports one product per purchase. Multiple products in a single purchase, including one-time setup fees attached to a subscription, are not supported.
For setup steps, supported flows, and limitations, see Paddle Billing.
Fee comparison
RevenueCat Web is included in RevenueCat's price; there are no additional RevenueCat fees to support subscriptions and purchases on the web.
If you use Web Billing, the following additional Stripe fees apply (US pricing):
- Stripe transaction fee: 2.9% + 30¢
- (optional) Stripe Tax fee: 50¢ per transaction in tax-registered locations
If you use Stripe Billing and the RevenueCat Stripe Billing integration, the following additional fees apply (US pricing):
- Stripe transaction: fee 2.9% + 30¢
- Stripe Billing fee: 0.7% of volume or $620.00 per month
- (optional) Stripe Tax fee: 50¢ per transaction in tax-registered locations
Note that Stripe fees vary per country and pricing plan, and are subject to change — refer to Stripe's Pricing page for the latest fees.