Discussion and help from anything related to RevenueCat.
Recently active
I have problems finding the platform specific API key, there is no path such as:Project Settings > API keysBut I can see API keys on the left side (image attached) but I can not find the API key need it to submit the app for review or production release
estou recebendo a mensagem de missing_secret ao testar o webhook, mas nao sei onde gerar a key secret
Hi,Is it possible to have platform-dependent configuration in paywalls? Eg. I want to redirect users to different URLs based on whether they’re on iOS or Android when they tap on the “redeem promo code” button.Currently, what I can think of is having a custom variable hard-coded in the app, and using that in the paywall.However, I would prefer something like locales - you could provide different values for each supported platform.
"react-native-purchases": "^9.10.0","react-native-purchases-ui": "^9.10.0", Hi I am using React Native Expo and displaying my paywall using RevenueCatUI.Paywall. I have a default offering setup and linked to a default paywall. I have also just created an exit offer offering and am setting up a new paywall for this. I would like the the exit offer paywall to show the default offering pricing so that I can cross out the default pricing and display the discounted exit offering pricing next to it. How can I accomplish this? This seems like a fairly standard thing a paywall would display but I can’t figure out how to show default offering pricing on my exit offer offering paywall.Example of the type of exit offer paywall I am trying to create is below.
I am facing issue in configuration where I have added all things properly but then also I am getting the error “[RevenueCat] 😿‼️ There is an issue with your configuration. Check the underlying error for more details.”. I am using react version “19.1.0” and react-native version “0.81.5” and react-native-purchases version “^9.7.6”.
I read that Promo Codes on the checkout flow for Web Billing is in the roadmap. What is the latest update?It’d be awesome to be able to have it integrated as part of the checkout flow, so it looks official, and without having to create custom products/paywalls, etc.
Users located in Russia (RU) report that RevenueCat paywall assets are not loading – specifically images and icons. The paywall UI renders, but asset requests fail or never resolve, resulting in missing visuals (empty placeholders / broken images) and a degraded purchase experience I already tried configuring an alternative proxyUrl (https://api.rc-backup.com/) in the RevenueCat SDK. However this did not solve the issue, because paywall images and icons are loaded from a different asset domain which is still inaccessible from Russia
Hey guys There is something wrong with revenue cat dashboard today? My paywalls that i edited this morning have just vanished. Its like the dashboard is not functioning correctly. Please advise urgently.
Hello !I am working on an existing application where i have to get back the customer ↔ subscription relation.As far as i understand, the transfer event is available only from the webhook (transfered_from / transfered_to).The API offers a way to “create” a transfer, through `POST | customers/{customer_id}/actions/transfer`.But there is no way to get this transfer information / history in the API.Am i correct here ?While browsing the original user profile on the dashboard, i can see in “Customer history” the information:`Got their purchases transferred to new_user_id`So the transfer information seems to be present, but cant find a way to get it through the API.Currently considering a dashboard scraping to get this information, but i certainly miss something. How to get the new user id from the API, when i only know the old/original user id ?
I have an app where I want to offer:Remove Ads for say $6.99 as a one time purchase VIP Pass for say $11.99/year that includes the ad removal and other VIP features.As the cost of the yearly sub is more than the one time purchase for ad removal I want to make it so if a user pays at least once for the yearly sub and doesn't ask for a refund, then the no_ads entitlement stays in their account even if they end up canceling at some point the VIP pass.Is this possible? how can I achieve it? Or is there a way for me to check in the code that they've had at least one successful vip pass payment that has not been refunded even if I don't get the entitlement?
Hi,I’m implementing team subscriptions where an admin has a normal auto-renewing subscription, and team members receive a promotional entitlement that expires at the same time as the admin’s current period.On renewal, I try to extend the members’ entitlement by calling the V1 “grant promotional entitlement” endpoint again with a new end_time_ms. const url = `https://api.revenuecat.com/v1/subscribers/${encodeURIComponent(appUserId)}/entitlements/${encodeURIComponent(entitlementId)}/promotional`;const response = await fetch( url, { method: 'POST', headers: { Authorization: `Bearer ${revenueCatApiKey.value()}`, 'Content-Type': 'application/json', }, body: JSON.stringify( { end_time_ms: endsAtMs, } ), });Response:{ insertId: "699397e5000ee469665d0539" jsonPayload: { appUserId: "okolifiqPsTzY10TRV9yA627o3w2" endsAtMs: 1771281961210 entitlementId: "Team Pro Access" expiresAt: "2026-02-16T22:46:01.210Z" message: "rc:grant_entitleme
Currently deciding to integrate RC in my apps. The docs on webhooks did unveil some questions;1) Should we both handle parsing events from the WH payload and call the `subscribers` api, as detailled by the docs.2) The docs detail processing should be delayed; Can we still safel, call the API within the same handler or **must** we defer.3) If the API call fails (e.g. rate-limits) how should our function ideally behave (200 ok vs. e.g 500 to trigger a new WH event. After all - the DB should be in sync with RC.4) Is there a plan for a Supabase integration / typescript starter? Thank you!
Hey all! I just built a free tool that allows you to see forecasts directly in RevenueCat. It's 100% private, local, and open source.I've been wanting to see forecasts in RevenueCat for a while and decided to take a weekend to build this free Chrome extension that does just that.You can install it for free here: https://luckycat.tools/Enjoy and I hope its helpful — wishing you all success in 2026.Oh and any and all feedback welcome!
Hey guys, I have recently formed a LLC and have created a brand new developer accounts on Apple and Google. i would like to move my apps to the company developer accounts, and i was wondering about what would be the process with migrating on RevenueCat. I have already created a brand new account on RevenueCat, and got a few questions. Would the MMR and the data be synced when I connect the details on Google and Apple after the transfer? Is there anything I can do beforehand to ensure a smooth transition between the account with very little down time? I would love to get a small check list or some guidance on what to do to ensure a smooth transition between the accounts,I heard about the 36 hours propagation of Google, and would love to get prepared beforehand to ensure I don’t have users which are unable to purchase haha. if anyone could shed some light on the full process and migration to the new RevenueCat it would be awesome! thanks! 🙏
sadf
Hi,Not sure what information to share to help debug this. It doesn’t happen always, but when trying to load the Paywall component using React Native it freezes randomly (not sure the reason). It makes me wonder if it could be happening in production.I’m sharing the environment I’m using:Component Version react-native-purchases ^9.9.0 react-native-purchases-ui ^9.9.0 PurchasesHybridCommon (iOS) 17.37.0 RevenueCat (iOS native SDK) 5.58.0 RevenueCatUI (iOS native) 5.58.0 React Native 0.81.5 Expo SDK 54 iOS Deployment Target 16.2 Xcode Simulator OS macOS 26.3 (25D125) Architecture ARM-64 (Apple Silicon) According to Claude (after I dumped the crash report from the iOS simulator) it said this: Issue: RevenueCatUI.Paywall causes main thread deadlock on iOS SimulatorThe native SwiftUI paywall (RevenueCatUI.Paywall) triggers a HEIF image decode deadlock on the iOS Simulator, resulting in a 0x8BADF00D watchdog kill.Crash signature:Main thread blocked on __psyn
Hi team 👋,I’m currently building an onboarding-style subscription flow and wanted to confirm official support for multi-page paywalls in RevenueCat Paywalls v2.My use caseI want to create a 4-step paywall flow inside a single paywall, similar to onboarding screens: Value Intro (benefits, no products) Free vs Pro comparison Trial reminder selection Plan selection & purchase (products attached only on final step) The goal is: One continuous paywall experience Navigation between steps using buttons (e.g., “Next”) Products shown only on the last page Analytics tracked per step My questions Does RevenueCat currently support true multi-page paywalls (multiple pages within a single paywall)? If yes: Which template or layout should be used? Is there a Pages panel or page selector that must be enabled at creation time? Can pages be added after paywall creation, or must it be chosen initially? If not: What is the recommended best practice to implement a m
RevenueCat Support Inquiry: Detecting Active Subscriptions on Shared Store account Before PurchaseContextWe have multiple users with separate accounts in our app using the same device and Store account. We're encountering an issue with subscription management when users share the same Store account.Current Setup- Platform: React Native- SDK: react-native-purchases- RevenueCat Setting: "Keep with original App User ID"- Use Case: Scenario where: - Device has one Store account configured - Multiple users have separate accounts in our app - Each user needs their own subscription, but they share the device (and Store account)The ProblemScenario:1. User A logs into our app with credentials: userA@example.com2. We call Purchases.logIn('userA_12345')3. User A purchases Product X (e.g., Monthly Plan) using Store account: M4. User A logs out5. User B logs into our app with different credentials: userB@example.com6. We call Purchases.logIn('userB_67890')7. User B's customerInfo shows no active
Hello,I have added a new paywall to my app.The problem is I cannot close the paywall with the close button if a video is displayed on the paywall. This is a problem occuring on my app, and on the RevenueCat Mobile app. I have checked that it has the “Navigate Back” optionAlso, if I remove the video from the paywall, the back button works again. Is there something I am missing ?Thank you
I have a Flutter app using RevenueCat and the Meta/Facebook SDK for app events. Currently I am trying to get better results with Meta Ad Campaigns that I want to optimize for Start-Trial conversions. I have heard, that one should use the Facebook SDK to get the best results for event attribution on Meta’s side. However, I also want to use the RevenueCat/Meta integration to send the relevant events.My question is: Can I send the Start-Trial/Subscribe events also from my app without running into double counting issues? The goal being to give Meta more data for event attribution (AEM). If so, how can I make sure Meta is able to do the deduplication? I assume I somehow have to make sure the event from the app and the event from RevenueCat have the same `event_id` parameter.Is there any way to achieve this?
I use product.offer_period_in_days Day Free TrialThis works perfectly on iOSon Android it shows up as**** Day Free Trial How do i fix it? On the play store I have a properly configured subscription base plan with a free trial offer attached to itI would hardcode it, but I have a yearly and monthly option and I can’t see a way to do that in the web paywall UI
I want to remove a subscription from sale on apple. What would be the consequences of removing the subscription for users that are already subscribed on IOS on revenuecat ?WIll they lose their subscriptions ? Will users be immediately refunded? If a users subscription ends, will they need to resubscribe to a package or they would be automatically upgraded to a new subscription?Also is there an instance where once we remove the subscription from sale, Users will still maintain their subscription till it ends?
Hi everyone,We are preparing to launch an app using RevenueCat and Apple Offer Codes for an affiliate marketing campaign.My Goal: Set up unique Custom Codes for various KOLs (influencers). Users redeem these codes for subscription discounts. Track the total redemptions for each specific Custom Code to calculate affiliate payouts. The Dilemma: I am aware that Apple's Receipt Data/StoreKit doesn't return the actual Custom Code string, only the Offer Reference Name. However, Apple limits us to 10 active Offers per subscription, which isn't enough for our influencer list if each influencer requires a unique Reference Name.According to Apple's documentation on the Subscription Offer Redemption Report, the report fields include "Offer Reference Name", "Offer Code", and "Number of Redemptions".For those who have used Custom Codes in production: Does this specific report break down redemptions by each unique Custom Code string (the actual code users type), or does it aggregate everything u
Hi,I’m trying to add Revenuecat web billing on my website gpx.tours, but the “Google Pay” button is not showing in the Express checkout of my paywall. Here’s what my paywall looks like in Revenuecat dashboard: The Express Checkout in the setup of my paywall in Revenuecat dashboardIt is working in dev: This is what the paywall looks like in devHowever, in Vercel preview, the Google Play button is replaced with a “Pay now” button. Redemption links are disabled The Vercel preview domain is added in StripeBottom line: is it even possible to add a Google Pay button in the paywall on web?Would appreciate your feedback.Thx!
We are having an issue from Sandbox webhook events, where the lookup on API for active_entitlements is [], instead of active.The request body to the webhook looks like (note environment :SANDBOX):{ "api_version": "1.0", "event": { "aliases": [ "my_user_id" ], "app_id": "app_id", "app_user_id": "my_user_id", "commission_percentage": 0.15, "country_code": "US", "currency": "USD", "entitlement_id": null, "entitlement_ids": null, "environment": "SANDBOX", "event_timestamp_ms": 1771460315227, "expiration_at_ms": 1771542723000, "id": "1653F954-2771-4656-8265-B13A9371F9D5", "is_family_share": false, "metadata": null, "offer_code": null, "original_app_user_id": "my_user_id", "original_transaction_id": "2000001123561347", "period_type": "NORMAL", "presented_offering_id": null, "price": 20, "price_in_purchased_currency": 20, "product_id": "ios_monthly_dancer_2000", "purchased_at_ms": 1771456323000, "renewal_number"
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.