Get help with your SDK implementation.
Recently active
Hi everyone,We recently started using RevenueCat with React (non-native) and are relying on the JS library.We’re not using RevenueCat Web Subscriptions, since we’d prefer not to be locked into their billing system. Instead, we’re just using the library to check customer subscriptions and retrieve entitlements.One thing we noticed is that the JS library is huge - about 671 KB.A few questions came up internally: Is there any way to reduce the bundle size? Maybe a “lite” or “compact” version of the library? Can we safely use the RC REST API directly from the frontend and skip the JS lib? Is it possible to listen to customer info changes same as in RN? From what we understand, RC Web Billing forces you into their billing system for web. Why is this restriction so aggressive? Is there really no way to fetch offerings and use Stripe directly without all the extra complexity? This has sparked a lot of discussion in our team about whether to keep using RC at all, since the lock-in feels
We were running into an issue during migration to 9.2.0 where we needed to call Purchases.getProducts([product.id]) before calling Purchases.purchaseStoreProduct(storeProduct).Previously we were calling Purchases.purchaseProduct(product.identifier), so we thought it would be an easy transition. But we kept getting an empty array from getProducts().Finally, we realized that RevenueCat product.identifier is NOT the product id (at least not any more for Google Play). Instead, RevenueCat’s product.identifier is a concatenation of product.id:base_plan in Google Play.RevenueCat does display the actual Google Play product id, but it’s called both “Subscription Id” and “Product Group” in the console. And neither of those attributes are part of the StoreProduct attributes in the SDK.We could parse the existing product.identifier, but that seems like a hack. Does anyone have a suggestion for how to get the actual Google Play product id programmatically via the Flutter SDK? The thing that Revenu
Hi everyone, After upgrading my project to SDK 53 (React Native 0.79.5, React 19), I’m seeing this error when opening the RevenueCat Paywall or triggering the Google Sign-In flow in iOS:[UIKitCore] View doesn't recognize its superview as a UIView. This can happen through use of CALayer API on the view layers instead of UIView API on the views.view: <UITextField ... >superview: <UIWindow ...>Issue:When I close the RevenueCat Paywall, the app’s screen becomes frozen — the UI is visible but completely unresponsive to taps or gestures. I have to kill and relaunch the app to continue. The same freeze can happen after closing the Google Sign-In sheet.What I’ve tried so far: Set "newArchEnabled": false in app.config.js → issue persists. Clean rebuild (npx expo prebuild --clean, pod install). Updated @react-native-google-signin/google-signin to latest v15. Using react-native-purchases and react-native-purchases-ui v9.2.0. Environment: Expo SDK 53 (expo@~53.0.0) React Native
Hello team, I recently added a localisation to my Paywall (greek) and immediately broke my Paywall, reverting it to the default one. I checked the logs on Android and I can see:Missing string localization for property with id: 'PTDmqcpjN9', for locale: 'en_US'.Displaying default template due to validation errors.I have checked similar issues - I exported the localisations as CSV and checked: PTDmqcpjN9 is not present in the list of strings.How can I locate which string is missing?
I'm using revenuecat's built in paywalls - when testing the payments on my device via a sandbox account, when trying to purchase products with an introductory offer (1st week free), I'm getting an error (sharing screenshots for reference).This is not happening for products without any intro offers or non-renewal subs. Thanks in advance!App error alert after trying to purchase sub product with intro offerXCode console log error
Hi RevenueCat team & community,Our app integrates the RevenueCat SDK, and our normal flow is: User purchases successfully via the app. RevenueCat sends a webhook to our backend. Our backend upgrades the user to Pro access. However, recently this stopped working — even when the purchase is successful, NO webhook is sent to our server. We have verified: No changes to the app’s SDK version. No changes to the webhook URL or backend configuration. Purchases are going through (confirmed in RevenueCat dashboard and App Store/Google Play console). This issue is critical because users are paying but not getting Pro access, which makes our app look like a scam to them.We urgently need help to: Understand why the webhook is no longer firing. Identify if there’s an outage, delay, or known bug affecting webhook delivery. Learn if there are recent changes in RevenueCat SDK or webhook infrastructure that might cause this. Has anyone else experienced the same issue recently? Any immedi
This is a follow up question or problem to this one: After investigating further, I came to the conclusion that something is not right with the connected Stripe accounts in RevenueCat dashboard (or I am missing something).So I am trying to connect both the Sandbox and the Live Stripe accounts to RC, in order to be able to test subscriptions first. In the RevenueCat “Account Settings” under General there is only the sandbox account being shown. If I then under “Apps & providers” try adding a Stripe web config, I can only choose the live Stripe account (so I have this set up for the live account), but there is no sandbox account so I could make two web configs. In Stripe dashboard, it seems like both are connected.This is probably why there is a “The receipt is not valid” error when trying to send the RC token.Could you point me in the right direction, what am I doing wrong here?Thank you.
Hey! I saw two discussion posts about Web Billing support of upgrades/downgrades from a few months ago (here and here), and I just figured I’d check to see if there’s any update. Thank you so much!
I’m using the RevenueCat KMP SDK and have a weekly subscription that includes an introductory offer.I want to display both the regular price and the introductory offer price in my UI.How can I retrieve both prices using the SDK?
I'm experiencing an issue where some users are able to make repeated purchases without actually being charged. The problem is that multiple purchases are being reported with the same transaction_id as the original purchase. From the user's perspective, it looks like a new purchase was made, but no new transaction or payment actually occurred in the App Store.This leads to users getting access multiple times without paying again.
Hello, [Flutter App - PayWall]I’ve checked different topics related to mine and i can’t fix my issue.I wanted to show the close button on my paywall. But unfortunally even if i’m using :await RevenueCatUI.presentPaywallIfNeeded(paywallKey, displayCloseButton: true); As described in the doc, it’s not working. Some people said the button is only black for them but in my case, i can’t find any it at all, so i need help. Here’s what it looks like and i’m using this recent version :purchases_flutter: 8.10.4purchases_ui_flutter: 8.10.4
Hi, i have been facing `there was a problem with the store` for over 2 weeks and don’t have a clue how to solve this issue. subscriptions have been working on my app in production but suddenly emitting errors when users are trying to subscribe. Weird thing is, it succeeds in sandbox mode with test cards but only fails in production with real payment methods. On official doc revenuecat suggests the following solutions:Google server is down → unlikely. it has been failing for ever 2weeks by 100% chance. Google Play Developer API Quota exceeded → Checked and only has 1 or 2 usages only Invalid Android package name in the RevenueCat dashboard → unlikely because it used to work before and still working in sandbox mode. Google Billing Client SERVICE_TIMEOUT error → Not sure if this is the case but what can i do if this is the issue?I have also went through the integration guide again and checked if my products and paywalls are valid. I have been receiving customer complaints and unable to re
Hey!Found issue with footer background color on iOS SDK version 5.34.0(latest at the moment). it should be black but now it's grey. Black or white system iOS appearance - the same result. My Main Section setting for paywall at the screenshot (also black). I using .originalTemplatePaywallFooter() modifier for presenting footer in the iOS SwiftUI app.
See also closed topic I would add my solution to that post but it is now closed for comments.Experience an issue on build where audioservice no longer worked if main activity became a fragmented activity.The solutions in the end was on the audioservice page itself: https://pub.dev/packages/audio_service , see ‘Integration as a FragmentActivity‘In the end this MainActivity.kt worked to resolve the issue for me:package com.something.appimport com.ryanheise.audioservice.AudioServiceFragmentActivityclass MainActivity: AudioServiceFragmentActivity() {}No changes were required in the AndroidManifest, the activity name still is android:name=".MainActivity"Hope this helps, I busted my skull on this one (and Claude’s, and Grok’s, ...)
unable to build android with on a flutter project enabled for paywalls. was working fine with previous purchases package but looking at below error. notes: tried updating java version to 17 and respective changes in gradle files etc..,increased minSdkVersion, separate note was able to build on iOS and paywall works as expected logs hereCaused by: java.lang.RuntimeException: Failed to transform '/Users/CC/.gradle/caches/modules-2/files-2.1/androidx.compose.material3/material3/1.1.0/dfa0976101de9daf0c4676fb7227fd540d4d1a08/material3-1.1.0.aar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 61. (Run with --stacktrace for more details.)
Web SDK card declined doesn't inform the client that is being denied. Shouldn’t some kind of notification or some text appear to tell the user the card was declined?
Is it possible for developers to set an appAccountToken before a user makes a purchase? The reason being is because we want to create a pending transaction object on our server, send that object ID as the appAccountToken through RevenueCat’s purchase request, and then update that object on our server once we receive the webhook from RevenueCat where we can then update that pending transaction object with the transaction information from Apple/Revenuecat. We would need the appAccountToken to be sent through the RevenueCat webhook when it’s received from Apple. We need this to implement consumable and non-consumable products. Thanks!
Hello RevenueCat, We switched to RevenueCatPaywall system.It was working correctly and still is working most of our users, but paywall isn't displaying in 2 test device. When opening the Paywall, we send the information to MixPanel with an event whether it was displayed successfully or not.936,000 users were able to successfully view the paywall, but 156 users were unable to open it. We're requesting assistance with this issue.I am sending you the code we used to open Paywall below:private fun launchPaywallActivity() { lifecycleScope.launch { delay(200) Purchases.sharedInstance.getOfferingsWith( onError = { closeWithResult() }, onSuccess = { offerings -> offerings.current?.let { currentOffering -> assignedOffer = currentOffering val launcher = paywallActivityLauncher if (launcher == null) { closeWithResult()
I'm running a React Native app and using the RevenueCat (RC) SDK.The RC SDK is initialized "successfully" with the below warnings.Please note that it says "you can still make test purchases with the RevenueCat SDK", however, the call to Purchases.getOfferings() returns empty.I have gone through the step-by-step troubleshooting checklist for iOS (which the below logs confirm), still, the offering are not being returned.=============LOGS=============[RevenueCat] ⚠️ RevenueCat SDK is configured correctly, but contains some issues you might want to addressWarnings: • Your products are configured in RevenueCat but aren't approved in App Store Connect yet. This prevents users from making purchases in production. Please ensure all products are approved and available for sale in App Store Connect. • The offerings 'standard-offering', … have configuration issues that may prevent users from seeing product options or making purchases.Product Issues: ⏳ com.helloneighbor.starkeyranch.standard_1x
Hey, I'm using RevenueCat in my React Native app. When I attempt to purchase a subscription, the subscription sheet opens successfully, but after clicking "Subscribe," the process fails and returns an error.My product is already approved by the App Store, and I’ve tested it both in Sandbox and through TestFlight, but I’m still encountering the same issue.ERROR: ERROR [RevenueCat] 💰 Product purchase for 'com.monthly_7D' failed with error: PurchasesError(error: There was a problem with the App Store., userInfo: ["source_file": "RevenueCat/StoreKitError+Extensions.swift:43", "readable_error_code": "STORE_PROBLEM", "NSLocalizedDescription": "There was a problem with the App Store.", "source_function": "asPurchasesError", "NSUnderlyingError": StoreKit.StoreKitError.unknown])
Description:Hi RevenueCat Support,I'm encountering a persistent BackendError (Internal server error) with the following message during in-app purchase attempts:[RevenueCat] 😿‼️ There was an unknown backend error. Internal server error.[RevenueCat] 😿‼️ RevenueCat SDK Configuration is not validWe encountered an unknown error that prevented the operation from completing. This is likely a temporary issue. Please try again in a few moments and, if the problem persists, contact support with this error: The operation couldn’t be completed. (RevenueCat.BackendError error 0.).Thanks,Dhaval Panchal
Hello I’m having trouble getting my custom fonts working with the paywall editor. Here is my expo-font config. The font I’m trying to add is AlfaSlabOne-Regular.ttf. `[ 'expo-font', { fonts: [ './assets/fonts/AlfaSlabOne-Regular.ttf', './assets/fonts/AlternateGotNo2D.ttf', './assets/fonts/Roboto-Regular.ttf', './assets/fonts/RobotoCondensed-SemiBold.ttf', './assets/fonts/RobotoCondensed-SemiBoldItalic.ttf', './assets/fonts/RobotoMono-Regular.ttf', './assets/fonts/Roboto-MediumItalic.ttf', ], }, ],` I saw the conversation here but that version of expo fonts where you can put the android and ios fonts in the config requires Expo 53 which I’m not ready to upgrade to. Also, it looks like the add font UI changed in the paywalls and you now upload the font directly. It is working properly on iOS.Any ideas? Thanks,Alan
Hello I have been working with RevenueCat just fine for a couple of months, and suddenly I started having problems with in some devices. The calls to get the customer info, and the offerings, are not returning anything, I can see the debug logs but the function just hangs and does not return anything not even an exception.Every call is under a try catch finally, I am logging every path and only the START is logged, and I can't get any information. Device: iPhone 13 Pro MaxiOS: 18.5Here are some logs:LOG START - Getting subscription plan LOG START - Getting subscription plan DEBUG Token expired DEBUG No Refresh token DEBUG [RevenueCat] ℹ️ Configuring SDK using RevenueCat's UserDefaults suite. DEBUG [RevenueCat] 👤 Identifying App User ID DEBUG [RevenueCat] ℹ️ Observing StoreKit.Transaction.updates DEBUG [RevenueCat] ℹ️ Debug logging enabled DEBUG [RevenueCat] ℹ️ SDK Version - 5.30.0 DEBUG [RevenueCat] ℹ️ Bundle ID - ***** DEBUG [RevenueCat] ℹ️ System Version - Version 18.5 (B
It would be good to have some settings for close button to visible after some delay. My paywall is not hard paywall but i dont want to show that close button directly. Users searching for that close buttons directly in the onboarding. Really tried with 10 different person, they immediately clicked the close button. All the fullscreen skippable ads we see on the apps uses the same basic trick, they delay the close button. We need this, I was using legacy paywalls with custom swift view for paywall but i switched to new paywall builder.
I am using purchases-kmp, and I keep getting Undefined symbol: _OBJC_CLASS_$_RCCommonFunctionality error when I build on Xcode. As far as my search is concern it is because I am missing the PurchasesHybridCommon, but attempting to install via swift package manager yields purchaseshybridcommon.git could not be resolved. Support says to use purchases-ios, but linker error persists.
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.