Discussion and help from anything related to RevenueCat.
Recently active
Hello,We have implemented RevenueCat in our React Native app. We want to use it only with Apple app store. We have been testing in the SandBox and now we want to test the real production flow before submitting an update for the app. We always get the sandbox test purchase even after switching the SandBox switch off in the RevenueCat website.
Hey everyone,I’ve been working on an Android app using Next.js 13 (with SSR), wrapped in a Capacitor container. I integrated RevenueCat (@revenuecat/purchases-capacitor) to handle subscriptions. The native logs show that the plugin registers successfully and I can fetch product offerings just fine—RevenueCat pulls the subscription details from Google Play (e.g., monthly, annual). However, whenever I tap my “purchase” button, the actual Google Play purchase dialog never shows up.Here’s what I do see in the logs: Capacitor is recognized as running on Android. RevenueCat logs: “Retrieved productDetailsList…” for my monthly/annual SKUs. CustomerInfo gets fetched repeatedly from the cache (no active subscription found). No sign of purchasePackage(...) or the “Launching billing flow” logs from BillingClient. I also tried: Uploading a signed release AAB to the Play Console in an Internal Test track and installing the app from the Play Store with my tester account. Opt-in link is opene
Hi, I’m working on an Expo/React Native project which is nearly completed. On iOS, everything has been working perfectly - I’m using a V2 paywall. On Android, opening the paywall crashes the app, with the following error:java.lang.IllegalArgumentException: Software rendering doesn't support hardware bitmaps android.graphics.BaseCanvas.throwIfHwBitmapInSwMode(BaseCanvas.java:726) android.graphics.BaseCanvas.throwIfCannotDraw(BaseCanvas.java:81) android.graphics.BaseCanvas.drawBitmap(BaseCanvas.java:139) android.graphics.Canvas.drawBitmap(Canvas.java:1604) androidx.compose.ui.graphics.AndroidCanvas.drawImageRect-HPBpro0(AndroidCanvas.android.kt:275) androidx.compose.ui.graphics.drawscope.CanvasDrawScope.drawImage-AZ2fEMs(CanvasDrawScope.kt:260) androidx.compose.ui.node.LayoutNodeDrawScope.drawImage-AZ2fEMs(Unknown Source:24) androidx.compose.ui.graphics.drawscope.DrawScope.drawImage-AZ2fEMs$default(DrawScope.kt:587) androidx.compose.ui.graphics.painter.BitmapPainter.onDraw(Bitma
Hello, I am using Revenue Cat for subscriptions in my flutter app.I have integrated it directly to firebase and Revenue Cat successfully sends all transactions to a firebase collection named revenuecat_events. I have a separate collection users which has all data of the respective users. My query is if and when a subscription gets renewed can revenue cat update the specific user records with the new subscription end date?If yes then how? Thank youfor example. IN the image below, this user had his subscription auto-renewed on February 25th.So how do I update this document when revenue cat sends a new transaction.
Hi, Can I use your web billing / low code web app to let users redeem free access / trigger RC Promotions, so the user doesn’t have to enter a credit card? If so, would this work for first-time users? So could I send people a link that always them to redeem a Promotion, then the user downloads my app, and the promotion is somehow recognized when the user opens app and creates an account? Thanks, Toby
I believe I have configured everything correctly, but I am unable to purchase on Android.I have followed everything shown in this link 'https://community.revenuecat.com/sdks%2D51/why%2Dare%2Dofferings%2Dor%2Dproducts%2Dempty%2D124' but it still doesn't work.Configure if (Platform.OS === 'ios') { try { Purchases.configure({ apiKey: REVENUE_CAT_IOS_API_KEY, appUserID: user?.uid, }) } catch (error) { console.error('error configuring revenuecat for iOS', error) await analytics().logEvent('error_configuring_revenuecat_for_ios') } } else if (Platform.OS === 'android') { try { Purchases.configure({ apiKey: REVENUE_CAT_ANDROID_API_KEY, appUserID: user?.uid, }) } catch (error) { console.error('error configuring revenuecat for Android', error) await analytics().logEvent('error_configuring_revenuecat_for_android') }} This is where I am trying to fetch the products. const purchaseStoryToken = async () => { try { useSetLoading(true) const products
Got a default paywall that is working well with a state for showing a sheet and a sheet modifier.sheet(isPresented: self.$displayPaywall) { PaywallView(displayCloseButton: true) } But I would like to have another paywall in select places. I’m unable to find documentation on this. The params available include “offering” for PaywallView and I’ve tried setting it with a string matching my other paywall offering id and also tried declaring it prior to the view.Does not work at all and makes the project not build.Is there any documentation available on this for paywall v2? This page has nothing on how to use the offering parameter - https://www.revenuecat.com/docs/tools/paywalls-v2/displaying-paywalls
Environment- react-native-purchases: "^8.9.1"- react-native-purchases-ui: "^8.9.1"- react-native: "0.76.7"IssueI tried integrating the customer as RevenueCat documented, and nothing appeared when I clicked the “Manage Subscription” button. It seems that the RevenueCatUI.presentCustomerCenter() is not working. What I've Doneawait RevenueCatUI.presentCustomerCenter({ callbacks: { onRestoreCompleted: ({ customerInfo }) => { setCustomerInfo(customerInfo); checkSubscriptionStatus(customerInfo); }, onFeedbackSurveyCompleted: ({ feedbackSurveyOptionId }) => { console.log('Feedback survey completed:', feedbackSurveyOptionId); }, }, });Expected BehaviorThe customer should have displayed it as it was configured perfectly, as instructed in the documentation. Actual BehaviorIt does not work at all when the button is clicked, and nothing shows up. Very importantly, there has been no response er
Hi team,I noticed that PaywallView is currently gated with #if !os(macOS) && !os(tvOS), which excludes macOS support. I was wondering if there are any plans to expand PaywallView to macOS in the future?As macOS apps continue to grow—especially with Catalyst and cross-platform development—it would be incredibly helpful to have native paywall support on macOS as well. I’d love to see this added to the roadmap if it’s not already on there!Thanks for all the great work you’re doing!
Contextual closure type '@MainActor @Sendable (CustomerInfo) -> Void' expects 1 argument, but 2 were used in closure body .onPurchaseCompleted { customerInfo, storeTransaction in print("Purchase Completed: \(customerInfo.entitlements)") I’m trying to get the original transaction ID from an ios subscription purchase using consumerInfo in revenue Cat but consumer info is found in the package. Need the original transaction ID to match to my backend. Any ideas on how to this?Thanks!
Hi everyone,I'm implementing in-app purchases using RevenueCat and would love some clarity on managing multiple paywalls.My goal is to: Show a default paywall during the onboarding stage. Show a different paywall after a user hits a trial limit or reaches a milestone in the app. I understand that RevenueCat supports Offerings and Paywalls, but I want to confirm:Is it best practice to create two different Offerings (e.g., onboarding and postTrial) and then call the relevant one based on the user's stage?Also, are there any potential caveats or gotchas I should be aware of when switching paywalls dynamically like this?Appreciate any guidance or shared experience!Thanks in advance
Hello, I have this error from RevenueCat: code: 23, message: There is an issue with your configuration. Check the underlying error for more details. 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 information: https://rev.cat/why-are-offerings-empty domain: RevenueCat.ErrorCode, userInfo: "readableErrorCode":"CONFIGURATION_ERROR","readable_error_code":"CONFIGURATION_ERROR","source_file":"RevenueCat/OfferingsManager.swift:237","source_function":"createErrorForEmptyResult(_:)","NSLocalizedDescription": There is an issue with your configuration. Check the underlying error for more details. 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 information: https://rev.cat/why-are-off
The documentation does not provide a way to check if a customer is subscribed. It shows how to for Kotlin, but not with KMP. I tried see if the Kotlin way would work but there is no getCustomerInfoWith(), but there is a getCustomerInfo() but it returns nothing.
help how do i fix this error “ [Error: There is an issue with your configuration. Check the underlying error for more details. 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). ” here are my configurations
Hi there,I have a question about anonymous user IDs and subscriptions.My scenario:User subscribes on Android using RevenueCat's anonymous ID Later, they get a new iOS device and use our data transfer feature As part of this data transfer, we'd transfer the RevenueCat anonymous ID from Android to iOSWhat I need to know:If we transfer the anonymous ID and call login() with that ID on the iOS device, will the subscription be recognized? What happens to the subscription status on the original Android device after this? Are there any platform-specific limitations to this approach?Creating user accounts isn't an option for our app. We need to rely solely on anonymous IDs for subscription tracking.
onRestoreCompleted on iOS will not fire if a restore is attempted but the user doesn’t have any active subscriptionsThe thread on PaywallView callbacks not working includes this comment.I am trying to wrap up my app with both subs and a Lifetime purchase IAP.If someone buys the once-off Lifetime they should be able to restore that.Was the doesn’t have any active subscriptions just a mis-naming in passing or is this a missing feature?Apple expect us to be able to restore such.
Our app has a recurring subscription, that users need to pay in order to use it. We would like to offer something like a group subscription - if a company approaches us and want to buy 10 subscriptions for their employees we would like to offer them a discount. We could get a list of users from them, we could send them codes, the way how do we exactly do it its not that important to us. Is it even possible to do something like this with app and play store? If yes, how can I enable it via revenue cat
I even try to purchase in debug sometime its successful sometime it fails and appstore reviewer raises same objection here is the error i get on macOS.Received error that does not have a corresponding StoreKit Error: Error Domain=AMSErrorDomain Code=305 "Purchase Failed Server canceled the purchase" UserInfo={AMSFailureReason=Server canceled the purchase, AMSURL=https://sandbox.itunes.apple.com/WebObjects/MZBuy.woa/wa/inAppBuy?guid=5CE91E9CB360, AMSDescription=Purchase Failed, AMSStatusCode=200, AMSServerPayload={ "cancel-purchase-batch" = 1; customerMessage = "Unauthorized_message"; failureType = ""; "m-allowed" = 0; pings = ( );}, NSDebugDescription=Purchase Failed Server canceled the purchase}Received error that does not have a corresponding StoreKit Error: Error Domain=ASDErrorDomain Code=500 "(null)" UserInfo={client-environment-type=Sandbox, NSUnderlyingError=0x6000026468b0 {Error Domain=AMSErrorDomain Code=305 "Purchase Failed Server canceled the purchase"
Apologies if this is a basic question.I’m recording a custom subscriber attribute called 'charity’ against my customers, which stores the name of a charity they have chosen, to which I am going to donate 10% of the subscription revenue I get. So now, I’m trying to create a report of total revenue subscription in the past year, grouped by the charity, so I know how much to donate to who.I figured based on this forum question that I can achieve this using scheduled data exports. So, I have just finished setting up a scheduled data export integration to a Google Cloud bucket.I see in the documentation lots of examples of custom queries in Postgres, which looks ideal. But this is where I’m stuck. I assume these queries can be used to modify the data I get in the scheduled data export - but where do I enter the query SQL? eg I can’t see anywhere in the query integration settings where it says something like 'run this query’. I must be misunderstanding how this works.
I just tried out the amazing Paywall v2 editor on my RC-Account. In the editor my Paywall looks fine but neither my native iOS nor Android-App are showing it correctly. On iOS I see a big red warning (see below).I have the latest SDK version iOS: 5.20.3 and Android: 8.15.1. I added a german localization to my Paywall.For iOS I’m using Xcode 16.3 and run the App on physical device or simulator with iOS version 18.3.2.Has anyone seen similar issues and has a solution.
I followed the instructions (as best I can tell) to integrate RC into my react-native app. I added the subscription group and product in Appstoreconnect console. I added the sample code in my react-native app, and am trying to just “get the current offerings”. I get the generic error:[Error: There is an issue with your configuration. Check the underlying error for more details. 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 information: https://rev.cat/why-are-offerings-empty] After following that link ^, RC gives me a Troubleshooting Guide with a list of items to check. (Great feature btw)The 3rd item in the list states:Ensure the products are in the 'Ready to Submit' or 'Approved' state in App Store Connect. If you're submitting your first in-app purchase or adding a new in-app purchase type to your app, you'll need to submit
I checked some other related issues (this, this) but seems different. I just made an SDK update and am running into issues:SDK and Versions:"react-native": "0.76.7", "react-native-purchases": "^8.5.3", "react-native-purchases-ui": "^8.5.3", "expo": "~52.0.32", Android Studio Ladybug Feature Drop | 2024.2.2 Build #AI-242.23726.103.2422.12816248, built on December 17, 2024 Runtime version: 21.0.4+-12422083-b607.1 aarch64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Toolkit: sun.lwawt.macosx.LWCToolkit macOS 15.3 GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation Memory: 2048M Cores: 12 Metal Rendering is ON Registry: ide.experimental.ui=true i18n.locale= Android Device: Samsung Galaxy S22, running Android 14 I have had the Paywall running for some time on Expo SDK51 as described in your docs with the custom font family:<RevenueCatUI.Paywall onDismiss={onPressDown} onPurchaseCompleted={handleContinue} onPurchaseError={handleError} onRe
we are now planning to implement in-app purchases for mobile using RevenueCat. Given this change, how can we handle the trial plan assignment to a user on register via the backend while integrating with RevenueCat’s in-app purchase system? any API ?
Hi everyone, We are building web application in Flutter and wanted to ask if you can support it anyhow? I have checked official SDK and it seems to not be supported: https://pub.dev/packages/purchases_flutter/score. As of now, we have a great experience integrating your product on iOS and Android.Thanks in advance.Kind regards, Marcin
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.