Get help with webhooks, third-party integrations, and attribution providers.
Recently active
Hello!We use RevenueCat as our app subscription management platform and as a single location to monitor our revenue across iOS and Web (Stripe).From iOS, users can only purchase subscriptions, and everything displays as expected. However, from Web (Stripe), users have multiple options for purchasing our product. Some Stripe Payment Links combine non-renewing products with renewing products (subscriptions), while others are only have non-renewing products.When someone follows a Stripe Payment Link to purchase multiple non-renewing products, then in the RevenueCat Dashboard, we see multiple separate “One Time” purchase line items, and all revenue is properly tracked.However, when the Stripe Payment Link includes both non-renewing products and a subscription, then in the RevenueCat Dashboard, we see only 1 “New Sub” line item, and only the revenue from the subscription is tracked. The rest is untracked. It’s all a bit inconsistent and confusing. Thank you for any help with tracking all of
Hello, I did everything correctly via integration Firebase, but my conversions in Google Ads doesn’t have a value so ROAS can’t optimise How can we solve this issues? Thanks
Hello!Is there a way to track shipping fees charged to our customers via Stripe Payment links in RevenueCat? We want to use RevenueCat as a central location to track all sources of revenue and this would be very helpful. Thank you for any help with tracking all of our revenue!
Hello RevenueCat community,I'm facing an issue with my app "Flight Canvas" being rejected by App Review. The reviewer attempted to make in-app purchases but encountered errors.App Review Feedback:"When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple's test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code 'Sandbox receipt used in production,' you should validate against the test environment instead."Current Situation:The app works perfectly in TestFlight with sandbox purchases RevenueCat logs show successful offering fetching and subscription recognition Customer info shows proper entitlement activation in testing Using RevenueCat for all IAP handling (no custom receipt validation)Question:Is there a setting in RevenueCat I need to change to handle this specific App Review scenari
Hello, the flow I’m trying to implement is the following:✅ user might or might not have downloaded and logged in on the app ✅ user visits my website and by following a stripe payment link they purchase a subscription through a stripe checkout session ✅ stripe sends the purchase to revenuecat through server to server notifications ✅ revenuecat creates an anonymous user with an anonymous user id ✅ user gets in the app, logs in with their email (same email as they used for stripe) ⚠️ what i’d want to do at this point: call loginUser with revenuecat, a user with the same email is found and they have a stripe subscription attached, in the app i get identified as that user and with access to the revenuecat offering.i think there are two blockers i’m not finding a solution for:revenuecat is not setting the email field in the user metadata (of the anonymous user it creates) when it receives the server to server notification, this is somewhat necessary because it’s the only way i have to connec
Prevously my appsflyerID in revenue cat events integrations would be set to the user ID as I did not set it manually. As of March 25th this stopped happening and the integration is broken as the appsflyer id is required for it to work. Why did the appsflyer IDs stop auto populating?
Is there a workaround to the problem described here?
Hi there, I'm reaching getting the error message below upon trying to add more webhooks:“This project has reached the max number of webhook integrations.”I have 5 webhooks currently and will need a lot more to handle all the different event types. What is everyone's approach to this? I haven’t seen anything relating to this issue. In the docs it does not say anything about the limit. Any insights would be appreciated. Thank you!
My revenuecat id is “app99d60b4027”at the sandbox mode is working fine butI got this error when try to purchase on “live mode”3D Secure 2 is not supported for the specific transaction.I was try both of my credit card, all is same error.Step to reproduce:1. goto https://pay.rev.cat/lkdqglryuptczslh/userprodtest-0012. choose package and fill credit card form3. press “Pay Now” buttonnote: userprodtest-001 just a random mocking idResult:Thank you.
Hi,I have configured Stripe + RevenueCat integration based on the documentation, but I do not see any subscriptions created in my RevenueCat test data. The IDs appear to line up (see screenshots), and server-to-server notifications are enabled with ‘Track new purchases from server-to-server notifications’ turned on. The RevenueCat app is installed and visible in Stripe. I have mapped Stripe product IDs (from the Default Sandbox) to product IDs in RevenueCat. However, even when a successful subscription is created in Stripe, nothing is received by RevenueCat.If someone could help me understand what might be going on and what steps I might take to debug, it would be much appreciated!
Hey everyone, I am asked to input the Sandbox Api Key here: Any idea where I can find it?
In my previous apps, account creation wasn't a feature, so I relied solely on RevenueCat's SDK to determine subscriber status.However, my new app incorporates an account system powered by Firebase Authentication. I plan to integrate the RevenueCat Firebase extension to facilitate this. My goal is to grant premium access to users consistently across Android, iOS, and web platforms.Therefore, I'm wondering if Firebase Auth custom claims can serve as the sole mechanism for checking a user's subscription status. My concern is that if a user signs in with their premium app account but uses a different Apple ID or Gmail (not linked to the original purchase), the RevenueCat SDK might incorrectly return 'false' for their subscription status."
I’m using FlutterFlow’s built-in RevenueCat integration to create a custom paywall UI with two cards: one for the monthly plan and one for the yearly plan. The official docs only show how to configure a single subscription option (hard-coded) in the Purchase action. I need to: Let the user tap either the monthly or yearly card to select that plan. Then tap a single “Buy” button that initiates the RevenueCat purchase for the plan they selected. But in the Purchase action’s Package ID field I only see a way to bind one static package or choose “Package by Identifier,” and I don’t see how to point that at a dynamic App State or Action Output variable. I can’t figure out how to wire up my selectedPlan string (e.g. "myapp.monthly" or "myapp.yearly") into the Purchase action so it charges the correct plan.What have you tried so far? Created two tappable cards, each updating an App State selectedPlan string to either the monthly or yearly package identifier. Added a “Buy” button with Reve
Hello, I’m trying to configure my revenuecat project for development with Stripe, I already connect my stripe to revenuecat successfully, but in revenue cat when I try to add a Stripe product, it says “Product not found in live mode, it may exist as a test mode product”, and is right I want to add Stripe sandbox products, I don't want to test with live product, revenuecat is able to see the live ones, but not the ones that I created in the new Stripe sandbox or even Stripe Test mode. How can I create a test environment between revenuecat and stripe? Take in consideration that if I test with live products I can’t use Stripe fictitious credit cards, so is not an option.
Not having the ability to upgrade/downgrade Stripe plans via Web Billing is painful. I read in another post that the RevenueCat team was working on this in Q2. Any updates?
Hello!TL;DRIs there a better/faster way to test monthly and yearly subs (i.e. start them, see them renew, see them expire and see the paywall come back in a matter a few hours) other than1- install the app from TF using an AppleID that is a user of the app in App Store Connect and added to TF2- sign out of the phone with that Apple ID3- sign on the phone with another Apple ID that is only present in the sandbox of ASC (this one is not on TF so the first AppleID has to install the app on that phone for its benefit)4- test the subs, with monthly renewing every 5 mins and yearly every 60 mins (and either expiring after a handful of times)?The problem with this is that if I have to reinstall the app to reset things, I have to sign out the sandbox only account, sign in the TF one, install from TF, sign out again, sign back in the sandbox account, test.I’ve asked two GenAIs whether I should add the sandbox AppleID to app users and TF, they both said no. I can’t remember what I have tried at
On march 25th my appsflyer integration stopped working with the error Appsflyer ID not setHow can I make sure I am able to send start trial events to appsflyer?
Have found conflicting posts here so wanted to get the latest info on whether IDFA is still required for RC to send the IAP events to Meta?
Using RevenueCat ootb integration in flutterflow, in TestFlight when arriving on the Paywall on iOS a grey screen is shown for all the internal and external testers except my own device. On my own iOS device when installing the app in testflight, i am able to see the paywall and subscribe to the product. Which proofs the configuration of the subscription in Apple and entitlement/offering in RevenueCat is correct. However when other users (internal and external testers) get invited and download the app in TestFlight, upon reaching the Paywall they get a grey screen.I searched and see other topics for other RevenueCat users having the issue with the grey screen, but didn't see any relevant resolution.Hope someone can help as this is blocking our app launch! Thanks and really appreciate any help.
I’ve uploaded a valid service-account JSON and entered my bucket ID in RevenueCat, but the dashboard still shows:“Access was denied to the financial report bucket. Please check the service account has the correct permissions to access the bucket.”What I’ve verified so far: APIs enabled (Play Developer, Reporting, Pub/Sub) Financial data permissions granted in Google Play Console JSON credentials re-uploaded and bucket ID re-entered in RevenueCat I’ve attached a screenshot of the error as it appears in the RevenueCat dashboard. Please help me debug why access is still being denied?
Hey,So I’m trying to implement subscriptions with revenuecat with different types of plans (think Spotify like, where you can invite multiple members into your plan).But in order to do that, I need to store plans/subscriptions data on my own backend.To offer a real time experience, I need to sync user data with my backend in these scenarios :- sync data on app launch- sync data when app comes back to foreground- sync data right after a purchase (user subscribe and right after I send an api call to my backend to confirm status with revenuecat REST API & sync data)- sync data with using webhooksThe problem is, the current rate limit is way too low to do this kind of strategy, as said here : This is really important for my user experience, since I don’t want to make the user wait after successfully subscribing to be able to invite other people into the subscription.What would you suggest in such scenario ? This is a deal breaker for me since it’s a core feature of my app.Thanks a lot
We have RevenueCat working in our app, but unfortunately we are unable to properly use the Branch integration. Although we can get RC to send data successfully to Branch, Branch will now allow us to forward applicable data downstream to necessary ad platforms, due to a missing parameter. We are unable to determine what this missing paratmeter is. Has anyone else had this issue? Have you been able to resolve it? Or this a known bug at the moment within RC (a rumor I have heard)? Thanks in advance for any thoughts and assistance :)
Hello! I have a setup of Stripe => Webhook RevenueCat => Firebase integration.In some cases Stripe subscription is created out of the scope of RevenueCat integrations resulting in customers with an anonymous app_user_id which need to be connected to the Firebase UID manually. Adding firebaseUID manually to Stripe’s customer and subscription metadata does not update RevenueCat app_user_id even tho subscription update event is successfully delivered to RevenueCat Posting the receit via RevenueCat API does indeed add a correct alias to the customer, however that is not reflected in the Firestore database via the Firebase integration. Furthermore, I would need to get the firebaseUID as the main app_user_id, not an alias to be able to access it in Firestore. Please help me out, how should I go about this?
Hello community,I hope that everyone is doing really great.So, I am reaching out for a very severe blocker, having for last couple of days about the Apple (iOS) Redeem Code functionality. My app has the following flow:User signup with either Google / Apple or Email. At this point, we have the user email and I have used Purchases.configure({ app_user_id: ‘’ }). I have also verified through Purchases.getUserAppId() and seems like I have the correct userId. Next screen after signup is a paywall and user can Redeem Code from here as well. I am using the RC’s suggested way (to redirect the User to App Store via URL instead of displaying Apple Sheet). User gets redirected and when user Redeems the offer there, App store asks the user to `Open App` and when user do so, I have the watcher for that and I call `Purchases.logIn(userId)` and `Purchases.syncPurchase()` the problem is that my Webhook is always getting `Anonymmous Id` despite of me having set the correct app_user_id. My backend is he
My purchase events dont seem to be being sent from revenue cat. I have been monitoring when new purchases happen and never seeing any events populated in the integration view on my project dashboard…
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.