Get help with anything related to RevenueCat.
Recently active
Hi RevenueCat team,I'm running into an issue with the management_url returned by the v2 REST API for purchases made via web billing.Scenario:A user makes a purchase on the web (using RevenueCat's web billing). The management_url returned by the API points to our customer portal, as expected. Later, the same user restores their purchase on our iOS app (since we're sharing purchases across platforms). After this restore, the management_url for this purchase changes to the App Store subscription management page.Problem: This doesn't make sense for our use case, because:The purchase was made on the web, not the App Store. The App Store management page can't actually manage or cancel a web purchase. Our users can't manage their web purchase from the App Store page.Questions:Is this the intended behavior? Is there a way to ensure that the management_url always points to the correct portal based on the original purchase platform, even after restoring on another platform? Am I missing somethin
Hello everyone,I don’t understand why all status is canceled? I also subscribe to my app and I can see the my subscription is canceled also?What is reason of the issue?
I've integrated RevenueCat into my visionOS app. The issue I'm encountering is that the paywall always displays prices in USD, rather than the user's localized currency.For example, I'm testing the app via TestFlight while based in Australia, with my App Store account set to Australia. In the app, the RevenueCat paywall consistently shows prices in USD. However, when I tap on a product and the Apple subscription popup appears, it correctly displays the price in Australian Dollars.This discrepancy is concerning, as users might feel misled when they see different prices. Is there a setting or configuration in RevenueCat that ensures the paywall always shows the same localised currency as Apple’s subscription popup?
Hi,For the V2 API, what is the max page limit we can pass?, I tried 100000000000000000 it works. Is there any max limit or we can pass whatever value we need?I saw this post - The response is just addresses the infinite loop bug but doesnt explain if there is a max limit or not?Thanks
Hi all,I’m integrating RevenueCat with my React Native (Expo) IOS app, but my paywall is not displaying any products/packages. Instead, I see “No available packages. Please check your RevenueCat dashboard.” Here’s what I’ve done so far:My app uses the correct bundle ID in Expo, App Store Connect, and RevenueCat. I have a default offering with packages (monthly/yearly) set up in RevenueCat. My annual and monthly package is linked to a product. My subscriptions in App Store Connect are in “Ready to Submit” (not yet approved). I’m using the latest react-native-purchases SDK and calling Purchases.getOfferings() after Purchases is configured. No errors are thrown, but offerings.current is always null or has an empty availablePackages array.Questions:Is the “Ready to Submit” state in App Store Connect the reason my products don’t appear in the paywall? Is there anything else I should check in RevenueCat or my app setup? How long does it usually take for new products to propagate after approv
Hi there,We tested importing a historical iOS user using the POST /receipts endpoint, passing just these two parameters: app_user_id fetch_token (base64 encoded receipt) The call was successful, and when we search for the user in the dashboard by App User ID, we can see their full subscription history and entitlement details correctly reflected in their Customer Profile.However, this user is not appearing in: Any Customer Lists (Active, Cancelled, etc.) Revenue or MRR charts (even for All Time) Trial/Active Subscriber counts Is there something else we need to include in the payload for these users to be reflected in RevenueCat's aggregate reporting? We’re planning to import all historical users, so we want to confirm the behavior before running the full script.Appreciate any guidance here — thank you!
Hey guys, in my web billing app, the icon I upload doesn’t get saved although I get a “File uploaded successfully”. When I refresh the page it disappears as if it wasn’t uploaded. No matter the image or image size.Would love some help! 🙏Best regards,Alex
I just added an entitlement to a user, but it doesn't appear in the object returned from RevenueCat.In the RevenueCat UI, it shows that the entitlement has been granted. I understand that RevenueCat caches data for around 5 minutes, but even after 30 minutes, I'm still getting null for the subscription.Here’s how I’m checking for active subscriptions in the app:```await Purchases.invalidateCustomerInfoCache();const customerInfo = await Purchases.getCustomerInfo();return Object.keys(customerInfo.entitlements.active).length > 0;```Am I missing something? I have both monthly and yearly subscriptions set up, but in this case, I granted the user a 3-month entitlement.
I have different projects for different environments (dev, production) - cause I need a different bundle id (recommended here: https://www.revenuecat.com/docs/guides/environment-strategies). Can I somehow duplicate the paywall from one project to another? Rebuilding it takes a lot of time...
The V2 Paywalls look awesome, and I’d love to use them in my Vue / Capacitor app.Is Capacitor compatibility planned? If so, would you be willing to give a rough ETA? Thanks!
Hey!I’ve noticed there’s a skeleton loader screen that appears before the actual paywall shows up, and I’m trying to figure out how to disable or override it.It doesn’t really fit into my app’s design for a couple of reasons. I’m using the default activity indicators elsewhere, so I’d prefer to stick with that instead of a skeleton loader. More importantly, the skeleton screen always shows in dark colors, even when the app is in light mode, which kind of breaks the visual consistency of the UI.I searched through the documentation but couldn’t find anything on how to disable or customize that loading screen. Has anyone figured out a workaround for this, or is there maybe an option I’m missing?I’m developing on React Native.Any help would be much appreciated!Thanks.
I see on the installation page the list of supported platforms, but I don’t see any info about plans to support others like Capacitor. I couldn’t find any info about this anywhere else. Would love to see this in the Capacitor SDK as well!
HiFor the one of the app, I am implemented RevenueCat, all the steps are completed so far.What I have done.AppStore > Business > Agreements are filled out and no pending action on this point. Purchasing working fine in Sandbox and collected screenshots for Apple Team. Tested paywall and subscription done in test user. Correct build sent to the App team to review.Questions:Do I need to use for StoreKit for product listing , currently listing my entities and offering using RevenueCat already. Do I need to put Configuration.storekit file and configure, actually I dont think if it is related.So The result is getting rejected, after first submission.Here is the Apple Review team report:Guideline 2.1 - Performance - App CompletenessIssue DescriptionIn-app purchase products associated with the app version submitted for review, such as Pro Plan Monthly, could not be found in the submitted binary (consumable). Next StepsIf you do not want to make these in-app purchase products available
I’m using RevenueCat to add subscriptions to an existing app on the App Store.The recommended path is to generate an App Store Connect API key and share it with RC. When you first enable this API, Apple requires you to agree never to share the secret keys outside your team. Uploading them to RevenueCat seems like a violation.I’m assuming that in practice Apple doesn’t care. But is there any official word on this?
When clicking on the Continue button in Paywall V2 nothing happens. I think it worked once but after canceled the subscription and removed the customer from revenuecat dashboard I can’t get a new subscription.I have made sure my sandbox user (ios) does not have any active subscription as well.What have I missed?
Hello,I am using RevenueCat for many years and I am very satisfied with your service. However, I have a new app with a licensing model that does not work with the currently available restore behaviors.Example use case:For a cross-platform email app the licensing should not be tied to a device or app store account. It should be tied to the email address. Therefore, the AppUserId is set to the email address. Furthermore, an app store account should be able to buy the license (one time or subscription) for multiple email addresses.Current state:RevenueCat does not support multiple AppUserIds for one app store account. It also does not support the prevention of transfers of purchases. The option “Keep with original App User ID” does not work because the new purchase should be added to the current App User ID. Even when never using the restorePurchases() method of the RevenueCat, purchases are transferred when making a purchase. Example workflow:1. User logins to app with email address and
Hello,In an attempt to test the revenueCat implementation in our iOS application, we’ve been facing an understanding issues.Currently, our app is in test flight, and despite seeing our subscription on revenueCat monitoring console, we are not always able to see this subscription/purchase on the client side of the App store. For somes of our test users, the subscription is visible on their app store, and for some others it’s not visible.Besides, on our android device it seems to be working as intended. Also, we do not understand well how revenueCat categorize the transaction to be “sandbox”. Is it related to the state the app is in the store (test flight, in testing...)?Can we be sure that when our app will be released, the subscription wiil stop be labelled as “sandbox’?Thanks
Hello, I’m experiencing an issue where all subscription renewals fail due to a billing error, including for sandbox users. This started two weeks ago after I made some changes to my offerings. Specifically, I:• Added multiple offerings.• Added another entitlement to the existing entitlements. However, my product IDs have remained the same throughout these changes.At first, I didn’t think much of it, but now multiple real users’ renewals are failing due to a billing error. I tested this with new sandbox accounts, and the issue persists there as well. Issue Details:I'm using flutter and building for ios and I'm not using StoreKit Configuration, this wasn't an issue before.• Previously, users could subscribe successfully with a free trial, and after the trial period (3 days), the renewal would always go through.• However, since making these changes, all renewals now fail with:• “Entered a grace period due to a billing error”• “Subscription canceled due to a billing error”• “Subscription e
How do I link stripe payments through their payment links to a revenuecat user? I tried using the client_reference_id url param and link that in the revenuecat ui using the metadata field option but I do not think it is working.
I always have a known user ID before I get to my paywall, so do I ever need to use Purchases.logIn() ?If I sign out, I don’t call Purchases.logOut() because I don’t want to generate an anonymous ID, but when I get another user coming through and hitting the paywall, is it sufficient just to call Purchases.configure() again integrating the new appUserId?I’m just concerned that I’m using a ‘configure’ function for setting the apiKey which should only really be done once per session but I’m doing that every time I sign in a new user when it seems more sensible to use a logIn function.Are there any downsides (apart from a wasted resetting of the apiKey) with the way I’m doing this?I mean, it seems to be working…..Many thanks.
I am trying to integrate with SDK to automate free trial ending reminders and more. And I read this post - But I also notice that RevenueCat allows various SDKs including customer.io and Firebase, which I am using currently. OneSignal seems great, but I am just wondering if customer.io might be better in the long-term. How are you guys doing it? I would like to learn from those who has implemented similar features.
I have updated the dependencies of purchases_ flutter from 3.4.5 to 3.9.2.But I have an error when I install the pod file.Error is:PurchasesHybridCommon required a higher minimum deployment targetThe error occurs when I try to install the pod files and then install to an iOS device.Can you help me?
The data for all of my charts says “Last Updated: 9 hours ago”. I’ve tried refreshing the page, different browser, logging out/back in, etc., but nothing helped. The RevenueCat status page isn’t reporting any issues with dashboards, so I’m not sure if this is happening to others as well?
Hello there! During the initial implementation of RevenueCat into our react-native app, we attempted to set the app user ID as the user's first and last name stored in the app context, to facilitate easier contact later on. This led to a bug that caused a custom App User ID to be assigned to users who created accounts through external providers that do not supply this data. As a result, some users were assigned an "app user ID: undefined undefined".This bug was quickly fixed and the affected users were removed from the database.Since then, the app user ID has been assigned anonymously, in accordance with the documentation, and we identify users using assigned attributes.The issue arose later, as despite having no such users and no code in the app assigning a custom app user ID, we started seeing more users with the ID "undefined undefined", and their accounts were being merged during purchase into a single "undefined undefined" user account. I'm convinced the issue lies within the Reve
Hi,We are planning to integrate a payment gateway to our app’s web version however Stripe isn’t supported in our country (Philippines). I can’t find relevant documentation for the SDK for any sort of postback or equivalents.Since we are already using RevenueCat, is there a way we can proceed without switching to another IAP platform entirely?I’d love to hear from you if you have any suggestions (aside from opening a Stripe Atlas account).
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.