Discussion and help from anything related to RevenueCat.
Recently active
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?
I've activated an experiment that compares two different offers with different prices.On the experiment dashboard, I see allocation numbers and % difference, suggesting everything is running well.However, on the main RC dashboard ("Overview"), I don't see any customers with the new offer that I'm trying to test. Is this normal? I was expecting the new offer to show up there, but maybe it shouldn't?
I’m trying to integrate the paywall into my VisionOS app, which creates a volumetric WindowGroup. When the paywall attempts to present itself, I get the error “Presentations are not currently supported in Volumetric contexts.” Using Xcode 15.3 Beta 3 with Apple Vision Pro (1.1) simulator. import SwiftUIimport RevenueCatimport RevenueCatUI@mainstruct Sheila_VisionOSApp: App { init() { Purchases.logLevel = .debug Purchases.configure(withAPIKey: "XXXXXXXX", appUserID: nil) } var body: some Scene { WindowGroup { SheilaAppView() .presentPaywallIfNeeded( requiredEntitlementIdentifier: "access", purchaseCompleted: { customerInfo in print("Purchase completed: \(customerInfo.entitlements)") }, restoreCompleted: { customerInfo in // Paywall will be dismissed automatically if "pro" is now active. pr
Hello, I am receiving this RC error into my error monitoring service : “There is an issue with your configuration. Check the underlying error for more details.” However, I cannot reproduce this problem, my app is live on both iOS and Android and everything seems to work fine, I have active subscriptions. Still a little number of my users (<1%) are receiving this error. I’ve read all posts about it and all of them are about configuration issues, however in my case, RC works fine for 99% of my users. I use “react-native-purchases”: “5.13.1”. This error only happens on Android. Should I be worried about this error ? Or is it harmless ? Thank you
I’m new to React Native, Expo, and RevenueCat so this is likely very basic but can’t find an answer to this anywhere. I’m following this guide.I’m not familiar with the lingo yet but I’m pretty sure I’m using the “managed workflow” version of Expo. In terms of development and testing, the only setup I’m currently familiar with is Expo Go -- in other words, running “npm start” on my dev machine, opening Expo Go on my device and connecting, then updating/editing code. This is the only way I know how to write code for my app. Then when I’m ready for full testing on a device, I run an EAS build and download it to my device, but at this point I have absolutely no more visibility into the code, it’s a complete black box -- it’s just a standalone running app on my phone.My understanding is that the RevenueCat modules do not work with Expo Go. If I try to include them I get a “Invariant Violation: Your JavaScript code tried to access a native module that doesn't exist” error. First question is
Hello,So I have my app set up and working very nicely using revenueCat, however there is one tiny issue that I hope someone here can help with.I have a subscription management page where I am displaying some details, where ‘next billed amount’ is one of them, that is displaying the amount billed string that I can only find in the offerings object.So far I have been fine with just comparing the productId found in the offering object with the id in the active subscriptions from the customer info object. The thing is, if the user purchases that product on an android device but then switches to iPhone, then I can’t currently get the billed amount, because the offering is now returning the product Id of the iPhone product which is different to the android one. So comparing the two returns falsy and therefor an undefined amount. So I am wondering how others may have gone around this. One solution I do have in mind is naming the identifiers for android and iOS products exactly the same, but w
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.