Discussion and help from anything related to RevenueCat.
Recently active
I’ve read the article Experiments: Debugging and best Practices for A/B Testing that was probably written when Experiments were still in beta. The documentation mentions an “LTV Chart” with a gauge to determine when you can conclude an experiment.. However, I can’t find that my RevenueCat dashboard. My case: I have two subscription groups that both contain a monthly and yearly subscription. The trial length for the subscriptions between the groups are identical. The only difference is price.I’ve been running the experiment for around two weeks now, and see positive results. However, it’s still unclear for me when I can finish the experiment.
testing
Hello, I’ve added `Purchases.addCustomerInfoUpdateListener` to listen for changes to `CustomerInfo`. Now, I know it works because it gets fired when I make a subscription purchase with Purchases.purchasePackage.However, I do not see it firing when a user cancels their subscription from Google Play or when it automatically expires. I have Google Developer Real-time notifications set up, tested and working. I can also see the RevenueCat Customer History Dashboard get updated with the cancellation/expiration event, but it never propagates back to the listener. If I call `getCustomerInfo()` directly though, I can see the changes.Curious if this broken, or expected behavior? By the looks of it it says it should fire when it detects any changes to CustomerInfo, so in theory it should fire, but it doesn't. Using Capacitor SDK v7.4.0 Thanks!
Hello RevenueCat team and community!I’m trying to integrate Stripe with RC and so far i’ve been following the steps of this documentationAfter receiving both checkout events in my backend server: customer.subscription.created and checkout.session.completed I send a POST request to the receipts endpoints. Every time I send a request the response I get is the following:{ "code":7103, "message":"The receipt is not valid."}Even if I try to send manual requests from the terminal using cURL i will get the same response. Here is an example:curl -X POST \ https://api.revenuecat.com/v1/receipts \ -H 'Content-Type: application/json' \ -H 'X-Platform: stripe' \ -H 'Authorization: Bearer strp_xxxxx' \ -d '{ "app_user_id": "my_app_user_id", "fetch_token": "sub_xxxxx" }'I took the Authorization token from the Stripe App Public API KEY created in the RC dashboardSome additional info:I’m not the owner of the RC project, neither the Stripe account. Yet I have admin privileges in both accou
Hello, My company works with RevenueCat for Google and Apple payments, and while I can find Google Payments inside RevenueCat with some specific info (GPA number, for example), I cannot do so with Apple Payments. Usually, customers send us the receipt for the purchase, but we always send them to Apple to locate their account, causing the users to be very frustrated about our support. Is there a way to locate those purchases, and if so, how to do it? What info is necessary? Cheers
Incomplete documentation on https://www.revenuecat.com/docs/api-v1-spec#tag/entitlements?In the “duration” section, it says “See below for possible values.” but I’m struggling to find it. Am I missing something?
Users started complaining that they need to click "Restore Purchase" when installing on a new device. They say they don't have to do it in other apps (also without login, on Android). Are there any risks or drawbacks with running for instance syncPurchases the first time the app is started on a new device?syncPurchases on Android?Would it work in this scenario? Any drawbacks?restorePurchases on Android?Would it work in this scenario? Any drawbacks?syncPurchases on iOS?Here kaitlin wrote : syncPurchases unfortunately won’t work at fresh app install on a new device for anonymous ids, it just syncs the receipt on the device. So if there is not a receipt on the device, it definitely won’t work (still silently).But in production there is always a receipt when downloading the app from the App Store, right?Wouldn’t that mean that syncPurchases should work fine to restore proactively?restorePurchases on iOS?Could trigger a login prompt - not good.
Currently, we have Monthly, 6 Months and 1 Year plans and we offer 7 days trial period. And we want to remove Monthly plan. There are some users has already subscribed for 1 month. Some of them are in free trial for 1 month, some of them completed free trial and bought the Monthly (renewable) product. My questions are: If user already subscribed for Monthly plan and if we remove monthly plan from RevenueCat what will happen? Will user continue using remaning days of 1 month? After the completing remaining days how app will reflect to this? Will they be asked by 6 months and 1 year plans? If we change 7 days free trial to 3 days free trial, what will happen? Are the subscribed users will continue remaining days of 7?
i would like to know if i can use revnue cat in Serbia ?is it legal to use it in Serbia and can i connect my Serbian bank account to revnuew cat ?
Hi.I left an inquiry on the ticket, but I also wrote it here.Since November 2023, we have been using this service well and there have been no problems.However, there is a problem that the webbook is not called when some Android users call Pursances.purchaseStoreProduct api from about 10 to 15 days ago.Fortunately, we also got a device that had the problem and checked the log with the device that was working normally, and found that only one log was differentIn the normal log, there is "CustomerInfoUpgraded, sending to listener," but the above log does not appear in the log of the problematic device.I wonder if there were any similar tickets or inquiries like this, and if you already know, I wonder how to fix it.Thank you.
I was just wondering what <RevenueCatUI.PaywallFooterContainerView> returns. I would like to use this if a promise or listener is available to use my own global subscription state. I'm aware of PAWALL_RESULT, but how can I use it with the <RevenueCatUI.PaywallFooterContainerView>. And if for whatever reason, I can’t use <RevenueCatUI.PaywallFooterContainerView> to return the promise and I must use RevenueCatUI.presentPaywall(), how can I hide the footer. Thanks
I am looking for others with possible solutions as I’m seemingly running into brick walls elsewhere.I have been happily running two products with both IAPs and subscriptions through RevenueCat for past four months with no problems.Last Tuesday the purchase data (subscriptions appear fine) for both products has almost halved when viewed through RevenueCat. App Store Connect and other sources check out fine, RC however is missing between 30-60pc of data from In App Purchases. My own code or implementation has not changed or updated in the past month.Having reported this to RC a week ago, beyond the usual links to documentation around discrepencies I have not had any helpful response or little to encourage me that anyone is actually looking at this.Therefore I’m here trying to find or understand different approaches to solving this issue wherever it may lie. For my part I’m not losing any money on it but RC as a solution, bar the paywall, is now largely useless without the real time data.
I want to automate my revenuecat process. I test using StoreKit, but entitlements are not reset. How do I achieve this? let session = try? SKTestSession(configurationFileNamed: "storekitconfig")session?.resetToDefaultState()session?.disableDialogs = truesession?.clearTransactions()customerInfo.entitlements["Pro"]?.isActive == trueThis code returns true. How do I make it return true if I just made a purchase?
Hi,Can we use our own paywalls? because we need to use our own design.Our own design based on ‘Landscape’ mode, and we need to implement our own wall.Thank you
Hello,I recently explored the guide on transitioning a paid iOS app to a subscription model as outlined in your article at RevenueCat. While insightful, it doesn't entirely address our specific requirements.Our application is initially free to download, offering in-app purchases (IAP) to access additional functionalities. We're considering introducing a paid version in select markets to evaluate its performance. For this purpose, I'm seeking an effective method to verify whether a user has made a purchase to download the app (not based on the app version).I've come across the possibility of locating a receipt within the app bundle that could potentially provide this information. Could you advise on the reliability of this approach and how to implement it effectively?Thanks for your help.
Please tell the specific gradle version for revenuecat version 7.5.2.
following the docs but react native with expo doesn’t recognize purchaseshttps://www.revenuecat.com/docs/getting-started/quickstart#4-using-revenuecats-purchases-sdk ERROR ReferenceError: Property 'Purchases' doesn't existThis error is located at: in App (at withDevTools.js:18) in withDevTools(App) (at renderApplication.js:57) in RCTView (at View.js:116) in View (at AppContainer.js:127) in RCTView (at View.js:116) in View (at AppContainer.js:155) in AppContainer (at renderApplication.js:50) in main(RootComponent) (at renderApplication.js:67), js engine: hermes ERROR ReferenceError: Property 'Purchases' doesn't exist
I am successfully making a purchase in IOS sandbox environment and returning the customerInfo object shown below. However once the user is automatically logged in i check their subscription status and it is empty.The user does not show up in my sandbox customer list in revenue cat and the only way i can find them is by manually searching their user ID. When i call the login function there is no active purchases so my app will not authenticate them once they try to re login, or if they want to view their active subscriptions. I am not sure why I am returning a successful purchase object but their account has no record of a purchase?Here is the customerInfo object after making the subscription purchase 'customer INFO: ', { firstSeen: '2024-02-16T03:51:30Z', entitlements: { active: { pro: { willRenew: true, ownershipType: 'PURCHASED', productIdentifier: 'sportyMonthly899', originalPurchaseDateMillis: 1708095600000, latestPurchaseD
I have a paywall in my new flutter app and it has processed two payments so far, so seems to be workign well. But I noticed a crash in my Android Developers Console and when I went through it I saw this line: Caused by ga.i0: There is no singleton instance. Make sure you configure Purchases before trying to get the default instance. More info here: https://errors.rev.cat/configuring-sdk Do we need to configure the purchase beforehand? I would think yes, and maybe I am configurign mine in an odd way which is why its been working. But maybe I need to clean up my code a little. I created a revenuecat provider with: class RevenueCatProvider with ChangeNotifier { CustomerInfo? _customerInfo; CustomerInfo? get customerInfo => _customerInfo; RevenueCatProvider() { initPlatformPurchaseStateRevenueCat(); } Future<void> refreshCustomerInfo() async { try { _customerInfo = await Purchases.getCustomerInfo(); notifyListeners(); } on PlatformException catch (e) {
In a nutshell, same story as in the other post, but now I'm hitting the 14000 limit as well. E.g. in English:I would not say it's too much info, especially given that Google would not approve the app without this extra info.
Hello,I have an iOS app with existing subscribers and I want to migrate to RevenueCat. Unfortunately, I have not saved the base64-encoded receipt files, but I have saved the iOS transaction IDs that allows a lookup of subscriber data from Apple’s App Store Server API. Is there any migration path that supports using this information? I’m aware of the client-side migration path but would prefer a server-side path. Thanks,Alan
I am super disappointed to find that this expected functionality (at least for iOS) is not available in Revenue Cat. This has caused us a huge issue - we’re almost finished migrating to RC for payments as we add a new platform to our stack (Web) with the last part of our migration being updating the iOS app - ALL of the backend work has been completed for this and only now are we finding out that this basic functionality is not available. It’s not exactly sign-posted either and so not picked up during initial investigation of RC - mainly because this doesn’t seem like something you’d need to actively validate is possible! Surely this is on your roadmap? I can see many people have been asking for this - if there’s a timeline for this please let me know or it seems impossible that we can move forward with RC as a solution.
Why do I see different localization on my paywall created via revenuecat paywalls on TestFlight? I’ve configured different locales in the revenuecat’s paywall localization section but whenever I launch the Testflight version of my app, a random localised version of paywall gets shown. I want to know if this happens only on TestFlight users or can it happen for App Store users as well.
Five days ago, we noticed a significant issue within our system where a considerable number of purchase events were missing. This discrepancy was brought to our attention by our users, who reported purchasing packages but not receiving the corresponding coins.Upon investigation, we found that despite users successfully completing purchases via Google Play, the associated events were not being captured by our system through RevenueCat's webhook integration. Furthermore, the purchases were not reflected in our RevenueCat dashboard.Despite reaching out to the RevenueCat support team through a support ticket, we have yet to receive a response or resolution to the issue. This delay in communication and resolution has led to frustration among our users and uncertainty about the reliability of our in-app purchasing system.We are actively exploring alternative solutions and have begun implementing a native solution to address this issue. However, we understand the importance of timely and effe
I'm trying to integrate revenuecat with the stripe checkout on my squarespace website - so that when a customer subscribes the subscription will be automatically applied. Following this document up untill point 5 "Send Stripe Token to RevenueCat" https://www.revenuecat.com/docs/stripe#:~:text=Connect with Stripe,in the RevenueCat Stripe App. Does anyone know where the cURL code is meant to be added on the Squarespace platform?
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.