Get help with anything related to RevenueCat.
Recently active
I am stuck in a loop—RevenueCat requires the products retrieved from the App Store to be reviewed. However, Apple can’t review these items because the screen where they appear is throwing Error 23: "There is an issue with your configuration." How can I get the subscription reviewed and displayed in the app?
Hi. We’ve recently deployed a new version of our app with revenuecat api and our Google Play Android Developer API usage has skyrocketed. Usage of androidpublisher.SubscriptionPurchasesService.Get and androidpublisher.SubscriptionPurchasesServiceV2.Get is in millions and failure rate for the first is 100% and for the second it’s 43%. We cannot continue operating like that as we are not fully rolled out yet and Google does not allow us to increase our usage quota any more so you can imagine there’s no way for us to move forward with our roll out.We would like to receive some help in resolving the issue. Our service account credentials are set up correctly and overall the service works properly. We do not experience any issues on the customer end.
I am having issue with my app icon disappearing.We had our apps available to public for awhile now, and today, the app icon stopped showing and grayed out. Everything is still connected properly, and we havent changed anything.Have anyone experienced the same issue before?
Hi, is customer center available in the purchases_ui package yet? I looked into the api reference and couldn’t find anything. Let me know if there’s any way to integrate it with my flutter app that I am missing.
RevenueCat webhook returns a 401 error, and the user ID is missing only in the case of redeeming a subscription. However, regular subscriptions are working fine.
I’ve been seeing a weird behavior recently on my iOS Swift app.Sometimes a user subscribes to the free trial for annual and it is successful (it shows up on RevenueCat dashboard), but in my logs, RevenueCat shows a Canceled error. In my app, if a user cancels a purchase, it shows a special annual offer. Since it was detected as a cancellation, the user then sees the special offer view and subscribes to that. This leads to the user being subscribed to BOTH the free trial and special offer, and they end up paying for both.Why might RevenueCat show cancelled if the purchase actually went through?
Hello. I would like to ask for help. I have a problem integrating purchases with RevenueCat in FlutterFlow. I searched the documentation, but it is very poorly and unclearly covered regarding sales. For subscriptions, I found a lot of information, but for sales, it is very sparse and unclear. My app is already running on a website, and I use Stripe for payments there, which works fine. When I started with RevenueCat to set up the app on Google Play, I thought it would be similar, but it does not work. I am selling credits, like lives in games that get consumed later. After a purchase, the credits should be added to the profile of the user who made the purchase. I am using Firebase as the database. My main problem is with sales. I have connected RevenueCat and Google Play Console, and I think that part is okay. I believe the problem is on the FlutterFlow side, but there is very little documentation, or it is too general. Does anyone know where I could look? Has anyone had a similar prob
If my app fails to receive a `NON_RENEWABLE_PURCHASE` webhook for a consumable, is the event completely lost?If so that would mean the purchase is completely lost, is there any recourse to deal with those situations, or is the idea that I should just never miss one of these events?
I’ve got a react native project that has an auth system. The user must be logged into to purchase our monthly or yearly premium subscription. He must also be logged in to restore purchases (Not sure if this is allowed by the App Store). I created an account in my Android app, purchased the premium subscription. However, when I logged into the same account in my iOS app and tried restoring purchases, I received an error because the user has no active entitlements which makes sense, but I do see the play store entitlement under all entitlements - not sure what to do with that information exactly. I was under the impression that the user could buy my premium subscription on one platform (Android), and then not have to pay for the same premium subscription on the other platform (iOS). Maybe I am misunderstanding something? I’ve read most of the docs, including the part under Restoring Purchases which says:Restoring purchases is a mechanism by which your user can restore their in-app purcha
I am currently trying to implement subscription feature using `"react-native-purchases": "^8.5.0",` but when i enabled billing permission and upload to Google Play, i am getting error message saying i need to use Billing Library that is higher than version 6.0.1. any ideas to resolve the error?
In my Flutter app, I have multiple subscription plans, each with a ‘Subscribe’ button in the UI. After a user subscribes to a plan, that plan’s button instead shows ‘Active Plan’ so they can’t attempt to subscribe to their currently active plan again. Users may upgrade or downgrade, when a user downgrades, their current plan runs through until renewal. During this time I wish to display in my UI a plan is being downgraded to, so they have an accurate understanding of their current status and they can’t attempt to subscribe to a plan they are already downgrading to again, as that will just result in a popup saying it is already their current plan.How can I see if and which plan is being downgraded to in the app? I’ve tried using isActive and willRenew fields from getCustomerInfo(), however these fields don’t seem to provide useful information for this case, as multiple plans have ‘willRenew: true’ despite them not being active or renewing to. The index of items in the entitlements field
Hi RevenueCat Community,I'm having an issue with the RevenueCat paywall integration in my Android app. I’m using the PaywallActivityLauncher to display the paywall, and I set the flag shouldDisplayDismissButton = true in the launch options. However, the close (dismiss) button does not appear on the paywall.My implementation looks like this:paywallActivityLauncher.launchIfNeeded( requiredEntitlementIdentifier = Constants.ENTITLEMENT_ID, shouldDisplayDismissButton = true ) Context:I’m using the latest version of the RevenueCat SDK. My paywall template in the RevenueCat Dashboard is set to the default configuration. I’ve also checked for any possible theme or styling issues (e.g., the button not being visible due to color conflicts), but nothing seems to work.What I've Tried:Verifying my SDK version. Confirming that the paywall is being launched as a new Activity (which should display the close button by default). Checking the dashboard settings for any customization that might hide the d
I have a simple app which does not require user login (at present). Users can purchase a one-time lifetime ‘subscription’.Until now I have stored the purchase locally within the app local database.In moving to RevenueCat for purchase handling, I now have the question - should I continue to store the purchase locally, or check each time with RC? Related questions areWhich is the best option regarding the question of risk here (hacking the subscription)? is there an issue with second option if user does not have wifi/connected? Or possibly do both (but possibly overkill!)Thanks for any advice
Hi,so I’m using the multi tier paywall template.However, I’m not satisfied that the currently subscribed tier has no indicator, that the user is already subscribed to that tier. Now I found that there has been a big update for custom paywalls and it looks really nice. But there is no component to build it with for multi tier? Do I have a design error in my app in general? Also thought about displaying the different tiers on a custom screen and then opening a paywall for each tier when pressed on it. But out of conversion and usability view this just is an extra step for the customer. What am I missing?
Been getting this error after adding the service account credential JSON, I’ve made sure that I followed the documentation: https://www.revenuecat.com/docs/creating-play-service-credentials but haven’t been able to resolve this.
I am pretty new to Revenuecat. Sorry if this problem is answered a hundred times, but I could not find a solution. Here is my problem:I do have an iOS app and have a paywall view. The user can either subscribe for a monthly or annual payment (I managed to set this up in App Store Connect and Revenuecat and this all works fine), or he can select a free trial for 14 days.I know, that I can set up a free trial in app store connect, but as far as I understand, this automatically will start a chargeable subscription, if he does not cancel before the end of the trial period. So in fact the free trial is part of subscription and the user has to choose a subscription method at the paywall. This seems not very appealing to me.I rather would like to say: “Click here and have a look”. When the user clicks ‘here’ then(!) the free trial period starts (without selecting a subscription method). During the free trial I can present a counter: ‘X days left’. After 14 days the user cannot access the cont
Hi there, i am newbie and it is my first time when i do putchase based stuff, please excuse me if i ask dummy questions, so i testing webhooks and i dont understand why expiration_at_ms is always todays date ? It should not be the final day of expiration date ( in this case 12 march ) ? Products has 1 month duration. And why my purchased_at_ms also shows 1 day before, actually i purchased 3-4 days ago. Is it all because SANDBOX env. or i do something wrong ? I am getting this response ( ss attached ) on my backend and related to this values i do some stuff.
I’m new to RevenueCat and this might just be impossible to do, so I figured I’d ask.I have an app published in iOS and Android.I have a situation in which I need to see when a given user bought my app in their respective platforms.This is not about an In-App purchase, but rather, the App itself.Can RevenueCat do that? It seems like the answer is no, since this seems to only handle InApp purchases and subscriptions, but I wanted to make sure.Can I, by using RevenueCat in my App, get the exact date and time when a user actually bought (or acquired) the App (not InApp/subscriptions) for the first time in the AppStore/PlayStore?It seems to me like this is just not possible on android, regardless of the framework or library that I use. On iOS It seems possible.Thanks
Hi all, I have configured all products/offerings within RevCat. Tested my Thunkable app in testflight mode with Sandbox and developer mode enabled. However no RevCat paywall is displayed. I am getting ‘New Customers’ within the RevCat overview page so something is happening, just unsure what, as the paywall is not visible upon a purchase. Anyone have any ideas? I have reached out to Thunkable and Apple. Many thanks :)
We are using Paddle for web subscriptions and aren’t sure how to link userIDs and sync status with RevenueCat. Is there a way we can post userIDs and subscription status to RevenueCat so that when the user logs in on iOS we know if they are subscribed or not. The reason I want to do it this way is because otherwise we’ll have to create a new layer on our backend that tracks subscription status for all users and we will need to check that instead of the RevenueCat SDK which kind of defeats the purpose. Otherwise, we could first check if they are RevenueCat subscribed then check our backend too - which would work I think. But isn’t there some web sdk for subscriptions?
Hi,I have an app using RevenueCat SDK for Capacitor. I try to simulate different errors when calling the purchasePackage function. I succeed to get some errors - see the image for the error when the package is not found. FYI: For each user, I pass the userID from my app when I call the configure function. My questions are:in this situation, does RC log the error somewhere in the dashboard or this should be done in my side? if we have the data in RC, can I get it using the REST API?
Hi,Is there a way to manually trigger RevenueCat to charge my debit card immediately?For security reasons, I keep my debit card balance near zero. If I top it up but have to wait an uncertain number of days for RevenueCat to process the charge, other transactions might bring the balance back to zero before the charge goes through.I’d appreciate any guidance on how to ensure the charge happens right away.Thanks!
How do you handle In App Purchases with an PWA / Google Store ? I have integrated RevenueCat with my Android app, which is built using Angular and Capacitor. The same codebase is used for both the Android app and the web app. However, In-App Subscriptions do not work on the web version.From my understanding of Google Play Console policies, it’s not allowed to mention or link to external websites (like RevenueCat) where users can also purchase subscriptions, as this could potentially result in the app being banned from the store.How do others typically resolve this issue, especially when using RevenueCat for subscriptions in an app that also has a web version?
I’m curious, will the delegate fire after purchase on Paywall featurePurchases.shared.delegatefunc purchases(_ purchases: Purchases, receivedUpdated customerInfo: CustomerInfo) {// }func showPaywall() { let controller = PaywallViewController() controller.modalPresentationStyle = .fullScreen controller.delegate = self present(controller, animated: true, completion: nil)}extension ViewController: PaywallViewControllerDelegate { public func paywallViewController(_ controller: PaywallViewController, didFinishPurchasingWith customerInfo: CustomerInfo) { print("test") }}
Hello, I have an app now, and the subscription integration is working well on both Android and iOS. I want to implement discount codes for users because I plan to provide advertisers with codes so they can earn a percentage of the subscription fee.
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.