Get help with anything related to RevenueCat.
Recently active
I’m not able to comment on my original posts about custom variables and Paywall variants.But please add this functionality so I don’t have to duplicate my text layers all the time.Also would be nice to be able to swap an image/video from the Rules interface. In both cases I need to duplicate the components, then make sur they are all hidden by default, then active then manually.And If I have a styling change to do, I’ll have to do it manually on all my components. The new variables are great, it will work. But it doesn’t seem like been completely thought through for actual usage, it’s quite cumbersome.
Hey RC team,We recently had a problem where an Apple user signed-up to our App for the first time and subscribed to a product with a free trial. Unexpectedly, they were charged the full amount right away. Our App only offers auto-renewable subscriptions to users.I have checked in RC’s Customer History for that user as well as our own logs to see if the user’s trial eligibility was incorrectly determined and they were misguided by our App’s UI that they were eligible for a trial, but doesn’t seems to be the case.RC shows in the Customer History that the user started a trial and also shows 0 revenue reported. We even asked the user to provide us with a screenshot of the subscription details of our App in their Purchase History through their Apple Account. That also shows that the user was subscribed to a free period which will be renewed after X number of days.We would appreciate if you could tell us what could’ve happened here? I will be happy to share the AppUserId if need be.
Hello, we’re tracking our daily total revenue in the Transactions page in RC mobile app.However, we recently noticed that even when new subscriptions are added, the total revenue in that day decreases. It might have been because of refunds, which can reduce the sum, but after we checked that wasn’t the case.We tried to see if there’s a pattern in the change of sum number, but couldn’t find any. Sometimes the number goes up, and sometimes the number goes down, regardless of how many new subscriptions are added.Are we missing something here, or is this a bug?Thank you.
Hello everyone,I have a monthly subscription for my Flutter app. Just a single subscription plan.I faced an issue with at least two customers have an issue with their premium subscription because I am relying on the webhook for their subscription status.There is a pattern here:1. Subscribe2. Opt-out3. Force resubscribe (?)4. Subscription expiredFrom the images below, You can see that the customers manage to subscribe to the same subscription before it expired. I do Both of the customers are from Italy and using Android if that matter. Hope to hear any explanation on this. Thanks!
Hello friends!I have an app that is accompanied by physical products.Today the user buys the physical product (~4USD) from our Shopify store and adds it to their account in app when received via serial number to be used with app functionalities.I would LOVE to offer the physical products as one time in app purchases. No more Shopify and a much better user experience. Dream onboarding would be to download the app, pick monthly subscription for app, pick number of physical items and pay (adds ~4USD/item), then add your postal address in next step of onboarding.Or pick yearly subscription and get physical items for free, then add your postal address in next step of onboarding.And of course have a in app ”Store” where users can order physical items ad hoc. Is this possible with RC?
Hi RevenueCat team and community! I would like to animate Buy Now button like its breathing. I saw that it encourages users to buy to product but couldn’t find any method. Can you help me with that? Thanks in advance!Have a great day,Han
I have seen some other posts about this, and tried everything I have read up on - but I continue to get this error. Everything in the business section is filled out on app store connect. I have tried and regenerated this a few times. Any suggestions how to fix this is welcomed!
There’s other posts about this. Tried everything I have read up on - but I continue to get this error. Everything in the business section is filled out on app store connect. I have tried and regenerated this a few times. Any help? Thank you!
Hi, Is is possible to create a Web Billing product with the API?I saw in the documentation that the create product endpoint doesn’t allow it but maybe there is another way to do it? Also, could you give me more details on the push a product to the store endpoint please?Is it creating a product on the AppStore Connect for example if we’ve created a product on RevenueCat? Thank you for your help! Damien
Hi everyone,I'm using RevenueCat Flutter SDK v9.15.1 and having issues with subscription upgrades and downgrades on Android (Google Play).Setup:- Single subscription ID: `pro_access`- Base plans: `starter_monthly`, `starter_yearly`, `premium_monthly`, `premium_yearly`, `professional_monthly`, `professional_yearly` if (Platform.isAndroid && oldProductId != null && oldProductId.isNotEmpty) { params = PurchaseParams.storeProduct( newProduct, googleProductChangeInfo: GoogleProductChangeInfo( oldProductId, prorationMode: GoogleProrationMode.immediateWithTimeProration, ), );} else { params = PurchaseParams.storeProduct(newProduct);}Questions:1. Should `oldProductId` be passed as `pro_access:starter_monthly` or just `starter_monthly`?2. Is `GoogleReplacementMode.deferred` the correct mode for downgrades?3. Is there anything specific to v9.15.1 that affects `GoogleProductChangeInfo`?Google Play returns a generic error and RevenueCat logs a replacement mode
I have an app with a few subscriptions that I imported into RC. Then my paywall is shown in the app and you can pay through it. Everything working fine. I also have a website for this app where I have a section talking about the subscription but I can’t show the prices since each country has a specific price. How could I solve this? I don’t want user to pay from website, just check the prices.Right now I’m saying “go to the app to check prices” but that’s awful from a marketing PoV.
As mentioned in the documentation https://www.revenuecat.com/docs/projects/restore-behavior#share-between-app-user-ids-legacy. I am unable to find any configurations available on RC; dashboard. We can choose between other Transfer Options available but not the legacy one.if I use anonymous login it provide new user without any active subscriptions.
Hey folks - hope you’re well. Wondering if anyone else has run into the issue where apparently the app is giving the ask to buy modal to the user but the parent never receives the notification? From what the parent tells me: other apps seem to notify them just fine so doesn’t appear to be an ios version mismatch.As far as I understand holding the payment is the correct step but unsure if in-app purchases (not subscriptions) need a specific set up in app store connect to get this to work? Unsure if I’m missing something obvious here Thanks!
I would like to display yearly price next to the monthly price x12 with strikethrough. E.g.:~59.99~ 29.99 RevenueCat is already doing the math for `relative_discount`. Seems like it should be easy to expose the value used in the calculation. Could call it something like `price_before_discount`. This is very common on paywalls and seems like an oversight on RC’s part. There are many other community posts asking for this. E.g. this one
I understand that, as a developer, we should refund via RC dashboard, not Play Console. However, what about when the customer triggers a refund on the Play Store? How can my app detect this? Or will it actually be reflected somehow in the entitlements?
Hi,I'm experiencing an issue where purchases are completing successfully but entitlements are not being automatically granted. All purchases show as "Unattached products" in the customer profile, even though the product is correctly attached to the entitlement in the dashboard. Purchase completes successfully, appears in both Play Console and RevenueCat customer history. However, the product appears under "Unattached products" in the customer profile. This happens for every user and every purchase. What I've verifiedProduct identifiers in RevenueCat match exactly with Google Play Console (subscription ID + base plan ID) Product is attached to the entitlement Service Account Credentials JSON is uploaded Store Status shows Published Purchases are coming through the correct store (Play Store) App User ID is set correctly in code and matches the dashboard Google Play Order ID is valid and matches Play Console Entitlement identifier used in code matches the one in the dashboard Could someon
was trying to integrate, My App store connect with my RC but getting this issue:“The key is not valid or is not compatible with the bundle id of your app.”Even though my Bundle ID is valid on both xcode and appstore connect i just copy pasted from that,
I am experiencing an issue with the "Transfer if there are no active subscriptions" restoration strategy. This behavior works as expected on iOS but appears to be bypassed on Android.The Scenario: Both User A and User B are identified (non-anonymous App User IDs). User A has an active subscription linked to a specific Google Play / Apple ID. I log out User A and log in as User B on the same device. User B calls Purchases.restorePurchases(). Expected Behavior (observed on iOS): On iOS, RevenueCat correctly blocks the transfer (there won’t be any transfer event) and returns the RECEIPT_ALREADY_IN_USE_ERROR because User A still has an active subscription.Actual Behavior (observed on Android): On Android, the restorePurchases() will return an error but the transfer event will still happen.This contradicts the documentation for this transfer behavior. I have confirmed that this is happening in a sandbox environment, User A's subscription has not expired, and I’m applying "Transfer if
I have read many posts about this but still don't know what's going on. I can't figure out why I can show my subscriptions but not the non-consumable product. Starting from Google Play, these are my subscriptions (again, no problem with them):The no-consumable product:(no country restrictions, set price...) And now comes RC. This is my product catalog:These package were imported from the Play Store. I did not create anything manually.If we go inside lifetime option:As we can see, it's published and IDs are fine (I'll explain later why I'm showing it from 2 offers).Now moving to the paywall, I'm showing the 3 offers correctly:But when I show the paywall in my phone, the last option is not there, just showing the subscriptions. Inspecting the products I get, there are only the 2 subscriptions.I tried to create a new paywall so I duplicated the offer with same products (that's why) and when showing the new paywall, the same problem happens.I'm using Flutter and Android.What am I doing wro
Hello,I am encountering the well-known readable_error_code: CONFIGURATION_ERROR (code: 23) while implementing subscriptions on iOS.I have already performed several checks to identify the cause of the issue, and so far all configurations appear to be correct: All contracts in App Store Connect have been properly signed. The product identifiers match exactly between App Store Connect and RevenueCat. All required metadata and configurations have been completed. The backend integration has been finalized and appears to be working as expected. We also performed tests on physical devices (iPad and iPhone) running iOS 26.2.1, and the error still occurs when attempting to fetch the products.The only potential issue I can identify is the subscription status. The products are currently listed as “Waiting for Review” in App Store Connect and also appear with the same status in the RevenueCat dashboard.Because of this, I would like to confirm whether this status could prevent the purchases f
Hey, I’m in the process of selling my app to someone. It’s on iOS + Web. I use RevenueCat for both. As far as I’m aware, when I transfer the app on App Store Connect, all the secrets/keys remain the same? How does it work on RevenueCat web billing? I can’t transfer my Stripe account as I’ve got other apps running through there, but I also don’t want any disruption to existing subscribers. What would be the best way going about moving web purchases over to a new Stripe Account? Thanks!
My custom paywall was showing for a couple of days in TestFlight, but for some reason its reverted to the Apple default paywall...which is causing my app to be rejected. HELP!!
We're using RC Billing (Web Billing) with the RevenueCat JS SDK. During the purchase flow, we pass the customer's email via the `customerEmail` parameter in `Purchases.purchase()`.Due to a bug on our side, some subscribers had an incorrect email passed as `customerEmail` at checkout time. We've since fixed the bug, but for the affected subscribers, all lifecycle emails (subscription confirmation, renewal reminders, billing issue notices, etc.) are still being sent to the old incorrect email.What we've already tried:1. Updated the `$email` subscriber attribute in the RevenueCat dashboard — lifecycle emails still go to the old address.2. Updated the email on the corresponding Stripe Customer — lifecycle emails still go to the old address.It appears that RC Billing stores the checkout email internally, separate from both the `$email` subscriber attribute and the Stripe Customer email, and uses that internal email for lifecycle emails.Questions:1. Is there an API endpoint or dashboard opti
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.