---
title: "RevenueCat Flutter SDK adds web support"
description: "Flutter developers can now use RevenueCat to manage subscriptions across web, mobile, and desktop platforms."
language: "en"
publishedAt: "2025-05-27T14:22:49Z"
updatedAt: "2025-05-27T14:22:49Z"
authors:
  - name: "Jeffrey Bunn"
    url: "https://www.revenuecat.com/blog/author/jeffrey-bunn"
  - name: "Perttu Lähteenlahti"
    url: "https://www.revenuecat.com/blog/author/perttu-lahteenlahti"
category: "Engineering"
categoryUrl: "https://www.revenuecat.com/blog/engineering"
readingTime: 2
canonical: "https://www.revenuecat.com/blog/engineering/flutter-sdk-web-support"
---

# RevenueCat Flutter SDK adds web support

Flutter developers can now use RevenueCat to manage subscriptions across web, mobile, and desktop platforms.

## Table of contents

- [Step 1: Configure RevenueCat Web](#step-1-configure-revenuecat-web)
- [Step 2: Configure Web Products](#step-2-configure-web-products)
- [Step 3: Upgrade the RevenueCat Flutter SDK](#step-3-upgrade-the-revenuecat-flutter-sdk)
- [Step 4: Enable Web in Your Flutter Project](#step-4-enable-web-in-your-flutter-project)
- [Step 5: Configure the Web Platform in the SDK](#step-5-configure-the-web-platform-in-the-sdk)
- [Step 6: Test the Web Purchase Flow](#step-6-test-the-web-purchase-flow)
- [Step 7: Handle Limitations](#step-7-handle-limitations)
- [Build once, deploy everywhere](#build-once-deploy-everywhere)

The RevenueCat Flutter SDK now includes support for Flutter Web. Developers can configure web entitlements, set up web-specific products and offerings, and use a new Web Billing API key to integrate RevenueCat’s purchase flow across platforms including iOS, Android, macOS, and now the web.

One of Flutter’s biggest strengths is its ability to compile on mobile (iOS, Android), desktop (macOS, Windows, Linux), embedded platforms, and even the web.

With a single code base and the help of the RevenueCat SDK, developers can release a seamless multi-platform experience for their customers, allowing them to access their entitlements across devices and platforms.

Until now, the RevenueCat Flutter SDK hasn’t supported Flutter web apps. This meant that Flutter developers wanting to release a web app would have to manually fetch entitlements and subscription status and integrate a custom web checkout experience.

**Flutter developers can now target the web platform, and the RevenueCat SDK will work seamlessly, just as it already does on iOS, Android, and macOS.**

Here’s how to set up your Flutter project for web support.

## Step 1: Configure RevenueCat Web

Select your project in the [RevenueCat Dashboard](https://app.revenuecat.com/overview), and add the [RevenueCat Web Billing payment provider](https://www.revenuecat.com/docs/web/web-billing/web-sdk#app-configuration).

![](https://cdn.sanity.io/images/c3qnx9b0/production/3baf4ca5e6157acbda0580bdb38a3164b8d25f54-1870x1362.png)

You’ll then need to connect your Stripe account, set the default currency, and add app and brand information that will appear in the web checkout experience. Detailed instructions for setting this up are available [here](https://www.revenuecat.com/docs/web/web-billing/web-sdk#general-setup).

## Step 2: Configure Web Products

Unlike mobile platforms, you can create web products directly in the RevenueCat dashboard. [Create the products](https://www.revenuecat.com/docs/web/web-billing/web-sdk#product-configuration), [add them to your offerings](https://www.revenuecat.com/docs/offerings/overview#adding-packages), and [attach them to the relevant entitlements](https://www.revenuecat.com/docs/getting-started/entitlements#attaching-products-to-entitlements).

## Step 3: Upgrade the RevenueCat Flutter SDK

Open your Flutter project and update your RevenueCat Flutter SDK dependency in your pubspec.yaml file to [9.11.0](https://pub.dev/packages/purchases_flutter/versions/9.11.0)

```dart
dependencies:

\u00a0\u00a0purchases_flutter: ^9.11.0
```

Then, fetch the updated package.

```dart
flutter pub get
```

## Step 4: Enable Web in Your Flutter Project

Ensure your Flutter app can build for web. Run the following command in your Flutter project and ensure all dependencies in your pubspec.yaml file also support web.

```dart
flutter create . --platforms web
```

## Step 5: Configure the Web Platform in the SDK

Using your new [RevenueCat Web API key](https://www.revenuecat.com/docs/projects/authentication#finding-api-keys) from the dashboard, modify your SDK configuration code to provide this API key when the platform is web.

```dart
import 'dart:io' show Platform;

\/\/...

Future<void> initPlatformState() async {

\u00a0\u00a0await Purchases.setLogLevel(LogLevel.debug);

\u00a0\u00a0PurchasesConfiguration configuration;

\u00a0\u00a0if (kIsWeb) {

\u00a0\u00a0\u00a0\u00a0configuration = PurchasesConfiguration(<public_rc_web_billing_api_key>);

\u00a0\u00a0} else if (Platform.isAndroid) {

\u00a0\u00a0\u00a0\u00a0configuration = PurchasesConfiguration(<public_google_api_key>);

\u00a0\u00a0} else if (Platform.isIOS) {

\u00a0\u00a0\u00a0\u00a0configuration = PurchasesConfiguration(<public_apple_api_key>);

\u00a0\u00a0}

\u00a0\u00a0await Purchases.configure(configuration);

}
```

## Step 6: Test the Web Purchase Flow

As with mobile and desktop platforms, you can continue to call purchasePackage on your paywall to initiate the purchase flow.

Instead of the native in-app purchase checkout, you’ll now see a web-specific checkout experience fully handled by RevenueCat.

![](https://cdn.sanity.io/images/c3qnx9b0/production/df1939e065da292bf3091d78839b0a2f70e5927b-1999x1101.png)

## Step 7: Handle Limitations

The following functionality isn’t yet supported in the RevenueCat Flutter SDK when the platform is web:

- Product operations (get/purchase products)
- Restoring purchases (Purchases can be restored using Web Billing’s built-in mechanisms)
If your mobile app uses these methods, add a web platform check and handle them appropriately.

```dart
Future unsupportedMethodOnWeb() {

\u00a0\u00a0if (kIsWeb) return; \/\/ or throw an error

\u00a0\u00a0...

\u00a0\u00a0\/\/ continue with non-web functionality

}
```

Please note that [Paywalls](https://www.revenuecat.com/docs/tools/paywalls-v2), [Customer Center](https://www.revenuecat.com/docs/tools/customer-center/customer-center-integration), and other features from the [purchases_ui_flutter](https://pub.dev/packages/purchases_ui_flutter) package aren’t yet available on the web.

## Build once, deploy everywhere

We’re big fans of Flutter here at RevenueCat and are happy to support Flutter developers expanding their apps to the web. We hope you enjoy this new capability!
