Get help with anything related to RevenueCat.
Recently active
The iOS sandbox is all messed up on my user/device - constantly hanging while getting offerings resulting in paywalls not being shown 99% of the time & if it does, should I try to subscribe it just hangs… So i try to work around this by granting entitlements from the RC dashboard. I choose SANDBOX environment, grant a subscription, and after the success message, I reload the page. Nothing there...if I toggle OFF the sandbox, the entitlement I granted is there!? Is that expected?
For our particular requirements, we need to render custom variables that are passed in at run time in the app, during the Paywall display call.Ideal Paywall Content:--------------------------------------------------------------------------------------------------RechargeBalance: 0 8 Coins short[20 coins] [★ 50 coins] [100 coins] … etc PURCHASE button --------------------------------------------------------------------------------------------------Where the user’s current balance and how many coins short are displayed, and the ★ recommended token pack is auto selected.Will RevenueCat ever support this type of use case? Or is it possible to do that now in React Native?
Hey everyone 👋We’ve recently moved to RevenueCat, and I’m trying to rebuild one of the key analytics workflows we used before- analyzing Trials, LTV, and Refunds broken down by Media Source.In our setup, the app sends attribution data using the $mediaSource field, following the RevenueCat documentation.I can see that this value (e.g. Traffic Source) is correctly displayed in each Customer Details page — so the attribution data is definitely being passed and received.However, I’m running into two issues: I don’t see a “New Chart” (+) button anywhere in the Charts section, even though I’m on the Pro plan and have the Admin role. I can’t find any way to filter or segment existing charts by $mediaSource. I’ve already tried the usual troubleshooting steps (different dashboards, cleared cache, incognito mode, no ad blockers, different browsers, etc.), but no luck.So I’m wondering: Has anyone successfully created or filtered charts by $mediaSource attribution? Any idea why the New Chart
Hey,sorry but I can not wrap my head around how people manage to not exceed their rate-limit of the API v2 if they have a lot of users on their app?Imagine this:I have 10.000 Users, a VERY low user-base in terms of possibilities in Google Play Store AND Apple App Store. I also use the Currency Function of RC, so I not only need to update the Currency via API v2 but I also need to check sometimes if the user still has enough credits on his RC-Account to either stop him from accessing token-based functions or allowing him to do so.So 1 User does 2-3 API v2 Calls to RC for accessing a Tool in my App.You see the problem? 10.000 Users but only 30 of them can use the app per Minute, since the rate-limits exceeds otherwise. How should I manage a Delay-Function in my Backend, if 1000 Users try to API-Call and Update their currency on RC? It would take 30min, till the 1000. User has done his API call.For 2000 Requests it will take 60minWhat if I have a User-Base of 100.000 or even more? is ther
I have added localization through RevenueCat which has updated the text content. I would like to change the main image for each language to help improve conversions by country. Is it possible to “localize” the image in addition to the text copy?This question was from another user, but has been closed for comments.. I need to know also?!
Hi, I know that virtual currency is in beta, but needed this for my new app and I thought I’d give it a try. I saw three issues with it so far (as you can see from this user log). This is using App Store Sandbox user on a physical device with 5 min refreshes. Issues: User gets bot the trial credit (30) and monthly credit (50) before trial credit gets deducted Sometimes user might have double the monthly credit (100) because deduction seem to be delayed. When transferring to another user using Restore Purchases, credits do not seem to transfer.I could see 1 and 2 being the case just because of the accelerated Sandbox schedule, but would like a confirmation before I go ahead and publish this if possible. Thank you! ---Deducted 50 CRD2025-10-10 at 06:34 PM UTC • Via expirationDeducted 50 CRD2025-10-10 at 06:34 PM UTC • Via expiration2025-10-10 at 06:27 PM UTCRenewed their subscription of Monthly subscription (subscription_montly_basic) for USD 9.992025-10-10 at 06:27 PM UTCGranted 50 CRD2
Hi RevenueCat Team,I'd like to suggest an improvement to the feature request process.From what I've observed, new feature ideas are currently posted as regular forum topics. While the team is responsive in acknowledging them, the threads are often closed after the request is "forwarded to the team."This process can feel like a bit of a black box for users. We don't have a way to see if a feature is being actively considered, its priority, or an estimated timeline. I personally suggested two features about a year ago, and the lack of a clear status update makes it discouraging to contribute new ideas.I propose creating a dedicated feature request portal/page. A system like this would be a huge win-win: Prioritization: It would allow users to upvote and comment on requests, giving your team a clear signal of what the community needs most. Transparency: A status (e.g., "Planned," "In Progress," "Released," "Won't Do") would keep everyone informed and manage expectations. Centralizatio
Hello,We are currently utilizing the API to track purchased products and the total balance of virtual currencies.We have noticed that detailed virtual currency transaction history is not available through the API, only via the UI.Are there any plans on the roadmap to expose the full transaction log? Additionally, it would be extremely valuable to include a reference ID field for each virtual currency transaction made through the API, allowing us to connect the transaction directly to a specific action or event, rather than relying solely on timestamps for correlation.We look forward to hearing about your API development plans.Thank you.
Recently Google introduced one time products. Do we need to update any libraries? Asking for react-native purchases specifically.
I have a new-ish app that launched about 2 months ago. I launched the app without RevenueCat, but added it about a week later. I had done a few thousand installs and trial starts during that period. As a result of adding the RevenueCat SDK late, my early data on the platform is totally messed up (missing data, incorrect subscription retention metrics, etc).Can I simply import all of my purchases (server-side, using app store server notifications which I have stored) and expect RC to handle it seamlessly? This means creating the previously unseen customers, merging the seen customers with their newly received ASSNs, etc. Else, how can I fix the bad data I have for the first week of my app?
Hi I’d like to check whats the best practice / what are developers doing to figure out what people actually payed for after using the paywall.I have two products users can choose from.A one off payment to pay for “tokens” (Consumable) A monthly subscriptionWhen a Customer pays for something, this triggers an event on `addCustomerInfoUpdateListener` To figure out If they subscribed I check ‘activeSubscriptions’ .. If a subscription is in the array then I know thats what they bought But if they choose a consumable, im looking at `nonSubscriptionTransactions` I can see a purchaseDate for each one. Do I look at the date to figure out if they just made the purchase? Whats best practice here? Thanks
Hello! I am trying to get my tabs to fill the width of their parent container. Everything in the stack is set to fill width, but it’s still not working. Can you please help?
Hi there! I’m Jon. I’m building an app for the Play Store and I was wondering if it’s possible to set up a non-renewing free trial on Android. On iOS, it’s pretty straightforward since I can just create a $0 non-consumable as the free trial. However, I don’t think it’s possible to do the same in the Play Store.I want to post on here to see if anyone else is wondering the same thing as me and what are the different ways I can set up this kind of free trial on Android.Thanks and I look forward to hearing from everyone soon! :D
Please, help. We need the answer for android and IOS.
In App Store Connect, I’ve set up one subscription group that contains the following four auto-renewable subscriptions: PREMIUM – Monthly PREMIUM – Weekly SIGNATURE – Monthly SIGNATURE – Weekly im currently testing my application in Sandbox and Testflight but when user upgrade from one plan to another as long as its not the same plan the auto renew turns off automatically im confused is it just a sandbox and testflight thing? coz the autorenew keep working 5 6 times if its the same subscription but when user upgrade or downgrade to another plan it turns off
I’ve recently migrated my React Native application from using react-native-iap for handling in-app subscriptions to RevenueCat.I’m wondering how this migration affects existing users who already purchased a subscription through the old react-native-iap setup. Specifically: Will those users automatically retain access to their premium features once I switch to RevenueCat? If not, what steps do I need to take to ensure their previously active subscriptions are recognized in RevenueCat? Do I need to do anything special (such as syncing historical purchases or importing users) for RevenueCat to detect their old subscriptions? Additionally, my app already includes a “Restore Purchases” button that previously worked with react-native-iap.If I now connect that button to RevenueCat’s restore method (Purchases.restorePurchases()), will it correctly detect and restore subscriptions that were originally made before the migration?Basically, I want to make sure that users who paid under the old
I have a couple of products that require Web Billing :Mobile App (Apple & Android) Mapped app store products for RC Web Billing with the Stripe integration, but using RevenueCat Web to handle the user flow. RevenueCat has the “Stripe Account” in my project ✅ The products “disappeared” from Stripe when I upgraded the stripe environment. As far as i can tell, everything is working… I see the subscription active in my user’s sandbox details within RevenueCat NOW, I am adding a new tier of products - for WEB ONLY - there is no mobile app reference for this I did not setup products in Stripe because it seems to work without it. However, I noticed these docs expressing that i have to have products in Stripe In order for Stripe subscriptions to unlock entitlements, you must set a Product Identifier in the desired Offering to match a Stripe product ID exactly.So - what is the real answer?Yes you have to have products in stripe No you don’t need them, but it’s a recommended
My paywall is displaying completely fine. The issue is that the images I used on the dashboard are not populating on the actual paywall on my device. The images are blank. Not sure how to fix… any help is appreciated.
The documentation says this about the Test Store API key: Switching between Test Store and Real StoresTest Store uses a separate API key from your real store API keys. This allows you to control which store your app communicates with:Test Store API Key: Use during development and testing Platform Store API Keys (iOS, Android, etc.): Use for production buildsYou can find both types of keys in Project Settings > API keys in the RevenueCat dashboard. Switch between them by changing which key you pass to the SDK configuration. However, I can only see the “SDK Api Keys” here, not the Test Store API Key.Am I looking in the wrong place?
Hi everyone,I'm facing two critical subscription issues that are happening only on Android, and I'm hoping to find a solution. Our iOS implementation is working perfectly with the same RevenueCat setup.The Setup: I'm using RevenueCat's built-in Paywalls. My app has two tiers: "Plus" (lower) and "Pro" (higher). Both the Plus and Pro packages are correctly configured within the same Offering in the RevenueCat dashboard. Both products are set up in the Google Play Console with a 7-day free trial. Problem 1: Concurrent Subscriptions on Upgrade (Android Only)If a user with an active "Plus" subscription tries to upgrade to "Pro", they end up with both subscriptions active at the same time. The old "Plus" subscription is not replaced.On iOS, the same action correctly performs an upgrade, so I know my RevenueCat Offering is set up to handle this.Problem 2: Misleading Trial Offer After First Trial (Android Only)This is causing significant user confusion on Android. Here's the flow: A new
I’m trying to design a paywall that has a base offering (e.g. 1 or 2 consumables and 1 subscription) and a subpage (“More options” link) for the consumables where I intend to display more purchase options. E.g.1st page: 10 credits 100 credits Annual subscription2nd page (for advanced users):150, 200, 300 credits monthly subscriptionThis kind of paywalls are “easy” to design in swiftui as using a NavigationLink but I cound’t find a way to do it with the paywalls v2.Is it possible somehow?
Hello, I’ve successfully setup webhooks, and it works if i send test webhook from the dashboard (i receive webhook event payload on my backend). However, from my app (expo react native), I am using a test store (ios for now), and when I make a purchase (purchase is successful and appears on the dashboard transaction list) webhook never triggers? What could be the issue here?
Hello,I can’t make my iaps listed for the first release because my iaps are not approved yet. However, iaps can only be approved by apple with the first release of app. So iaps are waiting for app’s first release while app’s first release waits for iaps approval.I can only see my iaps with mock storekit file. I want to fetch my products from revenuecat and test it locally. same problem asked here but my question is, how to see iaps at local phone before approval? WARN [RevenueCat] ⚠️ RevenueCat SDK is configured correctly, but contains some issues you might want to addressWarnings: • Your products are configured in RevenueCat but aren't approved in App Store Connect yet. This prevents users from making purchases in production. Please ensure all products are approved and available for sale in App Store Connect. • The offerings 'default' have configuration issues that may prevent users from seeing product options or making purchases.Product Issues: ⚠️ com.mamazingo.app.100stars (100
We are having issues where customers are attempting to cancel their subscription after their payment failed. But since the payment was attempted and failed, it continues to retry for up to 30 days, resulting in a very confusing customer experience: They get an email that their payment failed and subscription entered a grace period, then they get an email that they are expired since their payment continued to fail, and then much later the payment succeeds, even if they’ve tried to cancel. How can we prevent that? Is there a way to stop payment retries when the customer takes an action to cancel?
Hello RevenueCat Team,I am facing an issue where users in the United States (iOS/Android) and potentially other non-TRY regions are being shown the incorrect currency and pricing. Although the user is entering from the US, the app displays prices in Turkish Lira (₺).The Problem:Expected Behavior: US users should see prices in $ USD (e.g., $4.99/month).Current Behavior: US users are seeing ₺ TRY prices (e.g., ₺38.99/mo) which are likely pulled from the default Offering or used as a fallback price in my Dart/Flutter code.Technical Details and Observations:RevenueCat Offering Targeting Setup:Default Offering (default): Set up as the default for Turkey and other regions (likely containing TRY prices).Custom Rule: I have defined a specific targeting rule for the US and UK: IF Country = US, UK -> Show Offering for US, UK.Suspected Issue (Fallback): I suspect that the user in the US is failing to receive the specific "Offering for US, UK" and is instead falling back to the "defau
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.