Discussion and help from anything related to RevenueCat.
Recently active
For the love of God….. Please stop changing the UI of the dashboard - EVERY 6 MONTHS!I was used to the previous design - it was totally usable and clear. Now - it is a regression! I cannot find ANYTHING in it, it is totally misleading and counter-intuitive!STOPCHANGINGTHEUIEVERYSIXMONTHS
I’m getting the following error after trying to build with eas:✖ Build failed🍏 iOS build failed:The "Run fastlane" step failed because of an error in the Xcode build process. We automatically detected following errors in your Xcode build logs:- value of type 'AppTransaction' has no member 'appTransactionID'Refer to "Xcode Logs" below for additional, more detailed logs. These are my SDK versions: "react-native-purchases": "^9.1.0", "react-native-purchases-ui": "^9.1.0", Any solutions? The problem happens with android too. I tried downgrading to version 8 and that did not help either.
Platform: iOS (Ionic/Angular)Environment: SandboxProblem descriptionWhen user upgrades from a monthly subscription to an annual subscription, the upgrade is not reflected in getCustomerInfo() until the current subscription period expires and the new subscription becomes active.I have own paywall screen and wanna show that new subscription will be active from __date__.Apart from that I tried to reload app, invalidate cache and make sync. Also tried to request customerInfo from API ( but it doesn’t return any sub info ).
I have seen similar questions but all of them outdates.Dear RevenueCat Team!Can you support creating customer list based on custom attribute. if only 1 attribute possible thats already good, then its scalable enough.We want to make seperate dashboard charts based on custom attribute (in our case its which city has the user registered for initially but of course any other usecase) It would be a great help, this feature is really needed for our revenue distribution based on customer attribute.Let me know!Link old forum post
Hello, I’ve received feedback from the App Review team for my app, indicating that the auto-renewing subscription violates guideline 3.1.2 due to inappropriate use of the service. They noted that such subscriptions should provide dynamic, ongoing value over an extended period and requested a revision or removal.My app offers cloud backup for user app data and cross-device sync via Apple Sign-In and Google Sign-In, with unlimited uploads and downloads. Additionally, we limit free users and provide premium features like more stylish cosmetics to paid users and more upcoming. Despite my previous response, the feedback remains unchanged.I’d like to ask: Does a simple cloud backup for user app data suffice to meet the ongoing value requirement of 3.1.2?I also suspect that providing clear instructions for reviewers to test this cloud feature—such as screenshots and a step-by-step guide—might help clarify its value.I zeroed in on the cloud aspect based on reading that it should be sufficient
Hi, community. One of my users (336542) has purchased a subscription, confirmed by the RevenueCat Overview dashboard (real-time), and also by searching for the specific user ID in the Costumers section. The user used Play Store.However, that seems to have not triggered any events in the webhook. I rely on the webhook to give the benefits to the users in my backend, so this has broken the flow.The purchase was made in Production.The latest entry I have in my webhook events (in the Webhook Implementation section in the dashboard) is from 2025-07-30. Same in my webhook handler logs.I have no idea what could be going on. Any insights?
It doesn’t seem like Purchases object can work with Mono anymore. It broke the prefab I’ve been using and setup with the Purchases object.
I've read through multiple discussions here in the forum but I am still not sure, what does it exactly mean when we get Billing Issue + Billing error right when a free trial ends?From what I've concluded, they payment method didn't succeed. Is this happening because my users may use virtual prepaid cards that expire before the trial ends?
I custom using Adjust to log event.I need get transaction_id but I don't find data when purchased.if return customer info this the best
Hello, I have been reading the following article about iOS subscription groups as we’re looking into using RevenueCat Experiments:https://www.revenuecat.com/blog/engineering/ios-subscription-groups-explained/We only have one subscription pricing overall on our platform, a Pro subscription. We want to only do the A/B Test to have with Free Trial VS no Free Trial.From this article I’m not sure if we should be creating a new Product under the same Group or a different group: Subscription groups make testing prices more difficult. Because all products in a subscription group are visible to the user via the subscription settings, you can’t add a one-off product to a subscription group at a different price and control who sees it. If you want to A/B test two prices for a product you will need to create two entirely parallel subscription groups. Deploying and maintaining entire parallel subscription groups can be challenging to manage, especially if you are doing multiple price tests (which y
Hey folks 👋, I just started using RC and need your help with handling of REFUND events. For apple app store -Does REFUND request raised by customer also CANCEL the subscription (I assume not)? Or is it targeted to a specific RENEWAL/INITIAL_PURCHASE TRANSACTION_ID event? The REFUND event sent by RC, can I assume the TRANSACTION_ID would match a past/current RENEWAL/INITIAL_PURCHASE event’s TRANSACTION_ID? Same for REFUND_REVERSED - can we assume the TRANSACTION_ID in all three events - (RENEWAL/INITIAL_PURCHASE) → REFUND → REFUND_REVERSED would match?How do you guys test the REFUND flow? I raised a sandbox REFUND request through the app but never received a REFUND event.Thank you! 😊
I'm encountering a 409 Conflict error when attempting to grant a promotional entitlement through the RevenueCat API. The request is failing consistently with the same error code.API Endpoint: POST /v1/subscribers/{subscriber_id}/entitlements/{entitlement_id}/promotionalWhat specific condition is causing the 409?
Hello, I’m seeing an issue with one of our consumable products in production (not sandbox). A user attempted to buy the same consumable twice via RevenueCat, but the second purchase did not result in a charge. Instead, our webhook received a NON_RENEWING_PURCHASE event, and RevenueCat did not bill the user again. This purchase was made using same App User Id and we can see it in customer history on dashboard.Since this is a consumable product, it should charge on every purchase. Could you please investigate why the second transaction isn’t billing the user? Let me know if you need any additional logs or identifiers.Thank you
Hey, we use RevenueCat together with Superwall (using a Purchase Controller). There is no documentation on how to set up pricing experiments in this scenario. Since you configure products and entitlements in Superwall by tying them directly to an AppStore product identifier, I don’t see a way to use the Revenuecat experiment feature. I think for that to work, Superwall would have to use the RC current offering.So I think the only way to set this up would be to define a new product / offering in App Store and then in RevenueCat and Superwall, which gives access to the same entitlement, and run the A/B test in Superwall. We could then probably segment a chart in RC by offering to see results there as well.Or am I missing something?
Hi,Sorry if this has been asked before, I did a quick search and I think all prior conversations are not exactly what I’m looking for. So:For my app, i have 3 (1mo/3mo/1yr) non-auto renewing subscription products, acting as unlock to “pro” version of the app. I’ve generated some promo code to distribute for promotional purposes. In RC’s dashboard those promo code usages are indistinguishable from real purchases.I know it’s apple IAP’s design limitation but crucially, these seem to count towards the threshold of 2500 usd MTR. obviously i’m willing to pay the 1% fee for RC’s wonderful features but it doesn’t feel good when these promo codes, which are not real revenue for me, are also counted.Is there any way to mitigate this? Or do I need to implement my own promo code system to get around this?Thanks,Jack Hsu
i update purchases_flutter 9.0.0 in google play show App must use Google Play Billing Library version 7.0.0 or later I would like to know if there is anything else I need to do to ensure that the system supports Google Play Billing Library version 7.0.0 or later.
OnRestoreComplete on paywall did not trigger. I purchased the lifetime item(ads removal) Reinstalled the app Attemp to restore purchase under the same sandbox account a loading indicator shows, but nothing happened after that, no success or failure message restarting the app will restore the purchase A custom button that calls Purchases.restorePurchases works properly, but the button on paywall doesn’t
I’m able to delete subscriptions made in sandbox, but when I try all of the same steps (clearing purchase history in iPhone settings + appstoreconnect sandbox website, trying a new appuserid), it still doesn’t clear the lifetime IAP.
Hi, I'm integrating RevenueCat with Superwall in a Flutter app using the PurchaseController method, and I’d like to confirm how real-time and automatic the entitlement syncing is between the two. After calling syncSubscriptionStatus() once during app startup, do I need to manually call it again when a subscription changes (like an upgrade, renewal, or cancellation)? Or does Superwall automatically stay in sync through the CustomerInfoUpdateListener from RevenueCat? How real-time is this syncing in practice? If a user upgrades, downgrades, or their subscription expires, will Superwall recognize the entitlement change immediately in the same session, or is there a delay? If there is a delay, what should I expect? Are there any best practices I should follow to ensure Superwall always reflects the latest entitlement state from RevenueCat with minimal delay? My goal is to rely fully on RevenueCat's entitlements to manage paywall logic inside Superwall, and I want to make sure that the
When a new user signs up in my app, I register this using the `logIn()` method from the SDK. They do not have made a purchase yet. The problem is that they don’t come up in the customers list. Also not in the ‘Non-subscription’ list. Also not after 24h, because I’m aware that the lists are not real-time.My app has a hard paywall, and I need to grant some people a plan to get them through, for beta testing. Why don’t these users show up in RevenueCat? I’m identifying them...
❗ TestFlight App Shows Error Fetching Offerings – RevenueCat IntegrationDescription:I’ve integrated RevenueCat into my React Native iOS app. Offerings load fine on the simulator using a StoreKit configuration file, but when testing the app via TestFlight, RevenueCat fails to fetch products and throws this error:[RevenueCat] 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).More info: https://rev.cat/why-are-offerings-emptyWhat I’ve Verified: Product identifiers are 100% matched between RevenueCat and App Store Connect. The app is Ready for Internal Testing in TestFlight. RevenueCat is initialized correctly and working in local simulator with StoreKit schema. This error occurs only in TestFlight builds, not locally. Sto
I’m trying to integrate Adalo with RevenueCat to manage subscriptions and purchases. Since Adalo doesn’t support adding SDKs directly, I’m attempting to connect them using Custom Actions along with Adalo’s Digital Purchase component.The issue I’m facing is that the Digital Purchase component doesn’t provide the receipt data that RevenueCat requires for validating purchases. Because of this, I’ve hit a bit of a wall and can’t complete the integration.Has anyone successfully connected Adalo to RevenueCat using Custom Actions or found a workaround to get the purchase receipt from Adalo? Any guidance or suggestions would be really appreciated!Thanks in advance!
Hello, I have 1 offering and 3 packages in it, basic,standard,gold. Each package has 1 product associated with it.In the paywall editor, I want to see the price of my product in preview. So I am using this format {{ products["my_package_id"].price}} but it only show the raw value not the price. So my question is, How to see the price of my products ? My products are also available in app store-in app purchases and they are ready to submit. Should I submit them first 😁? Thanks.
It’s not the text and it’s not in the paywall preview, but there’s a slash in the paywall displayed on my app. See attached.Here’s the template entry:One-time purchase. Own forever. For just {{product.price_per_period}}. No subscriptions. Just you & your daily practice. Any idea how to fix it?
userA: purchased a subscriptionuserA then signs out and userB signs inif userB attempts to purchase a subscription, I want to show an alert saying ‘Please use a different apple id, this apple id is already associated with a different app account’ Now, how do I know if an apple id/play store account is already associated with a different appUserId? I need to know it before a user can trigger the Purchases.purchasePackage.The nearest solution I got is by receiving the RECEIPT_ALREADY_IN_USE but that happens after purchasing the package not before.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.