Get help with anything related to RevenueCat.
Recently active
Referring to this part of the docs “What happens to customers that were enrolled in an experiment after it's been stopped?”. I want to target users who we’re entered into an experiment with a follow-up experiment. But it states they will see the default offering even though the experiment has ended?https://www.revenuecat.com/docs/tools/experiments-v1/experiments-results-v1 Is it possible to include these users in a new cohort for a new experiment without removing their user records or waiting for lots of new users to make the test useful? Our goal is to price test different offerings. Our first test gave use some good results but we want to continue targeting users who were a part of this first test but did not subscribe.
i can’t relace image for paywall. no interaction after tapping saving changes.
I’m using the Web Billing in Product catalog but when I use the production web purchase link (https://pay.rev.cat/[ID]/[USERID]), the form is missing to input the payment info. When I use the sandbox purchase link (https://pay.rev.cat/sandbox/[ID]/[USERID]), it works as expected showing the payment info form.I’m using Stripe as the payment processer I have Products, Offerings, and Entitlements setup Things I’ve tried with same result:Firefox and Chrome browsers Trying valid User ID Try in InCognito
The issue:When testing a Mac Catalyst app built and run from Xcode, I now receive the following Xcode-console-logged errors, in the order listed here, upon attempting a non-consumable in-app purchase using a sandbox user account:No UI context available for payment sheet request. Received error that does not have a corresponding StoreKit Error: Error Domain=SKInternalErrorDomain Code=4 "An unknown error occurred. Please try again." Purchase did not return a transaction: Error Domain=SKInternalErrorDomain Code=4 "An unknown error occurred. Please try again." There was a problem with the App Store. This could also indicate the purchase dialog was cancelled.Potentially relevant additional info:The errors have occurred consistently over a 24-hour period, suggesting that it is not just a temporary problem with Apple’s sandbox server. The errors only occur during sandbox testing of the Mac Catalyst version of the app; they do not occur during sandbox testing of the iOS and iPadOS versions of
I know a company who’s evaluating some options and I was wondering if I refer them to RevenueCat, is there any referral bonus of some sort?
Hi,I was uploading a new version of my app to App Store, but got rejected because the prices in the subscriptions did not match. Upon further investigation, I noticed that the promotional offer that was active, wasn’t being showed properly, it only showed the original price for the subscription. I went to check in RevenueCat, and saw this Could not check label. I do not understand why now it is not working, this promotional offer was added last year and was working with no issue until now. What could have happened?I think I had already added the key, how can I verify that?
My iOS app store submission cannot pass review due to reviewers being unable to pass paywall. Specifically, they said: “App remained on the same page after we tapped Continue”. With the screenshots apple reviewers provided, I can see that they see a“You’re currently subscribed to this.” and then they are unable to pass the paywall Do you know why this is happening?From what I can tell from RevenueCat documentation, I should be able to reproduce this in test environment. However, on both dev builds and TestFlight, subscriptions work fine and I am able to bypass the paywall, so I can’t reproduce it. My reviewer IDs are$RCAnonymousID:dff309041d794b93917e86553d198090 From United States $RCAnonymousID:b787ad4444d74214bb4850824894f8ad From Singapore $RCAnonymousID:73ec69c7c27e4e9aa2671ffba606d8d8 From Ireland I can tell from looking at the RevenueCat Dashboard, that they were all able to start a free Trial, and then convert to paid subscription, so I don’t think it’s a RevenueCat integrat
❓ RevenueCat Anonymous User Confusion — Purchases Made Without LoginHi everyone,I'm currently integrating RevenueCat in a Flutter app and I've run into an issue where a user made a successful purchase anonymously, even though I've explicitly configured the SDK to use Purchases.logIn(userId) after login.📦 My SetupI initialize RevenueCat in main.dart only after the user has logged in. Here's the relevant initialization code: 🔍 My Questions Can I safely call Purchases.logOut() if the user is anonymous? Will it throw or is it a no-op? Does Purchases.logIn(userId) guarantee that the userId will be used for future purchases? Or is there any chance of fallback to an anonymous ID? Why is originalAppUserId still showing an anonymous ID even after calling logIn(userId)? Shouldn't it update to match appUserId after login? Does Purchases.isAnonymous reliably tell me whether the current user is anonymous? 📎 Notes The userId is definitely non-null and only passed after the user has logged
Hi there,I have a mobile app that allows Apple and Google Sign in using Firebase. A user on their iOS device has signed in with their Apple account but now they wish to use their Google account instead. Below are the list of events.User logs in with Apple account Purchases subscription for 1 year Subscription expires Logs out of app Logs in with Google account Purchase subscription for 1 year againWith these events, the subscription still ended up getting tied to the previous Apple account instead according to RevenueCat dashboard. Note that I do call the proper “logout” and “configure” functions when the user logs in and out of my app.I had asked the user to try and click the “Restore previous purchases” button I have, but a dialog comes up and states they are already subscribed and then it’s just an error message. Unfortunately, I just display a generic error message and I don’t know exactly what the error is.Is there anything I can do here to transfer the subscription to associate w
I am made an app also Published an Play store v1 , But I cant Make an Strip account In India. Stripe Will Pause The Account Making on India users , So Any Other Way To Get Payment ? . waiting for update ?
Hello! As of the last 2-3 days, currently subscribed users received my paywall to subscribe. I had the same experience and was able to get past it by exiting out of my app and reopening it. A friend of mine said she clicked the subscribe button but didn’t seem to get charged again but I’m worried this will cause concerns with other users. Anyone experiencing this? It’s the first time I’ve seen this in the 7 months my app is live. I use the integration with flutterflow if that makes a difference. This also seemed to coincide with the recent Firebase outage. Thanks!
Does anyone here have any experience migrating Play Store & App Store developer accounts from Individual to Business accounts?For the process, I found online:Apple: You can convert the current account from Personal to Business. Google Play needs the apps transferred to a newly created Business account. Is there anything I need to do for RevenueCat?My main concern is some sort of major error like losing all current subscribers or failed payments during transition period.Any sort of tips or recommendations on how to make sure this goes smoothly would be awesome.- Aaron
Hello,I don't get any errors when I test on a real phone, but I get the same error on the emulator.The problem is when I push Google for validation, they get the error, and I don't know what to do to pass the validation.W/BillingClient(25808): There was an exception while unbinding service!W/BillingClient(25808): java.lang.IllegalArgumentException: Service not registered: com.android.billingclient.api.zzba@482def3W/BillingClient(25808): at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:2001)W/BillingClient(25808): at android.app.ContextImpl.unbindService(ContextImpl.java:2168)W/BillingClient(25808): at android.content.ContextWrapper.unbindService(ContextWrapper.java:923)W/BillingClient(25808): at com.android.billingclient.api.BillingClientImpl.zzaL(com.android.billingclient:billing@@7.1.1:1)W/BillingClient(25808): at com.android.billingclient.api.BillingClientImpl.startConnection(com.android.billingclient:billing@@7.1.1:11)W/BillingClient(25808): at com.revenuecat.purchas
Hi,I noticed that a few refund requests were recently approved in the App Store.In the past, we’ve usually preferred to decline such requests, and Apple would typically follow suit. Like, above 90% of refund request will be rejected. However, recently, it seems that a high number of refund requests have now been approved.Could you please check on your end to confirm whether the Apple refund requests have been handled correctly?For the context, the refund rejection rate is almost 100%. However, now the refund approval rate is almost 100%. Can RevenueCat team please verify on this?Thank you.
Hi everyone,I'm experiencing an issue where my app's in-app purchases (configured via RevenueCat) work perfectly in the sandbox and TestFlight environments, but fail during App Store review.⚠️ Problem: During Apple’s review, the reviewer receives an error when attempting to purchase a subscription. (Error 23: There is an issue with your configuration. Check the underlying error for more details) Apple provided this message: “We found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, an error message displayed when we attempted to buy in-app purchase. Please review the details and resources below and complete the next steps.”Next StepsWhen validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation
How to make hard paywall in react native?
Hey folks,Hoping someone here can shed some light on a perplexing issue I'm seeing with subscriptions in my app.I had a user kindly inform me that their annual subscription (purchased via Apple) recently failed due to insufficient funds. The weird part? They're still able to access all the premium features in the app.I've checked in App Store Connect, and I don't have any grace periods set up. What's even stranger is when I look at this user's profile in RevenueCat, it shows them as having an active annual subscription with no indication of a payment issue whatsoever.This has me scratching my head, so I'm wondering:How does Apple typically handle these failed payments, and how does RevenueCat usually reflect them? Any idea why a user would still have premium access after a payment fails? How long might this access last? Is there a way to configure things (either in Apple's settings or RevenueCat) so that premium access is immediately revoked if a payment fails, and only restored once t
https://community.revenuecat.com/sdks-51/getofferings-work-fine-for-iphone-testfligths-app-but-not-working-on-ipad-testflight-app-6403?tid=6403&fid=51 I had a similar problem here, but unfortunately there was no change for me after I did this solution. My terminal output shows these problems. Where exactly could the problem be?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-emptyERROR: 😿‼️ 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
I use webhooks to credit users for purchases in my app, I noticed I started to receive a new event type, INVOICE_ISSUANCE. I looked at the documentation but I have no idea what I would use this event for. The documentation says: A new invoice has been issued for the purchase. This event is sent when a new invoice is created for a subscription or non-renewing purchase that has not yet been paid. This event is only available for Web Billing purchases.Does this mean a user saw the web paywall or they clicked purchase and you just haven’t collected the funds? Will other events still be emitted? Would love a bit more documentation about why someone might care about the event.
Hello RevenueCat Team,I’m facing a circular issue during the App Store review process and would appreciate your guidance.I’ve implemented a hardcoded paywall UI on the client side (not relying on dynamic offerings), and completed all setup: Subscription products are created in App Store Connect These products are added to a new Offering in RevenueCat The Offering is configured, but the product has not yet been approved by Apple During app review, since the in-app purchase product isn’t approved, the Offering isn’t accessible via the RevenueCat SDK.Because of that, Apple sees the paywall but encounters a missing product error when attempting to make a purchase, leading to a rejection under Guideline 2.1 - App Completeness.Ironically, Apple is telling me they can’t approve the subscription product until it’s accessible in-app, but I can’t access it in-app until it’s approved and synced to RevenueCat.Despite explaining this situation to the App Store reviewers, our submissions continu
Neither Google Pay nor Apple Pay is functioning with the Web Payment Link because of the following error (in console):stripe.js:1 Uncaught (in promise) IntegrationError: Invalid value for click event resolve callback: applePay.recurringPaymentRequest.regularBilling.recurringPaymentStartDate should be a future Date. You specified: "2025-06-09T18:19:18.915Z". at le (stripe.js:1:191329) at pe (stripe.js:1:191408) at Za (stripe.js:1:355332) at stripe.js:1:388185 at stripe.js:1:380848 The monthly and annual plans can’t be purchased due to the error above. But the lifetime plan works just fine.Here is an example of my payment page https://pay.rev.cat/sandbox/nhscxmehgplykyuc/useridDoes anyone know how to fix it?
When building iOS simulator build from react native, with the react-native-purchases 7.0.0, and XCode is 16.4 (if that matters).I use this command: eas build --platform ios --profile development-ios --localThen during the [RUN_FASTLANE] I see:“'SubscriptionPeriod' is ambiguous for type lookup in this context”. However, I don’t see it if I build with eas (not locally).I understand Flutter fixed this issue recently. 1) Which version was this fixed in for react-native-purchases? 2) Why do I only see it when building locally?
I am struggling to implement a paywall with many (22) subscriptions. Because our subscriptions are based on the number of users, we have a lot of options for the users to pick from. However, when I start adding the packages to the Footer, instead of the subscriptions being scrollable, it seems the footer just grows to fill the entire screen and then cuts off the additional subscription options. What is the recommended way to approach this?
I set the duration incorrectly in product web billing, but I cannot edit it after editing. Please advise. Do I have to recreate it? I hope editing will be supported in the future.
Curious how others handle this. I’m showing my paywall early in the onboarding and I don’t require a login for my app.. it’s a game you can play against the computer if you don’t want to play online opponents (The game: Upwords). If you do want to play online I do require a login to keep track of the games, pair people etc.I have a back end server and thinking I could try a couple of thingsWhen a user starts a trail send the original RevCat anonID to my server along with days till trial ends and their push notification token (firebase messaging). I’d have to make sure a user agrees to push notifications when I do this. I could also have a dialog that allows them to enter an email for the reminder if they aren’t logged into my app. .. all this info gets sent to my server.. have a cron job on the server that collects any entries in the DB that are ending in 2 days and send out emails/push notifications If they do create a new account later, which is email based, I could search for the
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.