Discussion and help from anything related to RevenueCat.
Recently active
Hello, this is a follow up on a problem we have on iPhone 7 that is still unresolved: It’s been over 4 months that the issue has been escalated to the engineering team and the issue still persists. Can-we have a status update?
Just a heads-up for anyone working with Paywall v2 in RevenueCat:If you add an image component to your paywall but don't select an actual image, the paywall will break at runtime. This can lead to unexpected errors or fallback behavior.Please make sure to always select an image when adding the image component.@RevenueCat team — would appreciate it if this could be fixed soon 🙏
I’ve setup a License Tester as myself to test the subscription system.Paywall is displaying and it goes through the motion and confirms the subscription has been successful, and checking my “Payments and subscriptions” in Playstore showed Active.This was not displaying in the above dashboard, I’ve cancelled it a few times just to test if a cancellation would appear, but nothing.I’ve also noticed some errors in the Cloud API for the Android Developer API, I can’t see the error exactly but I’ve provided a screen of what appears to be potentially causing the error.Any assistance in finding a resolution would be great - thank you!
When I tried to set the Google Developer Notifications Topic ID, I noticed that the project shown in the selector below was incorrect.I suspect this happened because I accidentally uploaded the wrong Service Account Credentials JSON.As a result, the project path displayed in the dropdown menu is clearly different from the GCP project I intended to use.I have already re-downloaded the correct Credentials JSON and uploaded it to RevenueCat,but the Google Developer Notification Topic below still shows the wrong project path.How can I resolve this? (The new JSON uploaded and approved) The path projects/devsparkslab3... is pointing to the previously uploaded incorrect Credentials JSON, not the expected one.
Hello,I have created a custom Paywall V2 for my offerings and I added a text component with this content:First {{ product.offer_period_with_unit }} free, then {{ product.price_per_period }}. Cancel anytime. The variable {{ product.price_per_period }} is bold while the rest of the content is Regular. The text displays correctly in the preview but in the TestFlight build the variables appears as **{{ product.price_per_period }}**. Could anyone please point me in the right direction to fix this?Thank you in advance. [Screenshot from preview] [Screenshot from TestFlight build]
Is it possible to end a free trial and offer user to upgrade to a paying subscription?I’m working on a VPN app where I would like to offer limited bandwidth for trial users. If they use it before trial ends I want to offer them to convert earlier.This question was asked for iOS sdk, however iOS is a different market.I haven’t found any limitations from Google side to offer a limited functionality for trial period as long as it is clearly described on the subscription page.
What does “Error 12 Received malformed response from the backend.” mean when running this Flutter code?CustomerInfo? customerInfo = await Purchases.getCustomerInfo();How can I debug/fix this?Note that I am only seeing this in iOS.
Hello,I wanted to try to create a Paywall V2 for one of my Offering (I have already a V1 configured) but on the Editor I can’t select any Offering in the Paywall component as you can see here :I have also tried to duplicate one of my offering, but anyway it doesn’t show up.Is it a bug or did I miss something ?Thank you
Hello,We’re looking at the behavior of RevenueCat when using promo-code in the device store (Google Play, Apple Store) and would like the community to confirm or correct these statements:When a promo-code is entered in the device store, our app isn’t active and thus can’t look in our code for the App User Id. RevenueCat save some attribute (IP Address? MAC Address?) from the transaction to recognize the user. If only one existing App User Id has this attribute, it link the promo-code to this id. If several existing App User Id have this attribute, it link the promo-code to the latest active id. If no App User Id has this attribute, RevenueCat create a new App User Id with the promo-code If the promo-code has been assigned to App User Id X but the user log in with App User Id Y, they’ll not get paid access and will see the paywall. In this case, the user can click on Restore purchase in the paywall to get access without login with App User Id X. This however will take 1-2 minutes before
I use revenuecat web sdk, my code: const {customerInfo} = await Purchases.getSharedInstance().purchase({ rcPackage: offerings.current.annual, customerEmail: customerEmail, htmlTarget: document.getElementById('purchase-button'),});Is there a way to make Apple Pay the default payment method?So that this tab opens immediately:
when i want to save my offerings, nothing is happening.if i save android product to offer, it’s okay.but when i wanna try with apple product, nothing happening.this console logs shown when i press save6sense JS Hit MAX_ITERATIONS in getNameOfClosestParentindex-BldvizOr.js:436 6sense JS Form Element: <fieldset aria-hidden="true" class="MuiOutlinedInput-notchedOutline css-1gocwb">…</fieldset> cannot have a name determined from parents, skippingindex-BldvizOr.js:436 6sense JS Hit MAX_ITERATIONS in getNameOfClosestParentindex-BldvizOr.js:436 6sense JS Form Element: <button class="MuiButtonBase-root MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-disableElevation MuiButton-root MuiButton-text MuiButton-textPrimary MuiButton-sizeMedium MuiButton-textSizeMedium MuiButton-colorPrimary MuiButton-disableElevation css-12rgzh1" tabindex="0" type="button">…</button>flex cannot h
Hi! I created a custom paywall, published it, but the correct version is displayed only if the English localization is installed, in other languages the default paywall is displayed There is localization in the application, I also added localization in the paywall constructor The problem appeared today, before that everything worked correctly
So it has been a couple of days since I launched an app and today I got a chance to get my friend to try it out. He even purchased it as it was solving his problem. Then I checked both AppStore Connect Analytics as well as Sales Reports, even the Revenuecat Dashboard - none of these show the actual purchase. Is this info realtime or does it take time to reflect? And just to be sure, I checked with him he mentioned the pro features are unlocked as well which means the purchase has gone through.
I am using the following code in RN to determine if a user is subscribed: const customerInfo = await Purchases.getCustomerInfo(); const isActive = Object.entries(customerInfo.entitlements.active).length > 0; I have received multiple emails recently about people saying they are subscribed but being prompted to subscribe again. No code has changed in this regard. I’ve received emails from iOS and Android users. Is there a better check or a bug in the SDK? The above code is run when the app boots and sets a global session state. It seems to have worked well for a year+.
We have RevenueCat working in our app, but unfortunately we are unable to properly use the Branch integration. Although we can get RC to send data successfully to Branch, Branch will now allow us to forward applicable data downstream to necessary ad platforms, due to a missing parameter. We are unable to determine what this missing paratmeter is. Has anyone else had this issue? Have you been able to resolve it? Or this a known bug at the moment within RC (a rumor I have heard)? Thanks in advance for any thoughts and assistance :)
Hello everyone,I hope you're all doing well. I'm currently working on a Flutter application that integrates Firebase for authentication and utilizes Riverpod and GoRouter for state management and navigation. While I've successfully implemented RevenueCat in previous projects, I'm encountering challenges with this particular setup.Current Setup: Flutter Firebase Authentication Riverpod GoRouter RevenueCat with Firebase integration Issues Faced: Paywall v2 Not Detected: In my previous applications, Paywall v1 functioned without issues. However, after transitioning to Paywall v2, the paywall isn't being detected or displayed as expected. I've reviewed the documentation but haven't found a solution. User Management and Exception Handling: I'm uncertain about the best practices for managing users and handling exceptions post-purchase. Specifically, I'm looking for guidance on: Ensuring that once a user completes a purchase, their entitlements are correctly recognized and mainta
Hey,I want to A/B test two paywalls with different prices, but the Experiment only lets me change the Offering, not the paywall — it always uses the default one.I tried duplicating the paywall, but I can't assign a different one in the Experiment.Any way to A/B test both paywall and pricing properly?Thanks!
Hello! I have a setup of Stripe => Webhook RevenueCat => Firebase integration.In some cases Stripe subscription is created out of the scope of RevenueCat integrations resulting in customers with an anonymous app_user_id which need to be connected to the Firebase UID manually. Adding firebaseUID manually to Stripe’s customer and subscription metadata does not update RevenueCat app_user_id even tho subscription update event is successfully delivered to RevenueCat Posting the receit via RevenueCat API does indeed add a correct alias to the customer, however that is not reflected in the Firestore database via the Firebase integration. Furthermore, I would need to get the firebaseUID as the main app_user_id, not an alias to be able to access it in Firestore. Please help me out, how should I go about this?
I’ve see this asked before both in terms of subscription price and in-app purchase price. It seems the only way to the current subscription price in the local currency is to get that information from the webhook. This seems completely against the core value proposition of Revenuecat as a source of record for in-app payments. Why don’t you guys actually fix your apis? Is this product still under active development? It seems the client sdks rely on the v1 REST api and the v2 REST api has been abandoned. Please clarify what’s going on and give a firm roadmap of when you expect to fill out the v2 api.
I have a Standard and Premium plan. If a user is sub’d to the Standard plan, how can I show the Standard plan as active and current without the purchase button? I want the user to see all plans, including their current plan. I’m trying to avoid hard-coding a current plan screen in the app.
First time submitting an app to the app store.. so i got it rejected to due RevenueCat paywall not working properly only displaying a white loading screen. Ive tested it on testflight and i get the same results, a white loading screen.my question is, did i mess up on the code, or is a white loading screen normal till they approve my “subscription” products? ORIs the paywall suppose to load without products till they approve them? im only pushing it to IOS store for now, so i havnt tested anything on GOOGLE. Ive attached an image of what i see when i reach the “paywall”
I’m sometimes seeing that the initial view of the RC Paywall or calling `Purchases.shared.customerInfo()` can be super slow - sometimes over 90 seconds. This even happens after I’ve loaded the offerings successfully.For Paywalls, this results in the view showing the ‘loading’ screen (where it has the skeleton of a paywall, with the ‘shine’ reflecting over the top) for an extended period of time. For calling `customerInfo()`, it means my app takes a significant amount of time before the function returns a value, or it means I don’t get any values from the `customerInfoStream` for that same duration after app launch.As mentioned, this happens even if I call `Purchases.shared.offerings()`, which always seems to return quickly.This seems to only be a problem on the first launch of the app, and it mainly seems to be an issue when running in the simulator - running from Xcode onto a real device seems to be ok, although this has me nervous. Primarily, I want to know if this behavior is exp
Hello, I am new to revenuecat, so I'm sorry in advance if this is a very basic question.The issue I am facing is this:1) when I am in the create paywall view and have selected a design, after selecting an offering.2) I do not understand how to get the prices that are defined in the AppStoreConnect to show up in the corresponding offering in the Paywall.I have successfully created Products with the Status being Ready to submit. The offerings and Entitlements are also created without any issue.The big issue is when I am in the paywall editor and use Variables to show the price, the price being shown in the design is NOT my Store Price. Is this expected? Will I see the dummy RC values for prices and NOT the real prices from AppStore in the Paywall editor?
Hi team, This issue has been there for over week and I tried all possible solutions based on my search and asking around, the in-app one-time purchase flow seems to work absolutely fine if the app is installed on my device through XCode Build process or even in simulator but when installed through Testflight, it shows “No Packages Available”. This is my first app so it is getting even tricker, and just a few hours ago Apple rejected for the same reason saying in-app purchase is not loading. Because it shows “No Packages Available”, in “Upgrade Now” button is not visible. I checked the Revenuecat details as well as Apple Store Connect details and I see it seems to be correct. Any help please?
Hi team,I’d like to know how I can control which offers are shown on the paywall, depending on my own logic.Specifically:• On Google Play, if I create an offer with the eligibility set to “Developer Determined” and tag it with something like offerX, how can I make sure that the paywall only shows that specific offer if I choose to, based on logic in my code?• On iOS, if I create a promotional offer, is it possible to display the paywall with that promo shown as “redeemed” (active) or not, also based on code logic?In other words, I’d like to programmatically control which prices and offers are shown on the paywall: either the standard prices or the prices from a specific promotional or introductory offer I’ve created and selected.Is this currently supported using your Paywall API / SDK, or do I need to build a custom paywall to have that level of control?Thanks in advance! Best regards,David
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.