Discussion and help from anything related to RevenueCat.
Recently active
I followed the official tutorial for my app, however its been more than 36 hours and I can’t get past the Credentials need attention Permissions to call subscriptions API (working) Could not validate inappproducts API permissions (Not working) Could not validate monetization API permissions (Not working) I am not sure where do I check and what should I do next. ? Where can I follow up on this. ?
Hello RevenueCat Team,What is the minimum required version of the RevenueCat SDK that supports SHA-256 for receipt validation? Specifically, is version 4.40.1 compatible? Thank you!
Hello, I am encountering an issue while setting up RevenueCat for my Expo app. I am stuck at step 5 of the process, which is “Make a Test Purchase.” I am using a physical iPhone 12 running iOS 18 for the test and have followed the documentation to test with a sandbox account. However, despite my efforts, the Apple ID for the sandbox account never appears in the relevant section. I’ve carefully followed all the steps in the documentation but still can’t make any progress. I’m feeling a bit lost at this point and unsure of what to try next. Could you please provide any advice or solutions to help me resolve this issue? Looking forward to your helpful response,Thank you in advance for your assistance!
I do use Expo but when I try to initialize revenue cat SDK, I got ‘LOG {"error": [TypeError: Cannot read property 'setupPurchases' of null]}’ error.my code just like that; await Purchases.configure({ apiKey: 'x' })I’m using andorid, in real device and emulator.
Hi, When I’m trying to build the project I’m getting this error, Tried to see if I can change it to @import to #import, but these are written in swift, so it won’t work, Almost tried every possible solution available on internet to solve this but no luck, Please help me with this.
Taken from this SO postFrom the docsIn certain cases, iOS may prewarm your app - this essentially means your app will be launched silently in the background to improve app launch times for your users.If you are not using RevenueCat's anonymous IDs as described above, and are instead providing your own app user ID on configuration, do not call configure in application:didFinishLaunchingWithOptions:. Instead, call the configure method in your root view controller's initialization method.I am struggling to understand the implication of this for a flutter app. Is it alright if we initialize Purchases from the main method before runApp is executed or do we have to do it in the initialization method of the application.So would it work if we do something likeFuture<void> main() async { await Purchases.configure() runApp(MyApp(...)) }Or do we have to do this in MyApp initializer likeclass MyApp extends StatefulWidget { const MyApp({super.key}); @override State<MyApp> createS
Hi everyone!I’ve got a question about server notifications and user IDs. On the iOS client, the user is logged in, and I can see the userId in the RevenueCat dashboard. But when my server receives a server notification (forwarded from revenuecat), the userId isn’t included.From the docs, it seems like this should show up in the appAccountToken field, but that field is missing in the payload. My userIds are Firebase user IDs (not UUIDs), so I’m wondering if that could be the issue?If that’s the case, is there a way to handle this through the Purchases client? I imagine using Firebase user IDs is pretty common, so it’d be awesome if there’s a solution for this!Thanks in advance for any help or advice!
Our testflight apps and local dev app works just fine. The android version of the app works without any issues. Apple approved the app but not the subscriptions yet and now our app bricks on production but works just fine on test flight. The app gets stuck at a white screen on load. What more information could I provide to help with troubleshooting?It appears the app bricks when Purchase.setup() fails, but I don’t know the exact reason for the error when I cannot get it to reproduce locally.
Hi everyone, I’m trying to set up my app in RevenueCat and encountering an issue when adding the App Store Connect API Key. Whenever I enter the required details (Key ID, Issuer ID, and upload the p8 file), I click “Set,” but nothing happens—the fields just reset without any error message or confirmation. Similarly, when I try to upload the p8 file, it doesn’t populate or seem to register. I’ve double-checked that I’m using the correct key from App Store Connect and ensuring all fields are entered accurately. However, it seems like the data isn’t saving or uploading. Is this a known bug, or could I be missing something in the setup process? Thanks in advance for any help!
I have created a Paywall using the template editor, but when I have it display the introductory offer, it says it is “14 days” even though my actual introductory offer at the App Store is six months.It is displaying the monthly subscription price correctly ($4.99), so RevenueCat seems to be communicating with the app store, but it’s getting the introductory offer details wrong. I could just hard code the value, but there appears to be a deeper issue here. Can someone please advise? Screenshot of the template editor below showing the display of the incorrect value.
Hi everyone!I’m planning to change my Google Play developer account from an individual to an organization account, which will require transferring my apps to the new account. I currently use RevenueCat to manage the subscriptions for my apps.My question is: what precautions should I take during this process to ensure RevenueCat continues to function correctly after the transfer?Here are some specific concerns:Do I need to reconfigure anything in the RevenueCat dashboard after the transfer? Will the product IDs (SKU) in RevenueCat continue to work as expected, or is there something I need to adjust? Are there any impacts on Webhooks or the API integration? Are there any best practices to follow to avoid interruptions in subscriptions or billing data?Thanks in advance for your help!
Hi. I use FlutterFlow for developing the app. I have a custom paywall. As I understand, prices get from Apple/Google Store. Why some prices has icons, but some texts, especially on local language? Is this managed by stores or by RC? USDUAHFF says its not on their side.Thanks!
Even though I configure everything correctly, everything as it should, the save changes button is not enabled. This only happens when I try to add an app to the app store, because it works normally in the play store. What happened? How to solve it?
I’m new to RevenueCat and am looking into how I can migrate my existing app’s non-consumable in-app purchases to RevenueCat.I know this type of question has been asked several times, but none of the answers really answered my questionSo far, I’ve looked at using syncPurchases() but as stated in the documentation:Google Play Store does not provide an option to mark IAPs as consumable or non-consumable. RevenueCat's SDK will consume all Android IAPs upon purchase.To replicate the behavior of a non-consumable IAP for Android users, you must ensure your user will not offered the IAP after the initial purchase. Failure to do so will enable the user to re-purchase the IAP. ...and sure enough, in initial testing, as soon as I call syncPurchases() all of the user’s in-app products are consumed and the Google Play Billing client no longer sees the purchases.Regarding the first paragraph, when using the Google Play Billing API, we have the option to consume, or not consume the in-app purchase. A
Hi,as I need the package name / state in my own backend for some calculations I’m using webhooks.For now I’ve just used the entitlement ids property, and the first value of that array. While doing some testing I granted a new entitlement to the user and now he has two. Which does not work with my solution. I wanted to change his entitlement not add another one.And now I’m concerned that this might not be the best way to solve this. What if (for some reason) there are two entitlement ids? So there are two questions:How do I change/overwrite the entitlement of a customer? What is the best practice to reliably check the users entitlement in the own database?Thanks in advance!
Hi I am seeing this message in my App Store Connect, The SHA-1 intermediate certificate used for signing App Store receipts expires on January 24, 2025. If your app performs on-device receipt validation, make sure it supports the SHA-256 algorithm; alternatively, use the AppTransaction and Transaction APIs to verify App Store transactions. Learn More I checked the docs but couldn't find anything regarding that.Is there something we should do?I am using Flutter in my client with version: 8.2.2.
I’m building frontend logic to either:Show eligible users an offer with a 3-day free trial (a promotional offer) Show ineligible users a paywall without the trial offer.I know that checkTrialOrIntroDiscountEligibility exists for ios. But there isn’t a similar function for android devices. So I’m trying to build a workaround with allPurchasedProductIdentifiers in the CustomerInfo object. My question: I’m wondering if free trials and introductory offers are added to the allPurchasedProductIdentifiers array when the trial starts. If so, then I can simply check to see if the length of allPurchasedProductIdentifiers to determine which offer to display. If not, are free trials and introductory offers recorded somewhere else that I can check on android?
We are currently utilizing the iOS subscription payment system, and we plan to attract new users by offering an initial free week followed by a three-month discounted rate. We would like to know if this promotional combination is supported?
Hi! Is it a error? i have put the app nam, but it appears that.
Hi,I am working on an app that doesn’t have user account management and is already integrated with RevenueCat for some existing features. We’re introducing a new feature where users can purchase digital stickers.There are thousands of sticker packs, and new ones are added regularly. Therefore, creating individual products for each sticker pack isn’t practical. Instead, we’ve categorized the stickers into pricing tiers: for example, product_sticker_tier_1 and product_sticker_tier_2, which are set up as consumables on Google Play and the App Store. Each sticker is associated with a unique ID, such as:sticker_a: associated with sticker_tier_1 sticker_b: associated with sticker_tier_1 sticker_c: associated with sticker_tier_2When a sticker is purchased, the app must send an API request to our backend to deliver the sticker to the user. However, I need to ensure that the server can validate whether a user (identified only by an anonymous ID) has purchased the corresponding sticker before al
purchases_flutter: ^8.3.2purchases_ui_flutter: ^8.3.2 When I configure RevenueCat using PurchaseConfiguration(“key"), the application’s back button handling is overridden and stops working. When I press the device back button from navigation or even use the back gesture, I get the following log in the console. D/RevenueCatUI(21343): Paywalls: Close paywall initiated
Hi everyone,I am encountering an issue (which I should have tackled a long time ago) with a limited number of users. In my apps, I usually set the RevenueCat App User ID to the Firebase notification token that is received from Firebase. I noticed a few users having their subscription expired on a User ID, only for it to be transferred over to a different User ID, only to then be transferred back to the old User ID (so it would expire on the new user ID), and the cycle keeps on going. These are users with more than one device, who are buying on one device, and restoring on a second device.According to https://www.revenuecat.com/docs/getting-started/restoring-purchases,“For example, if UserA buys a subscription, then UserB logs into your app on the same device and restores transactions, UserB would now have access to the subscription and it would be revoked from UserA.”This explains the behaviour I am seeing, but I found it to be unexpected, since I would expect the subscription to be l
Hi everyone,I’m facing an issue with my Flutter app using RevenueCat for in-app subscriptions. The paywall works perfectly in previous versions and even in the current TestFlight build (I’ve recorded proof for the App Store review). However, during their review process, the App Store review team reported that the paywall doesn’t load—it just shows a continuous loading screen.I’m wondering:Could this be due to regional access restrictions in RevenueCat? Has anyone else experienced a similar issue? Any tips on how to debug and fix this?Any advice or shared experiences would be greatly appreciated!Thanks in advance,
I added the custom paywall, but when it appears in the application, i can see the native revenue cat paywall underneath in the entrance animation. So, it's as if two paywalls appeared at the same time. How can I disable the native paywall?
My goal is to - Accurately track subscriptions generated from Facebook Ad campaigns, allowing you to know precisely how much revenue your campaigns generate. But, I want to avoid RevenueCat from interfacing my Facebook Ad related data. Hence, I want to avoid - Send trial starts, trial conversions, and renewals directly from RevenueCat to Facebook Ads Manager, allowing for accurate tracking without an app open. I read on :https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#3-send-revenuecat-events-into-facebook-ads-manager I have performed steps1. Install Facebook SDK2. Send device data to RevenueCat I SKIP steps# Track Install and Usage Events ( https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#track-install-and-usage-events ) - Skip3. Send RevenueCat events into Facebook Ads Manager (I input the “App ID”, but I leave “Client Token” empty)4. Testing the Facebook Ads Manager integration - Skip5. View Events in Facebook - Skip By doing so, can I stil
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.