Get help with anything related to RevenueCat.
Recently active
I’ve created an Offering with 3 packages, each of which has a Test Store product in it.In the app, I’m initializing using the Test Store API key.When retrieving the Offering details, I’m not seeing all three packages - only two of them. The missing one is for a subscription product, while the ones I’m seeing are non-consumables. However, I’m not sure that this is relevant.Is there any cacheing taking place, or delay in publication of updates to the product catalogue? I’ve tried restarting the app and also waiting several hours, but still no joy.The Packages and Products look OK, but could I be missing a vital configuration item? Any pointers would be appreciated.Note that I’m using the Maui.RevenueCat.InAppBilling abstraction, as this is in a MAUI app.
Problem DescriptionI'm experiencing Error 23 during Apple's App Store review process and need clarification on the proper approach for handling paywalls when subscription products are still pending approval.Current Situation:Products in App Store Connect: Status = "Waiting for Review"RevenueCat Configuration: Correctly configured with valid API keyBundle ID: Matches exactly across Xcode, App Store Connect, and RevenueCatProducts: properly configuredXcode Error: “ERROR: 😿‼️ There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-empty” Iphone error: The Issue:Apple reviewers report they cannot successfully sign in because:User signs in with Apple ✅Success screen appears ✅User clicks "Let's get started
I’m looking at adding Customer Center to our app. When you show Customer Center for a user that doesn’t have an active subscription there is a “Contact Support” button that is visible, however that button is not present for users who do have an active subscription. How can I get the “Contact Support” button to show up in Customer Center for users that do have an active subscription? Seems like this would be something you would want users to be able to do even if they have a subscription for issues not addressable directly by the Customer Center UI.
Superwall has an extremely powerful feature that boosts the revenue significantly: When a user rejects the native store subscription modal, it sends an "abandoned cart" event that allows you to trigger opening another paywall with a downsell offer. It allows you to recover many users and increase revenue drastically.
Hi RevenueCat Team,I’m using RevenueCat in my Flutter app for Apple in-app purchases. I noticed the following behavior: In RevenueCat (and when fetching offerings), the price is displayed in USD. When I actually make a purchase, Apple converts it to my local currency (AUD) and charges correctly. I understand that Apple handles the final purchase currency, but I’d like the price displayed in my app to reflect the localized currency rather than USD.Currently, I’m fetching the product and showing the price like this:final Offerings offerings = await Purchases.getOfferings();monthlyPrice.value = offerings.current?.monthly?.storeProduct.priceString ?? "";Is there a recommended way in RevenueCat to display the localized price (AUD) in Flutter so it matches what the App Store will charge?Thanks for your guidance!
Same code, works on iOS, not working on Android."react-native": "0.79.5""expo": "~53.0.20"Android:“activeSubscriptions": []iOS"activeSubscriptions": ["hey_roar_cinema_pass", "hey_roar_creator_pass", "hey_roar_unlimited"]
I’m attempting to make my flutter app available on MacOS as well as iOS and currently use the RevenueCat paywalls with the purchases_ui_flutter package.Unfortunately the purchases_ui_flutter package does not support MacOS, is there a plan to add RC paywall support in the near future? If not is the recommended way to continue using RC paywalls for MacOS to build via a Catalyst app instead of direct MacOS?
really love using revenue cat but there is one foundational feature missing which is super annoying for us. we are using it in our native app and our nextjs web app and created separate offerings. we need discount codes to set up our partner program and hand out special discounts in email campaigns. as i see it, this doesn’t exist yet which is a dealbreaker for any serious b2b company. so requesting you guys to add this asap. the mvp of this would be just linking discount codes to a given product. stripe offers this as well so api changes shouldn’t be so hard.
In my app’s onboarding flow a user can claim a referral code, which changes their offering via WinWinKit. On the next step of onboarding purchase screen is shown, but the old offering is shown.I figured that offerings are loaded and cached at initialization of the SDK, but why can’t I clear the cache or force load them?I tried using invalidateCustomerInfoCache and checked its implementation, but it won’t do the thing.Also found similar questions in the community, both marked as resolved, but can’t find a solution for myself.
I only recently updated Xcode to 26.0. While adding some features to my app, everything was running fine in the simulator. But when I tried to run it on an external device running iOS 26, I start getting this error:Concurrency is only available in iOS 13.0.0 or newerI’ve tried to Clean Build Folder to no avail.Now when trying to run in simulator I’m getting this error.Stored properties cannot be marked potentially unavailable with '@available' Any suggestions?
im getting Associated Entitlements but im not getting Associated Offerings in revenue cat subscriptions android app i got entitlement already but not the offerings!! while on ios it is working fine!im stuck here from few weeks couldnt get how to do?this is what i face in app[RevenueCat] ₹!! Error fetching offerings ⁃ PurchasesError(code=ConfigurationError, underlyingErrorMessage=There are no products registered in the RevenueCat dashboard for your offerings. If you don't want to use the offerings system, you can safely ignore this message. To configure
Hi, so currently I have a few TestFlight users who have subscribed to my app through the sandbox. When I push the app to the iOS App Store, I would like these same users to retain their memberships.Is this the default or do I have to do something behind the scenes to allow this to happen?Thanks!
If I am not mistaken, the GDPR requires apps to delete personal data after a set period of inactivity (e.g. 1 or 2 years), because of the Storage Limitation principle. I wonder how other apps handle this, and if this means I would need to track users with an in-app user_id, and save each time they open the app on a backend to delete them after being inactive for 1 or 2 years.
Hi everyone,I’m currently integrating RevenueCat with Firebase Analytics and Google Analytics 4 (GA4). The setup seems fine, but after checking in Firebase Analytics and GA4, I don’t see any RevenueCat events coming through.A couple of questions: Is there a list of the event names that RevenueCat sends to Firebase/GA4? How long does it usually take for events to appear after integration? Is there any specific configuration required on the Firebase or GA4 side (other than linking the SDKs)? I couldn’t find any documentation that clearly lists which events RevenueCat pushes to Firebase/GA4, so any guidance or experience would be appreciated.Thanks in advance!
I’m hitting what looks like a gap in the RevenueCat v2 API and wanted to sanity-check with others + give RC more visibility.Context I rely on canonicalizing App User IDs across anonymous IDs and migrations. The Dashboard correctly shows: Original App User ID All App User IDs (aliases) Webhooks also include original_app_user_id and a full aliases[] array. Problem (v2 API) GET /v2/projects/{project_id}/customers/{id} returns a minimal customer object. No original_app_user_id No aliases Calling GET /v2/projects/{project_id}/customers/{id}/aliases with a non-canonical alias often returns only that same ID (i.e. not the full alias graph the Dashboard shows). Result: the Dashboard and webhooks have the correct graph, but the v2 “Get customer” read doesn’t expose it, and the aliases endpoint behaves as if it’s scoped to the ID you queried rather than the canonical grouping. Expected Either GET /customers/{id} includes original_app_user_id (and optionally aliases), or
Hey, I have implemented the RevenueCat with my Expo / React Native app. Everything is working correctly except when I invoke the paywall, instead of my published one - I just see the default RevenueCat paywall. I checked logs and it looks like this: 09-27 21:38:21.900 3704 3704 E [Purchases]: Missing string localization for property with id: 'VFL_T8xgne', for locale: 'en_US'.09-27 21:38:21.900 3704 3704 E [Purchases]: Missing string localization for property with id: 'VFL_T8xgne', for locale: 'en_US'.09-27 21:38:21.900 3704 3704 E [Purchases]: Missing string localization for property with id: '0B1RuOuUwn', for locale: 'en_US'.09-27 21:38:21.900 3704 3704 E [Purchases]: Missing string localization for property with id: '0B1RuOuUwn', for locale: 'en_US'.09-27 21:38:21.900 3704 3704 E [Purchases]: Displaying default template due to validation errors.09-27 21:38:21.913 3704 3704 W [Purchases]: Could not process value for variable 'sub_offer_duration' for package '$rc_annual'.
My wife opened her installation of the app we are developing yesterday and was directed to the paywall page, even though she has an active subscription. I looked at it, very puzzled, and then decided to try the “restore” link in the paywall screen. After a couple of seconds a dialog box came up indicating the restore was successful and after dismissing it the app functioned as expected. My understanding was that the restore link is only necessary when installing the app on a new phone or other similar situation. This occurred under “normal” conditions. It was very confusing to her and I am worried about users encountering this who are not married to one of the developers. Can someone explain to me why this might occur and if there are any steps I can take to avoid it from happening under “normal” circumstances? Thank you.
I am building a Flutter app.I have a subscriptions offering which includes subscriptions.I also have a ‘credits’ offering which has one time purchase products which gives users different amount of credits.Is my understanding correct that I can create 2 paywalls for these 2 offerings? Can I add a link in these a paywalls which takes the user to the other paywall? E.g. a button saying “purchase credits w/o subscription” and “subscribe for better deals”. How can I do this?Thanks a lot for your help!
I’m facing an issue with RevenueCat integration in my app. On iOS Simulator, using StoreKit configuration, the purchase flow works correctly when I tap the purchase button. On a real iOS device (via TestFlight), tapping the purchase button does nothing — there is no response or error shown. On Android (both emulator and real device), everything works fine. So the problem only occurs on a real iOS device through TestFlight.Has anyone experienced this before? Why would the purchase button not trigger anything on TestFlight, even though it works in the simulator?Any guidance or suggestions on what I should check for iOS would be greatly appreciated.
We are implementing a gift code redemption feature for our app, integrating with Airtable for code validation and RevenueCat for entitlement management. The backend is built with Strapi (Node.js), and the app is Kotlin Multiplatform (Android & ios). We have two plans monthly and annual. **The Flow:** 1. User redeems a gift code in the app 2. App calls our backend `/api/grant-entitlement` endpoint 3. Backend validates the code in Airtable 4. Backend attempts to grant an entitlement via RevenueCat API **The Problem:** We are consistently encountering a **500 Internal Server Error** from our backend (`dev-api.myatlas-health.com/api/grant-entitlement`) when it tries to call the RevenueCat API. **Debugging Steps Taken:** 1. Initially attempted to use RevenueCat v2 grant endpoint with `expires_at` 2. Discovered that RevenueCat does not have a v2 grant endpoint (404 error) 3. Switched to RevenueCat v1 promotional endpoint: `/v1/subscribers/{userId}/entitlements/{entitlementId}/p
We are implementing a gift code redemption feature for our app, integrating with Airtable for code validation and RevenueCat for entitlement management. The backend is built with Strapi (Node.js), and the app is Kotlin Multiplatform (Android & ios). We have two plans monthly and annual.**The Flow:**1. User redeems a gift code in the app2. App calls our backend `/api/grant-entitlement` endpoint3. Backend validates the code in Airtable4. Backend attempts to grant an entitlement via RevenueCat API**The Problem:**We are consistently encountering a **500 Internal Server Error** from our backend (`dev-api.myatlas-health.com/api/grant-entitlement`) when it tries to call the RevenueCat API.**Debugging Steps Taken:**1. ✅ Initially attempted to use RevenueCat v2 grant endpoint with `expires_at`2. ❌ Discovered that RevenueCat does not have a v2 grant endpoint (404 error)3. ✅ Switched to RevenueCat v1 promotional endpoint: `/v1/subscribers/{userId}/entitlements/{entitlementId}/promotional`4. ❌
We are seeing very strange issue in our app where peopple are starting trial of $4.99 product and getting charged for $199 yearly product. We are not able to understand this issue. Is this superwall issue or apple? here is the video explaination - https://www.dropbox.com/scl/fi/9pbt5mvhg0eel46kchwx2/IssueRevenue.mov?rlkey=vlgi5ro274m9u8q0kavlkqm3y&st=yce7hqub&dl=0
I am currently integrating RevenueCat's Web Purchase Links into my Webflow project for handling subscriptions. According to the RevenueCat documentation, I need to append app_user_id as a query parameter to the purchase link to associate the purchase with the correct authenticated user.Here is the link format I am using: https://pay.rev.cat/sandbox/rim********dasa/?app_user_id=897274573489Any guidance or suggestions would be greatly appreciated!
Looking for a RevenueCat expert to implement our subscription management and in-app purchase system across iOS and Android applications. Need assistance with:SDK integration and configuration for both platforms Product setup with subscription tiers, trial periods, and pricing strategies Webhook implementation for real-time subscription events Analytics dashboard configuration for revenue tracking and cohort analysis Customer lifecycle management including churn prevention and win-back campaigns A/B testing setup for paywall optimization and conversion improvemen
Hi everyone,This is my first time using RevenueCat. I’ve updated an image header on paywall. however on my phone it shows low resolution. it looks perfectly fine on the paywall editor. I have tried PNG and JPG, different resolution, etc. Can somebody shed a light where I can take a look? RevenueCat SDK Xcode [5.39.0]thanks,Wai Hong
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.