Get help with anything related to RevenueCat.
Recently active
Hello everyone,I hope you're all doing well. I'm currently working on a Flutter application that integrates Firebase for authentication and utilizes Riverpod and GoRouter for state management and navigation. While I've successfully implemented RevenueCat in previous projects, I'm encountering challenges with this particular setup.Current Setup: Flutter Firebase Authentication Riverpod GoRouter RevenueCat with Firebase integration Issues Faced: Paywall v2 Not Detected: In my previous applications, Paywall v1 functioned without issues. However, after transitioning to Paywall v2, the paywall isn't being detected or displayed as expected. I've reviewed the documentation but haven't found a solution. User Management and Exception Handling: I'm uncertain about the best practices for managing users and handling exceptions post-purchase. Specifically, I'm looking for guidance on: Ensuring that once a user completes a purchase, their entitlements are correctly recognized and mainta
I have a Standard and Premium plan. If a user is sub’d to the Standard plan, how can I show the Standard plan as active and current without the purchase button? I want the user to see all plans, including their current plan. I’m trying to avoid hard-coding a current plan screen in the app.
First time submitting an app to the app store.. so i got it rejected to due RevenueCat paywall not working properly only displaying a white loading screen. Ive tested it on testflight and i get the same results, a white loading screen.my question is, did i mess up on the code, or is a white loading screen normal till they approve my “subscription” products? ORIs the paywall suppose to load without products till they approve them? im only pushing it to IOS store for now, so i havnt tested anything on GOOGLE. Ive attached an image of what i see when i reach the “paywall”
Environment: iOS app using the latest RevenueCat SDK Subscriptions set up in a single Subscription Group in App Store Connect Monthly subscription (Level 2) and Annual subscription (Level 1) In Sandbox Steps to Reproduce: User purchases the Monthly subscription. Before the Monthly period expires, the user purchases the Annual subscription. RevenueCat webhooks are received in this order: PRODUCT_CHANGE RENEWAL CANCELLATION (with product_id corresponding to the Annual subscription) Observed Behavior: After upgrading, the CANCELLATION webhook references the Annual subscription, causing our backend logic to treat it as if the new subscription itself was canceled. When the Annual subscription naturally reaches its expiration date, it does not auto-renew, confirming that the annual plan’s renewal has indeed been disabled. Expected Behavior:CANCELLATION should reference the Monthly product (old plan). Annual subscription should continue auto-renewing at each billing
Followed the instructions on setting up for google play store, Created a closed release, with one active subscription, and added a testerIAM, service accounts, got all three validations(Note, when I tried to redo the steps with a different json, I couldn't get a single validation). But from Google Play Store “Test notification couldn't be sentMake sure that you've entered the topic name in the correct format, Google Cloud is set up correctly and that you have the required permissions”
I'm getting rejected from the App Store for my kids app that's using the latest revenue cat API version 5.21.2 due to the inclusion of the AppTrackingTransparency framework. my app 100% does not import this framework, the only place that does is the RevenueCat package. here is the comments from apple: - Your app implements the App Tracking Transparency framework, which is used when apps collect data about users and share it with third-parties for tracking purposes. Since Kids Category apps are not allowed to collect, transmit or share identifiable information with third-parties, you should not implement App Tracking Transparency in your app. Next Steps To resolve this issue, please remove this functionality or revise your app so that no personally identifiable information or device information is sent to third parties.
I'm using RevenueCat in a Flutter app to manage in-app subscriptions. On iOS, the subscription products load and display correctly when running in debug mode on a real device. However, when I upload the app to TestFlight, the products fail to load — I get an empty list or no products shown at all.
I want to show paywall conditionally based on some app logic, how to do it? Thanks.
I want to offer two options: lifetime and monthly. As far as I understand, the lifetime option has to be a non-consumable in-app purchase. Is it possible to enable introductory offers to this type of product? I would like to offer a free trial for both options. Or are there any other ways to offer a lifetime unlock with a free trial? Thank you
Hi RevenueCat team,I'm running into an issue with the management_url returned by the v2 REST API for purchases made via web billing.Scenario:A user makes a purchase on the web (using RevenueCat's web billing). The management_url returned by the API points to our customer portal, as expected. Later, the same user restores their purchase on our iOS app (since we're sharing purchases across platforms). After this restore, the management_url for this purchase changes to the App Store subscription management page.Problem: This doesn't make sense for our use case, because:The purchase was made on the web, not the App Store. The App Store management page can't actually manage or cancel a web purchase. Our users can't manage their web purchase from the App Store page.Questions:Is this the intended behavior? Is there a way to ensure that the management_url always points to the correct portal based on the original purchase platform, even after restoring on another platform? Am I missing somethin
Hello everyone,I don’t understand why all status is canceled? I also subscribe to my app and I can see the my subscription is canceled also?What is reason of the issue?
I've integrated RevenueCat into my visionOS app. The issue I'm encountering is that the paywall always displays prices in USD, rather than the user's localized currency.For example, I'm testing the app via TestFlight while based in Australia, with my App Store account set to Australia. In the app, the RevenueCat paywall consistently shows prices in USD. However, when I tap on a product and the Apple subscription popup appears, it correctly displays the price in Australian Dollars.This discrepancy is concerning, as users might feel misled when they see different prices. Is there a setting or configuration in RevenueCat that ensures the paywall always shows the same localised currency as Apple’s subscription popup?
Hi,For the V2 API, what is the max page limit we can pass?, I tried 100000000000000000 it works. Is there any max limit or we can pass whatever value we need?I saw this post - The response is just addresses the infinite loop bug but doesnt explain if there is a max limit or not?Thanks
Hi all,I’m integrating RevenueCat with my React Native (Expo) IOS app, but my paywall is not displaying any products/packages. Instead, I see “No available packages. Please check your RevenueCat dashboard.” Here’s what I’ve done so far:My app uses the correct bundle ID in Expo, App Store Connect, and RevenueCat. I have a default offering with packages (monthly/yearly) set up in RevenueCat. My annual and monthly package is linked to a product. My subscriptions in App Store Connect are in “Ready to Submit” (not yet approved). I’m using the latest react-native-purchases SDK and calling Purchases.getOfferings() after Purchases is configured. No errors are thrown, but offerings.current is always null or has an empty availablePackages array.Questions:Is the “Ready to Submit” state in App Store Connect the reason my products don’t appear in the paywall? Is there anything else I should check in RevenueCat or my app setup? How long does it usually take for new products to propagate after approv
Hi there,We tested importing a historical iOS user using the POST /receipts endpoint, passing just these two parameters: app_user_id fetch_token (base64 encoded receipt) The call was successful, and when we search for the user in the dashboard by App User ID, we can see their full subscription history and entitlement details correctly reflected in their Customer Profile.However, this user is not appearing in: Any Customer Lists (Active, Cancelled, etc.) Revenue or MRR charts (even for All Time) Trial/Active Subscriber counts Is there something else we need to include in the payload for these users to be reflected in RevenueCat's aggregate reporting? We’re planning to import all historical users, so we want to confirm the behavior before running the full script.Appreciate any guidance here — thank you!
Hey guys, in my web billing app, the icon I upload doesn’t get saved although I get a “File uploaded successfully”. When I refresh the page it disappears as if it wasn’t uploaded. No matter the image or image size.Would love some help! 🙏Best regards,Alex
I just added an entitlement to a user, but it doesn't appear in the object returned from RevenueCat.In the RevenueCat UI, it shows that the entitlement has been granted. I understand that RevenueCat caches data for around 5 minutes, but even after 30 minutes, I'm still getting null for the subscription.Here’s how I’m checking for active subscriptions in the app:```await Purchases.invalidateCustomerInfoCache();const customerInfo = await Purchases.getCustomerInfo();return Object.keys(customerInfo.entitlements.active).length > 0;```Am I missing something? I have both monthly and yearly subscriptions set up, but in this case, I granted the user a 3-month entitlement.
I have different projects for different environments (dev, production) - cause I need a different bundle id (recommended here: https://www.revenuecat.com/docs/guides/environment-strategies). Can I somehow duplicate the paywall from one project to another? Rebuilding it takes a lot of time...
The V2 Paywalls look awesome, and I’d love to use them in my Vue / Capacitor app.Is Capacitor compatibility planned? If so, would you be willing to give a rough ETA? Thanks!
Hey!I’ve noticed there’s a skeleton loader screen that appears before the actual paywall shows up, and I’m trying to figure out how to disable or override it.It doesn’t really fit into my app’s design for a couple of reasons. I’m using the default activity indicators elsewhere, so I’d prefer to stick with that instead of a skeleton loader. More importantly, the skeleton screen always shows in dark colors, even when the app is in light mode, which kind of breaks the visual consistency of the UI.I searched through the documentation but couldn’t find anything on how to disable or customize that loading screen. Has anyone figured out a workaround for this, or is there maybe an option I’m missing?I’m developing on React Native.Any help would be much appreciated!Thanks.
I see on the installation page the list of supported platforms, but I don’t see any info about plans to support others like Capacitor. I couldn’t find any info about this anywhere else. Would love to see this in the Capacitor SDK as well!
HiFor the one of the app, I am implemented RevenueCat, all the steps are completed so far.What I have done.AppStore > Business > Agreements are filled out and no pending action on this point. Purchasing working fine in Sandbox and collected screenshots for Apple Team. Tested paywall and subscription done in test user. Correct build sent to the App team to review.Questions:Do I need to use for StoreKit for product listing , currently listing my entities and offering using RevenueCat already. Do I need to put Configuration.storekit file and configure, actually I dont think if it is related.So The result is getting rejected, after first submission.Here is the Apple Review team report:Guideline 2.1 - Performance - App CompletenessIssue DescriptionIn-app purchase products associated with the app version submitted for review, such as Pro Plan Monthly, could not be found in the submitted binary (consumable). Next StepsIf you do not want to make these in-app purchase products available
I’m using RevenueCat to add subscriptions to an existing app on the App Store.The recommended path is to generate an App Store Connect API key and share it with RC. When you first enable this API, Apple requires you to agree never to share the secret keys outside your team. Uploading them to RevenueCat seems like a violation.I’m assuming that in practice Apple doesn’t care. But is there any official word on this?
When clicking on the Continue button in Paywall V2 nothing happens. I think it worked once but after canceled the subscription and removed the customer from revenuecat dashboard I can’t get a new subscription.I have made sure my sandbox user (ios) does not have any active subscription as well.What have I missed?
Hello,I am using RevenueCat for many years and I am very satisfied with your service. However, I have a new app with a licensing model that does not work with the currently available restore behaviors.Example use case:For a cross-platform email app the licensing should not be tied to a device or app store account. It should be tied to the email address. Therefore, the AppUserId is set to the email address. Furthermore, an app store account should be able to buy the license (one time or subscription) for multiple email addresses.Current state:RevenueCat does not support multiple AppUserIds for one app store account. It also does not support the prevention of transfers of purchases. The option “Keep with original App User ID” does not work because the new purchase should be added to the current App User ID. Even when never using the restorePurchases() method of the RevenueCat, purchases are transferred when making a purchase. Example workflow:1. User logins to app with email address and
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.