Get help with your SDK implementation.
Recently active
In the app, I have an option to let the user change the language. This is due to my demographic not actually changing the language on their phone to match their native language.Due do this, the language itself is managed by my state system, rather than the localization of the phone or other resources. This is an issue, as there do not seem to be any options to change the localization of the paywall within the code.Will I have to ditch paywalls altogether? Or is there something I am not seeing here?
I have done all setup, my subscriptions are in Ready to Submit status. I have done the required configuration on revenucat as well. I tried it on my physical deviceBut still getting the below error: ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)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-empty2025-03-26 19:11:36.691266+0530 pbgo_app-Stage[97115:6434967] [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-offering
The new paywall feature looks amazing! Is it possible to use with capacitor (I think not but wanted to verify) and when might it be available? Any suggestions of workarounds for the interim? Thanks!
Hi, we are trying to add a close button that has a top right alignment but couldn’t figure out the right configuration in the paywall v2 builder. We could only successfully put it on the top center but we can’t seem to figure out how to make it be placed on the right. With what components can we use to make this happen? Thanks!
I want to have some primer text before displaying the paywall, the text would change depending on whether a user has already used the trial.Given this scenario: User A logs in, starts trial and subscription, we have a hook to update our platform to reflect that the user is now premium, and then user A logs out of the app after a while.User B logs into the same device, isn’t premium so sees the primer The Google account has used the trial before, which seems to be reflected in the paywall but I don’t know how we are supposed to check that same state for our primer.This answersuggests using the entitlements, which does work but not for a new user. There is a suggestion at the bottom of that page to sync purchases but we don’t want to transfer purchasing from one user to another. Really I would just like to know what does the paywall check. Do I need to fetch all the offerings, and check all the packages to see whether the products have a freeTrial subscriptionOption?
Im encountering a nasty bug that is severely messing with the functionality of my app; once a user purchased at the end of the onboarding they immediately get routed back to the welcomeScreen which is the start of the homepage. I can’t find any errors whatsoever but I feel like it has anything to do with RC. ive also enabled the debug logs but im unable to find anything. Where am I supposed to see these logs when working with FF? Any clues on how to fix this? thank you!
I am facing an issue with product identifiers in RevenueCat across different platforms.In my app, I have the same product available on both the App Store and Google Play. While I have attached the same entitlement to both, the issue is that the identifiers are different, which is making it difficult to manage on both the backend and frontend. On the App Store, the identifier is correct. On Google Play, a base plan ID is automatically appended to the identifier. Because of this, I need to handle different identifiers separately in my backend and frontend, which is causing complexity. Since the entitlement is the same, purchases are working fine, but managing separate identifiers for the same product is not ideal.Additionally, I have mapped all products to the offering for both App Store and Google Play in RevenueCat.Could you suggest an efficient way to handle this issue?
Hello,I have an issue with android where the users should click the restore purchase button for the subscruption to be applied again, I use the built in RevenueCat Paywall.is there a way for the purchase to get restored without the user have to restore it if there is an update?Thanks.
Hi!I get a platform exception when a user cancels the purchas of an in-app product. I cannot catch the exception. Physical device, product is correctly setup, afaik. Error:PlatformException (PlatformException(1, Purchase was cancelled., {code: 1, message: Purchase was cancelled., readableErrorCode: PurchaseCancelledError, readable_error_code: PurchaseCancelledError, underlyingErrorMessage: Error updating purchases. DebugMessage: . ErrorCode: USER_CANCELED., userCancelled: true}, null)) try { final customerInfo = await Purchases.purchasePackage(currentPackage!); // Check if the product was successfully purchased by verifying active subscriptions. if (customerInfo.activeSubscriptions.contains(revenueCatProduct)) { markAsPurchased(); } } on PlatformException catch (e) { bool isCancelled = false; if (e.details is Map) { final Map details = e.details as Map; if (details['userCancelled'] == true || (details['readableErrorCode']
As far as I understand, the onPurchaseError callback on the PaywallView gets called whenever any of these errors occur: https://www.revenuecat.com/docs/test-and-launch/errors#purchasing-errors. I’ve been testing this by canceling a purchase. But as far as I can tell nothing inside the function call is getting executed:onPurchaseError: (error) {log(“Hello World”);} If I look into my logs, I can see that the error was thrown correctly though: E/[Purchases] - ERROR( 4764): 🤖‼️ BillingWrapper purchases failed to update: DebugMessage: . ErrorCode: USER_CANCELED.nullE/[Purchases] - ERROR( 4764): 🤖‼️ PurchasesError(code=PurchaseCancelledError, underlyingErrorMessage=Error updating purchases. DebugMessage: . ErrorCode: USER_CANCELED., message='Purchase was cancelled.') I’m using:> purchases_flutter 8.6.1> purchases_ui_flutter 8.6.1 SIDE NOTE:Observations apply to both V1 and V2 paywalls.So far, all that I can only confidently say is that onPurchaseComplete and onRestoreComplete are wor
Hi,I will try to do my best but this issue is pretty weird but yet, REALLY important. It's related to https://github.com/RevenueCat/react-native-purchases/issues/777 and https://github.com/RevenueCat/react-native-purchases/issues/627Sometimes, for a reason I don't understand, the `login` and `setEmail`/`setPhoneNumber`/`setUserName` functions seem doing nothing. This results in unidentified users that have subscriptions not linked to our backend because the `app_user_id` will be the anonymous one and not the custom one we are using.Then, when the app is killed and opened again, the functions will work correctly (sometimes yes, sometimes no).My login function is pretty simple : const login = async (token) => { updateAuthToken(token); await storeAuthCookie(token); const user = await fetchUser(); await Purchases.logIn(user.id.toString()); await Purchases.setEmail(user.email); await Purchases.setP
Credentials need attention Valid key format The App Store Connect API credentials are not valid or do not have sufficient permissions to list apps. Make sure the key has at least the App Manager role. The App Store Connect API credentials are not valid or do not have sufficient permissions to collect information about your subscriptions. Make sure the key has at least the App Manager role. I followed these steps:Went to App Store Connect. Under “Users & Access’ > ‘Integrations’ > ‘App Store Connect API’ > ‘Team Keys’, I created a new key with ‘App Manager’ access. Downloaded the P8 key file from App Store Connect and uploaded it to RevenueCat. I’ve also double checked Key ID, Issuer ID and Vendor Number. Everything is correct. But, I’m getting the above error.Please help me resolve this problem.
Hello I was wondering if anybody could help me, i’m trying to implement subscription testing into my app and in doing so I’m following the steps on RevenueCat on how to implement the StoreKit.When doing this, it does not allow me to create a new product in my StoreKit file (Step 3: https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store) I’ve tried editing the JSON and that completely corrupts my project.I’m not sure what to do / how do get round or even avoid this step, if anyone can help it would be greatly appreciated.
Hi,I upgraded the SDK from version 7.6.0 to version 7.15.0, and got this message when publishing on the Google Play Store: This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration. Our app does not include advertisings and does not use this permission, but using the SDK adds it to our manifest.Is this expected? Is there any way to avoid this?I confirmed this is caused by the SDK upgrade, as reverting back to SDK 7.6.0 solves it and allows publishing on the Play Store.Thanks!
Hello,I have an Expo app running on iOS successfully for sometime. I wanted to add Expo Metro Web but I keep getting blank screen. I think it is because of an uncaught error. Google Chrome Console says… Uncaught Error: The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: - You rebuilt the app after installing the package- You are not using Expo GoDoes anybody know how I can resolve this?Thanks..
Hello. I’ve only recently been flagged for the missing Restore button on my app.I’m experiencing the ‘Receipt Missing’ error for the restore action. I’ve been pulling my hair out for 2 days on this issue. I’m using Expo and have limited access to error logs. I’ve read EVERY existing post, github issue and document and none are helping my scenario.I’ve added the requisite code in your documentation for my react-native implementation.try { const customerInfo = await Purchases.restorePurchases(); if (Object.entries(customerInfo.entitlements.active).length > 0) { return true; } else { return false; }} catch (e) { return e}I”m testing my app on Testflight and using Sandbox accounts, and making a purchase (which has been working for over a year in RC), before trying the restore button.My Restore button displays the prompt for my sandbox account. On submit I get an error: “Error: The receipt is missing”Here’s my testing flow (as crazy the following appe
Hi, I need to check whether user is able to use the service with his current subscription and I found that there is “expires_date” in the response of the API.Is it ok to only check this field for validation? Will it be updated once refund or other intermediate stops happen?
Hello! when user make purchase new alias created, even on Webhooks there is only 1 alias and original app user id is no correctI am losing subscribers right now and getting refund because I cannot update the user as premiumPlease check screenshots I perceive that my sdk version were 5.6.0 when I update it it updated to 5.20.0 maybe that was the issue ?
We are building a cross-platform app.When trying the capacitor plugin, we are getting: Web not supported in this plugin.Is capacitor/ionic supported in iOS and Android only?
We received feedback from Apple’s app review.Our app is designed with RevenueCat’s “Transferring purchases seen on multiple App User IDs” setting set to “Keep with original App User ID”, which prevents users from making in-app purchases without registering an account. However, Apple’s review guidelines prohibit requiring user registration before allowing content purchases. We would appreciate any suggestions for the best workaround to comply with Apple’s guidelines while maintaining a seamless purchase experience. References:• RevenueCat Documentation: Keep with original App User ID Feedback from Apple:Guideline 5.1.1 - Legal - Data Collection and Storage We noticed that your app requires users to register with personal information to purchase in-app purchase products that are not account based. Apps cannot require user registration prior to allowing access to app content and features that are not associated specifically to the user. User registration that requires the sharing of perso
HiI create one subscription with two base plans(both with free trial offer).one is backwards compatible(monthly),other is non backwards compatibleAnd I created a default offering with three packages,(monthly, yearly, lifetime)when I called getOfferings() to get all available packages I only get monthly and lifetime ,can’t get yearly(non backwards compatible) package.I tried RevenueCatUI.presentPaywall(); It also get only two packages.btw I tried this:https://community.revenuecat.com/tips-discussion-56/google-play-store-non-backward-compatible-not-being-fetched-3888?tid=3888&fid=56 Not workingWhat can I do to solve this problem? Thank u!purchases_flutter: 8.6.1 (I also tried 8.6.0 and 8.3.1)Flutter: 3.27.1com.android.application:8.9.0 (also tried 8.8.0)gradle: gradle-8.12.1-all.zip
Hi everyone,Is anyone here a member of the Play Pass program? We're trying to figure out how to configure RevenueCat to support it properly.Specifically, we’d like to know how we can check if a user is a Play Pass member and, more importantly, how to detect when a user is no longer a member.Any insights or experiences would be greatly appreciated!Thanks in advance!
Getting error from some users around %2Error Code : A network error has occurred. An SSL error has occurred and a secure connection to the server cannot be made.
Hi, quick easy question from a newbie. What I have to use to get the Appstore country used to fetch the Appstore purchases ? Is that in packages? if let packages = offerings?.current?.availablePackages { … Also I need to be able to show the price in the Appstore country Currency , not the locale country, how to achieve that? Thank you.
I’m using Web Billing and want to make sure upgrades work for my customers, without having the possibility they could be paying for two subscriptions at the same time.I have one entitlement (premium) and two products (annual and monthly). I want to allow customers to switch, and have that switch happen at the end of the current period (i.e. end of the month for monthly, or year for annual). Is there a way to do that with web billing? If it must be done by canceling and re-subscribing, and they canceled with time left on the period, are they able to immediately re-subscribe? For instance, a monthly customer is set to renew on March 15, 2025. They want to switch to Annual. Can they cancel and immediately subscribe to annual, but not get charged until March 15, 2025? Or get charged immediately, but have their entitlement extended to March 15, 2026 anyway?Or, is there a way that I can let a Monthly customer subscribe to Annual and then automatically use the API to trigger a cancellation of
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.