Discussion and help from anything related to RevenueCat.
Recently active
I have removed RevenueCat SDK from my iOS app a couple of month ago and handle subscriptions and purchases using StoreKit 2.Question: What do I need to do to ensure that RevenueCat stops tracking and charging for this app? Is it sufficient to tap on “Delete App” red button in the App configuration in RevenueCat? I want to make sure that renewal for users who started their subscription when RevenueCat was integrated in the app are not going to be affected.Thanks
We’ve noticed that some purchases of non-subscription items (not made through RevenueCat) are missing. Should we call restore together with configure every time the app launches, or could there be another reason for this? We’ve noticed that for some users, calling getCustomerInfo() after configure is either delayed or returns empty due to an error. Is there an alternative way to access the user’s subscription status without relying on Purchases.getCustomerInfo()?
We’ve noticed that the stats have not been working properly over the last few days. Updates are significantly delayed, and in some cases, the values appear to be incorrect or even revert to earlier snapshots. This makes it difficult to trust the accuracy of the data being shown. We’re closely monitoring the situation and kindly ask that this issue be reviewed Thank you for your support.
Hi there,I am in production and I am experiencing this issue for many usersI use the getCustomerInfo function and it returns all products"activeSubscriptions": [ "com.x.app_credits10", "com.x.app_subscription_weekly", "com.x.app_credits50", "com.x.app_credits30", "com.x.app_nc_lifetime", "com.x.app_subscription_for3months", "com.x.app_subscription_monthly", "com.x.app_subscription_annual" ]Thanksreact-native-purchases": "^8.11.9
We are using RevenueCat paywalls to show a PaywallFooterView using originalTemplatePaywallFooter() on our SwiftUI view. In iOS26 beta3 (haven’t tried previous betas) when the paywall footer is shown and you click on the “Continue” button to make a purchase, instead of showing the iOS dialog to finalize the purchase, the transaction fails and shows the following in the Xcode terminal: [Presentation] Attempt to present <UIAlertController: 0x113e85200> on <UIViewController: 0x114ae8800> (from <UIViewController: 0x114ae8800>) whose view is not in the window hierarchy. The same code works fine on iOS18 and below but in iOS26 beta3 I can’t make a purchase. I updated to the latest RC SDK 5.32.0 and the issue is still there. One wrinkle is that our SwiftUI view that shows the paywall footer is hosted inside a UIKit UIView, so I’m not sure if that is causing an issue or not for RC in the latest build.
I am building a mobile app with Flutter and when testing on IOS using TestFlight and sandbox, future subscriptions are tied to the original appID that purchased subscriptions on the device for the first time instead of the current appID that is logged in.For example, my app flow goes like this:1. The user signs in to an account.2. The program signs in to Purchases with the user ID that is tied to the account.3. The user buys a subscription.4. After the subscription expires the user signs out of the account or deletes the account, which also signs out of Purchases.5. The user signs in to a different account.6. The program signs in to Purchases with the user ID that is tied to the account.7. When they buy a subscription on the new account it gets linked to the old account appUserId instead of the new appUserId.8. On RevenueCat, the ID of the old account has no aliases and no merges and the new account ID does not show up, and instead, the purchases are listed under the old account ID ins
Hi everyone,We’re experiencing an issue where users who go through a paid trial and then transition into a monthly subscription are still being marked as NON_RENEWING_PURCHASE in RevenueCat — even after a successful payment for the monthly plan.As a result, their premium access is revoked, despite having an active and paid subscription.We’ve reviewed our setup and reached out to support, but I wanted to check here in case anyone else has experienced something similar.Any insights or experiences would be greatly appreciated!Thanks in advance.
i have deleted the iap from app connect and in revenuecat in offerings added the new package in default but earlier packages are showing why also the product not able to delete they are associated with the some sandbox transaction i have added new packages in offerings but not showing why is ther any limit for that but old one are showing it is reflcting in my app
Hi RC Team,I just installed the latest iOS app update and found the new UI for filtering projects quite uncomfortable to use. I’d like to ask you to bring back the previous quick action chips, which made it much easier to filter stats and transactions by app with just one tap. As far as I remember this filter also shared picked option on both Overview & Transactions screens, now I have to pick project on both separately to quickly check app stats.I believe many other users would agree with me on this.
Hi everyone,I’m using the RevenueCat Web Billing connected to Stripe. One of my customers has initiated a dispute, and Stripe is now requesting evidence to resolve the issue.Could anyone advise on what kind of evidence I should provide in this case?Thanks in advance for your help!
I don’t care for the spacing in the paywall template I’m using. I’d like to move a component up, but I can’t figure out how to do it. Is there a way?
We’re facing an issue where RevenueCat is assigning an anonymous ID ($RCAnonymousID…) to some users, even though our app does not allow access without login, and we only call Purchases.configure() after the user signs up or logs in. Our Setup: • Platform: Flutter (with RevenueCat Flutter SDK) • Auth system: Firebase Auth • App flow: Users are required to sign in (via Firebase) before accessing any part of the app • RevenueCat config: We only call Purchases.configure() after confirming that the user is signed in and have access to FirebaseAuth.instance.currentUser.uid Issue Details: • In about 10% of cases, we’re seeing a RevenueCat event log that looks like this: • Created a new alias $RCAnonymousID:... • All these users are supposedly logged in before we initialize RevenueCat • For the remaining 90% of users, everything works correctly — i.e., the purchases are linked directly to our userIdSample Event Flow (from RevenueCat dashboard):
I’m using the flutter sdk and i can’t find a way to differentiate between renewing and non-renewing subscriptions on ios.
Localized subscription information is not displaying correctly in the app.Only the English version appears, even when the device language is switched to a supported, localized language configured in App Store Connect. Changing the device language to a non-English language (which is properly set up in App Store Connect localization) does not update the subscription group text — it still shows English. The code responsible for displaying the subscription description is:Text(pkg.storeProduct.localizedDescription)App Store and RevenueCat configuration is set up correctly because it retrieves the price and English subscription details from the App Store.
I was trying to integrate, My App store connect with my RC but getting this issue:“The key is not valid or is not compatible with the bundle id of your app.”Even though my Bundle ID is valid on both xcode and appstore connect i just copy pasted from that, Just created my .p8 file and have created this 3 times now.
Hi,I’m running into an issue where development builds (via Xcode) are not generating an appsflyer_id, and consequently, no S2S events are being sent from RevenueCat to AppsFlyer. Here’s what I’ve observed:What’s happening In dev builds, Apple zeros out IDFA and IDFV for sideloaded apps, even with ATT consent. Without IDFA/IDFV, AppsFlyer SDK cannot create a valid appsflyer_id, which is required for event attribution. As a result, RevenueCat never sends server-to-server purchase or trial events because it doesn’t have the mandatory identifier. I’ve implemented the suggested methods—collectDeviceIdentifiers() and setAppsflyerID()—but since the SDK doesn’t generate the ID in dev builds, RevenueCat still fails to send any events. Questions Is there a recommended workaround for dev builds when IDs are zeroed? (e.g., can we manually set a fake $appsflyerId or use an IDFV workaround?). Any best practices for testing with Xcode‑installed apps so that both AppsFlyer and RevenueCat work
We have already built our own purchase system for non-subscription products.Recently, we decided to integrate RevenueCat for our new subscription system, and the implementation has been completed successfully.However, it seems that previous Android purchases (non-subscriptions) are also being managed through RevenueCat.We would like to know if this is also included in the Pro model MTR of $2,500.
I am facing the following challenge: My app has a hard paywall, which means at the end of onboarding, users start a subscription with a 7-day free trial before. Everythink works perfectly well with the RC paywall: I just realized that I need to display a different paywall if the user has already used their single free trial. I stumbled upon the checkTrialOrIntroDiscountEligibility method, and have already created a second offering without the trial period configured. However I am lost how I can now call two different paywalls depending on the result of the method. Is it even possible to add a second View modifier (.presentPaywallIfNeeded) with the “no trial” entitlement in combination with checkTrialOrIntroDiscountEligibility?Just for my understanding: RC would automatically handle this case if I had not configured a components-based paywall, am I correct? Thank you in advance*
onReceived or onError call backs not triggering in getOfferings method, when i update my SDK version to 35 and increase some other libraries versions. so i am unable to get prices of offeringsPurchases.getSharedInstance().getOfferings(new ReceiveOfferingsCallback() { @Override public void onReceived(@NonNull Offerings offerings) { } @Override public void onError(@NonNull PurchasesError error) { }});
In the list of Entitlements and Offerings I’d like to be able to search. We have 300+. It is a pain to scroll down the list to edit the newest one.Easy alternative would be to show the latest on top instead of at the bottom.Or to be able to sort the table.Thanks in advance!
I’m setting up a paywall with three packages: two lifetime options and one subscription. I’m using the tab component to let users switch between these packages.List of features on tabs can be quite long. “Continue” button in this case is only visible after scrolling, which creates a poor user experienceI also tried using a Footer component to keep the button visible at the bottom of the screen but there is no way to update it based on currently selected tab - it’s globalAm I missing something?
“Track new purchases from server-to-server notifications” is enabled and is being ignored. I can’t use my custom id to query the API!!!
Hi all,We’ve noticed a strange issue and wonder if anyone has experienced the same:Some INITIAL_PURCHASE events show up correctly in the Customers tab — we can see them in the user’s event list and also receive them via webhook. However, these same purchases do not appear in the Charts.We're using anonymous IDs only (no custom user IDs or aliasing at this point), and these are real production purchases, not sandbox.Has anyone faced similar discrepancies?Any tips on how to debug why a purchase would be visible in a customer’s profile but not reflected in revenue charts?Thanks in advance!
I have just recently launched my app on playstore and gained my first sub (hurray!).However, I’ve noticed that revenue cat is reporting the new sub as expected. Yet the play store doesn’t show this subscription.The only thing on my end I haven’t done yet due to a new build being released soon is update to:But I wouldn’t of thought that would effect reporting of subscriptions?Any suggestions or advice as to why the playstore isn’t showing this subscription? The user purchased around midnight yesterday.
Hello there, I can't seem to change the "Handle of refund requests" in any of my iOS apps anymore - not event the ones I did change in the past - they are all "greyed out" Does anybody notice this as well? I would appreciate any pointersCheers
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.