RevenueCat makes in-app purchases and subscriptions possible with FlutterFlow based apps. With RevenueCat, you can make certain features paid. Setting it up was non trivial, as it involved systems from Apple, Google, RevenueCat and in this case Flutter tools provided by FlutterFlow. I have it working in an app built with FlutterFlow which is published in the App Store and Google Play now so I know it can be done. Once everything is set up I fear it will be quite brittle and difficult to diagnose issues but thats where we are given the number of inter-connected platforms in the mobile market. It is also quite difficult to remember all the moving parts so this article is really my documentation as much as anything. Anyhow before you write a line of code or do any FlutterFlow work you need to take care of the foundations carefully.
TL:DR — It takes a lot of effort to make a FlutterFlow app handle in app purchases. This is not really a FlutterFlow problem. More that there are many moving parts from different software and cloud vendors and a whole new set of terminology to understand.
Contents
- Setting up the App Store, Google Play and RevenueCat project settings for In-app purchases in FlutterFlow apps
- RevenueCat
- Project settings
- Adding an app
- App Store
- Create an App Store Connect App-Specific Shared Secret
- Google Play
- Create Google Play credentials
- Google Cloud Platform
- Create a Google service account
Setting up the App Store, Google Play and RevenueCat project settings for In-app purchases in FlutterFlow apps
RevenueCat
Project settings
RevenueCat uses a system of Entitlements to control access to premium features, and Offerings to manage the set of products you offer to customers. You can learn more about Entitlements in RevenueCat at https://www.revenuecat.com/docs/getting-started/entitlements.
Adding an app

Navigate to the Apps settings for your project in the RevenueCat dashboard. To add a new product, click the App store or Play Store button and enter the product identifier exactly as it appears in the store. These product identifiers are the link between RevenueCat, and Apple, Google, Stripe, or Amazon.
App Store
Create an App Store Connect App-Specific Shared Secret
Sign in to App Store Connect to generate an App-Specific Shared Secret, which will allow RevenueCat to connect with Apple as your app. The app-specific shared secret is a unique code to receive receipts for only this app’s auto-renewable subscriptions.

- Log in to App Store Connect.
- Navigate to "My Apps" and select your app.
- Select "In-App Purchases" from the left side menu.
- Select App-Specific Share Secret from the right side above your in-app products.
- Generate and copy your shared secret.
- In Apple App Settings in RevenueCat add the shared secret.
Google Play
Create Google Play credentials
In Android App Settings in RevenueCat add the Google Play App name and package name. You'll also need to create a service account and upload the credentials JSON. (as an admin for your google play developer account).

Google Cloud Platform
Create a Google service account
- Choose Setup > API access

Screenshot of Google Play Console with Setup > API selected - You may have to link a project and agree to the terms
- Click Create a new service account
- Follow the link to the Google Cloud Console (it opens another window)

Google Cloud Platform Service Accounts screenshot - Click Create Service Account at the top, in blue, hard to see!
- Create the service account key credentials

Screenshot of Service Account details - Name the service account and add two roles, Pub/Sub Admin (to enable Platform Server Notifications) and Monitoring Viewer (to allow monitoring of the notification queue)

Google Cloud Platform Service Account roles - Click Continue, then Done
- Refresh to see your new service account
- Create and download the public key, Choose 'Actions > Manage Keys'
- Select ADD KEY > Create new key

Google Cloud Platform Service Account key - Make sure JSON is selected and select Create to create and download the JSON key.

Google Cloud Platform Service Account JSON - The downloaded JSON key is what you will need to enter in RevenueCat
- Back in the Google Play Console, select Grant Permissions (under Setup > API Access) on the newly created RevenueCat service account
- Send the invite. Service accounts auto accept invites like this
- You will be redirected to Users and Permissions where you should see your newly created service account as Active.
- In Users and Permissions, select the service account and add your apps to the account. Select Apply.
- Now Save!
- Over in RevenueCat App Open, copy and paste the credentials JSON that you downloaded into your app settings in the RevenueCat dashboard. You can find your app under Project Settings > Apps.
- And rest! If you did all that you completed all the messy wiring up between RevenueCat Google Play Console, and Google Cloud Platform. Awful isnt it!