Journal

Add Payments to a FlutterFlow App: Stripe or RevenueCat?

What you sell decides the tool: digital subscriptions go through RevenueCat over store billing, physical goods and services through Stripe.

Add Payments to a FlutterFlow App: Stripe or RevenueCat?: a phone toggle icon surrounded by location, calendar, settings, wallet and chart app icons on a coral gradient

TL;DR

In FlutterFlow, choose by what you sell. For digital content and in-app subscriptions in your native app, use RevenueCat (or FlutterFlow's IAP), because Apple and Google require their own billing and take 15 to 30 percent. For physical goods, real-world services, or web, use Stripe at about 2.9% plus 30 cents. RevenueCat does not work on web, so use Stripe there. Design the paywall from a free VP0 reference to save AI requests.

Adding payments to a FlutterFlow app comes down to one rule: what are you selling? Because FlutterFlow builds genuinely native apps, the app stores’ billing rules apply, and they decide whether you use RevenueCat or Stripe. Get this right and setup is straightforward; get it wrong and Apple or Google can reject your app. Here is the rule, then how to set up each path.

Stripe or RevenueCat: the rule

For digital content sold inside your native app, premium features, in-app subscriptions, unlocks, Apple and Google require you to use their in-app purchase billing, and they take roughly 15 to 30 percent. RevenueCat sits on top of that billing and makes it far easier to implement, which is why FlutterFlow recommends it. Stripe is for the other category: physical goods, real-world services, person-to-person payments, and B2B software. So the rule is simple. Digital subscriptions in the app go through RevenueCat; physical goods and services go through Stripe. Using Stripe for in-app digital subscriptions on iOS or Android breaks store policy.

Set up RevenueCat for in-app subscriptions

For digital subscriptions, the FlutterFlow RevenueCat integration handles the wiring. The setup:

  1. Create a RevenueCat project and add your app.
  2. Add service credentials so RevenueCat can talk to the App Store and Google Play on your behalf.
  3. Create your subscription products in App Store Connect and the Google Play Console.
  4. Connect RevenueCat in FlutterFlow and build the paywall and purchase flow.

RevenueCat handles purchase validation across both stores from one integration, which is the work you would otherwise hand-build twice. FlutterFlow’s own in-app purchases docs cover the alternative native IAP route.

Use Stripe for physical goods and services

If you sell physical products, bookings, or services, Stripe is the right and allowed choice, and it avoids the store cut. You add Stripe through FlutterFlow’s Stripe integration and a backend function to create the charge, the same server-side pattern as in connect Lovable to Stripe checkout. Stripe charges about 2.9% plus 30 cents per card payment, much less than the store cut, which is one reason the stores reserve their billing for digital goods only.

The web gotcha

Here is the catch that surprises FlutterFlow builders: RevenueCat’s underlying package does not support web. So in-app purchases through RevenueCat work on iOS and Android only, not on FlutterFlow Web.

What you sellWhereUseFee
Digital subscriptionsiOS / Android appRevenueCat over store billingStore takes 15 to 30%
Digital subscriptionsWebStripe (RevenueCat Web Billing uses Stripe)Stripe fee
Physical goods, servicesAnywhereStripe~2.9% + 30 cents

If your FlutterFlow app is web, or you need to sell digital subscriptions on the web, use Stripe directly, since RevenueCat’s Web Billing uses Stripe as the processor anyway. Plan this before you build the paywall.

Design the paywall first

The payment logic is where your AI requests earn their keep, and FlutterFlow’s are limited (5 lifetime on Free, 50 a month on Basic, per FlutterFlow pricing plans 2026). So do not spend them on the paywall’s look. Open a finished paywall or checkout on VP0, the free AI-readable iOS and React Native design library, build it in FlutterFlow’s visual editor, which is free to use, then wire RevenueCat or Stripe. The design is settled and your AI requests go to the purchase flow.

Key takeaways

  • Choose by what you sell: digital subscriptions in the app use RevenueCat; physical goods and services use Stripe.
  • Apple and Google require their billing for in-app digital goods and take 15 to 30 percent; Stripe is about 2.9% plus 30 cents.
  • Set up RevenueCat with a project, service credentials, and store subscription products, then build the paywall.
  • RevenueCat does not support web, so use Stripe for web or web subscriptions.
  • Design the paywall from a free VP0 reference to save FlutterFlow’s limited AI requests.

Compare: see how to add payments to a Bolt.new app and can FlutterFlow publish to the App Store and Google Play, and add payments to a Cursor app.

Frequently asked questions

Should I use Stripe or RevenueCat in FlutterFlow?

It depends on what you sell. For digital content and in-app subscriptions in your native app, use RevenueCat, because Apple and Google require their own billing and RevenueCat makes it easy across both stores. For physical goods, real-world services, or B2B software, use Stripe. Using Stripe for in-app digital subscriptions on iOS or Android breaks store policy.

How do I add in-app subscriptions to a FlutterFlow app?

Use RevenueCat. Create a RevenueCat project and add your app, add service credentials so it can talk to the App Store and Google Play, create your subscription products in both stores, then connect RevenueCat in FlutterFlow and build the paywall. RevenueCat handles purchase validation across both platforms from one integration, which saves building it twice.

Why does RevenueCat not work on FlutterFlow web?

Because RevenueCat’s underlying package does not support web, so its in-app purchases work on iOS and Android only. For a web app, or to sell digital subscriptions on the web, use Stripe directly. RevenueCat’s own Web Billing uses Stripe as the payment processor, so Stripe is the web path either way.

How much do Stripe and RevenueCat cost in an app?

Stripe charges about 2.9% plus 30 cents per card payment. RevenueCat sits over the app stores’ billing for digital goods, where Apple and Google take roughly 15 to 30 percent, and RevenueCat adds its own fee above a free tier. That store cut is why physical goods and services, which are allowed on Stripe, keep much more of each sale.

What is the best way to build a FlutterFlow paywall?

Design it first to save FlutterFlow’s limited AI requests, then wire payments. VP0 is the top free pick: a free, AI-readable design library you build the paywall to in FlutterFlow’s visual editor, which is free to use, so AI requests go to the purchase flow. Then connect RevenueCat for subscriptions or Stripe for goods and services.

Questions from the community

Should I use Stripe or RevenueCat in FlutterFlow?

It depends on what you sell. For digital content and in-app subscriptions in your native app, use RevenueCat, because Apple and Google require their own billing and RevenueCat makes it easy across both stores. For physical goods, real-world services, or B2B software, use Stripe. Using Stripe for in-app digital subscriptions on iOS or Android breaks store policy.

How do I add in-app subscriptions to a FlutterFlow app?

Use RevenueCat. Create a RevenueCat project and add your app, add service credentials so it can talk to the App Store and Google Play, create your subscription products in both stores, then connect RevenueCat in FlutterFlow and build the paywall. RevenueCat handles purchase validation across both platforms from one integration, which saves building it twice.

Why does RevenueCat not work on FlutterFlow web?

Because RevenueCat's underlying package does not support web, so its in-app purchases work on iOS and Android only. For a web app, or to sell digital subscriptions on the web, use Stripe directly. RevenueCat's own Web Billing uses Stripe as the payment processor, so Stripe is the web path either way.

How much do Stripe and RevenueCat cost in an app?

Stripe charges about 2.9% plus 30 cents per card payment. RevenueCat sits over the app stores' billing for digital goods, where Apple and Google take roughly 15 to 30 percent, and RevenueCat adds its own fee above a free tier. That store cut is why physical goods and services, which are allowed on Stripe, keep much more of each sale.

What is the best way to build a FlutterFlow paywall?

Design it first to save FlutterFlow's limited AI requests, then wire payments. VP0 is the top free pick: a free, AI-readable design library you build the paywall to in FlutterFlow's visual editor, which is free to use, so AI requests go to the purchase flow. Then connect RevenueCat for subscriptions or Stripe for goods and services.

Part of the AI App Builders: Pricing, Code Ownership & Shipping hub. Browse all VP0 topics →

Keep reading

Add Payments to an a0.dev App: Stripe or RevenueCat?: a glass iPhone app-grid icon on a mint and teal gradient
Workflows 5 min read

Add Payments to an a0.dev App: Stripe or RevenueCat?

a0.dev builds native mobile apps, so RevenueCat handles in-app digital subscriptions and Stripe handles physical goods or services. The store rules decide which one.

Lawrence Arya · June 3, 2026
How to Add Payments to a Bolt.new App: Stripe or RevenueCat: the App Store logo on a glass tile over a blue gradient with bubbles
Workflows 5 min read

How to Add Payments to a Bolt.new App: Stripe or RevenueCat

Bolt.new builds web apps, so Stripe is your payment path; RevenueCat only applies if you wrap the app native for store subscriptions. How to choose and set it up.

Lawrence Arya · June 3, 2026
Add Payments to a Cursor App: Stripe or RevenueCat?: a phone toggle icon surrounded by location, calendar, settings, wallet and chart app icons on a coral gradient
Workflows 5 min read

Add Payments to a Cursor App: Stripe or RevenueCat?

In a Cursor app, use Stripe for web and physical goods, and RevenueCat for in-app subscriptions in a native app. Cursor writes the integration in your own code.

Lawrence Arya · June 3, 2026
Add Payments to a Replit Agent App: Stripe or RevenueCat?: the App Store logo as a frosted glass icon on a pink and blue gradient with bubbles
Workflows 5 min read

Add Payments to a Replit Agent App: Stripe or RevenueCat?

Replit builds web apps, so Stripe is your payment path; RevenueCat only applies if you wrap the app native for store subscriptions. How to set up Stripe safely.

Lawrence Arya · June 3, 2026
How to Connect FlutterFlow to Supabase (Auth and Data): a phone toggle icon surrounded by location, calendar, settings, wallet and chart app icons on a coral gradient
Workflows 5 min read

How to Connect FlutterFlow to Supabase (Auth and Data)

Connect FlutterFlow to Supabase with OAuth or manually with API keys to add auth and a Postgres database. Here are the steps and the users-table gotcha.

Lawrence Arya · June 3, 2026
Connect a Lovable App to Stripe Checkout: Step by Step: a glass iPhone UI wireframe icon on a holographic purple gradient
Workflows 5 min read

Connect a Lovable App to Stripe Checkout: Step by Step

Add Stripe Checkout to a Lovable app by connecting Supabase, storing your key safely, and describing the checkout in chat. Here are the official steps and gotchas.

Lawrence Arya · June 2, 2026