Get help with anything related to RevenueCat.
Recently active
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
I have an appointment scheduling app for Android and iOS.I’m thinking about implementing a virtual currency to allow my customers to purchase SMS credits that they can use to send automated SMS reminders to their clients who are scheduling appointments. And I’ve asked the ChatGPT if I’m breaking some kind of rules regarding that implementation. I’ve received an answer:From App Store Review Guidelines §3.1.3(b) – Goods and Services Outside of the App:"If your app enables people to purchase physical goods or services that will be consumed outside of the app, you must use methods other than in-app purchase to collect those payments."Does that mean I cannot use in-app purchase to sell these SMS credits? What’s the best workaround?Also, AI gave me this answer, is it true?No, you cannot sell SMS credits through RevenueCat (or Apple/Google in-app purchases), because SMS credits represent a real-world service, not a digital in-app feature.However, you can use RevenueCat’s new virtual currency
Is anyone getting random RevenueCat errors during App Store review? My app has spent the last week or so going back and forth with the App Store review team and getting rejected for various reasons. I can see that during this process, they have successfully been able to subscribe to my app.Now, at the final hurdle, they suddenly get an “Error 23: There is an issue with your configuration” error when loading the paywall. This worked perfectly fine all week, and I can’t recreate this error. Anyone having similar bouts of random errors?
Is there a way to strictly see my MRR / ARR of exclusively those subscriptions that are active and uncancelled? I don’d understand why inactive subscriptions would be included in a recurring number, if they were effectively a one time payment.
I am using Bubble.io with Natively wrapper, following the guides and youtube videos to setup everything, however it is not working, nothing happens after clicking the purchase button, the in app purchase pop up didn’t even show, nothing happened. I wonder if the SDK installation do anything with this? do i have to install the sdk first, but bubble is a no-code platform, or natively did that for me already? any natively users can help me out?
hello. im building the app mostly in flutterflow and im hitting the wall . offers are not showing no matter what i do . it was setup about 10 days ago so they should show .What’s implemented FlutterFlow → RevenueCat integration enabled. Android Public SDK key (goog_…) set. iOS Public SDK key (appl_…) set (for later). “Load data after App Launch” enabled. RevenueCat project config. Offering default published. Package $rc_monthly attached to Android product premium_monthly:monthly and iOS product. Entitlement premium mapped to that package. Hosted paywall published (but we’re using purchasePackage). Google Play Console. App id: com.klikin.app (matches RC app + build). Subscription premium_monthly with base plan monthly is Active/Published. Countries: ~173 (includes Switzerland). Payments profile: Active. Test track: Closed/Internal; app installed via testing link (not search). Tester (my Google account): added and accepted.
Hi RevenueCat team,I accidentally deleted my production project while cleaning up old projects. 😭 I've already contacted support but haven't received a response yet. CURRENT SITUATION:- Created a new project with new API Key- App is configured correctly (same Bundle ID, products, shared secret)- I have 10 paying customers with ACTIVE subscriptions in their Apple accounts- Customer Center's "Restore Purchase" button is NOT working- Tested on a real device with my own active subscription- restore failsCRITICAL ISSUE:When I test restore purchases using Customer Center, it doesn't find the previous subscription even though:✅ The subscription is active in iPhone Settings > Subscriptions✅ Same Apple ID✅ Same device✅ Products configured with exact same IDsQUESTIONS:1. Is there ANY way to recover a deleted production project? (urgent!)2. If not recoverable, why isn't restore working between old project and new project? The receipts should still be on the device.3. Will my customers lose ac
When I try to fill my badge with a text it doesn’t appear, the badge stays empty and I tried to delete and recreate it, tried many others things as well. Nothing seems to work, what is wrong with it?
I’m trying to build a ‘tipping’ system like Youtube where users can tip during a livestream. The tip value will determine different factors like how long the message gets pinned, or what colors and emojis are used to display the message. I wanted to attach some metadata to my products in Revenuecat to do this, but it seems like that isn’t allowed.Is there any way of achieving this via Revenuecat without implementing any logic in my backend system?
I have tried searching, but I wasn’t able to find a clear answer.I want to have a custom experience for a feature available within our web app only: Pro & Plus plans, each with monthly & yearly time periods. So far I have:added my products to the product-catalog: widget_annual_pro widget_annual_plus widget_monthly_pro widget_monthly_plus Then I have created 2 new entitlements: widget_pro widget_plus Then I try to create an offering, I successfully get the first “Monthly” product, “Plus”. but I cannot select more than 1 “Monthly” time period to add “Pro”: So, how do I create the offering?
Hi, not the first time I launch an app with RC, but first time I got Billing Errors, and in a too high number! People get the 3-day free trial, but then many of them end up with a Billing Error. How to explain this? 100% users are in the US.
Hi All,Did anyone of you had this problem with Paywall? One of our users reported that he can’t proceed due to a fact that the paywall is broken and doesn’t contain any action (purchase/proceed) button. We have asked for a print screen ant it look horrible indeed. User was: Samsung Galaxy m23 5G/ Android 14/ One UI 6.1 (probably on a large screen view). Broken View:Normal view:
Hello,My app uses Firebase Anonymous Authentication exclusively. When a user with an active subscription restores their purchase on a new device, they get a new anonymous user ID.Currently, RevenueCat transfers the entitlement to the new anonymous ID, deactivating it on the original device.My goal: I want the subscription to be shared so that the entitlement remains active on both the original device and the new device (and any future devices). How can I achieve this subscription sharing model with anonymous users?Thanks,Florin
Hi All, Can someone confirm what the process is to allow full testing for App Store/Play Store reviews when using anonymous Ids with Paywalls? The App Store mentions providing a sign in user id and password, but this isn’t applicable when using anonymous ids… Any help appreciated - thank you!
Hey everyone,I recently added a free trial to one of my subscription products on App Store Connect (Noor – Quran Companion).This is my first ever app; I managed to get someone signing onto a 3-day trial for one of my subscriptions.The trial period expired as expected, but the user was not charged, and no “Opted-out of renewal” or “Cancellation” event appeared in RevenueCat — only an “Expiration” event. (I’ve attached a screenshot of this).I want to know what happened here? Could it be that my code or my subscription on app store connect is set up incorrectly?Any help is greatly appreciated.
Inconsistent behavior with the documentationIn your documentation you claim that if a subscription has lapsed (for same product or a different one), I will get a new Original Transaction ID (OTID). On short, every new subscription should have a new OTID during the life of that subscription. This should be true for both Google and Apple stores.I found this to be false in case of Apple – at least on the Sandbox environment (I do not know yet on Production, but I expect Sandbox to mimic exactly). Same OTID was generated for same Product subscription expiring and repurchase and for purchasing a different product after the subscription expired.Same OTID maintained between subscriptions of same productSame OTIP maintained between subscriptions of same and different products Original Transaction ID (OTID) needed in the API V2 Subscription objectI saw that I am not the only one requesting this. I need OTID to be present in the API V2 Subscription object (https://api.revenuecat.com/v2/projects/
Hi guys, can you PLEASE extend your api v2 with a sort - parameter for the list views?We have users that have more than 100 transactions and we have to build complicated pagination features and check hundreds of transactions since the “customer purchases list” returns a chaotic JSON array of transactions with no sorting whatsoever. At least sort it by id or purchase_date by default!
I added my IAP products in App Store Connect, configured them, and they appear correctly in RevenueCat. However, the products don’t show up in local testing; they only appear when I use a .storekit configuration file, which doesn’t work in TestFlight or for the reviewer. Reviewers need the products to be approved to see them, but during review the products aren’t visible, causing the app to get rejected. Even when I submit a build, the products remain in Waiting for Review and aren’t approved. In this situation, what should I do to ensure the reviewer can see the IAPs and approve the app without it being rejected? WARN: ⚠️ RevenueCat SDK is configured correctly, but contains some issues you might want to address Warnings: • 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 co
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.