Get help with anything related to RevenueCat.
Recently active
Our app is already live on the App Store. After setting up our in-app purchases (IAPs) for the first time in App Store Connect, we created a new release version and submitted it along with the IAPs for Apple’s review (with the publish setting set to manual).Our IAPs were approved last night, and our release’s status is now “Pending for Developer Release”, but when testing on RevenueCat, we are unable to fetch any offerings.Could this be due to the 24-hour waiting period, or might there be another reason?This is the example we used to test:https://github.com/RevenueCat/purchases-ios/tree/main/Examples/MagicWeatherSwiftUIThis is the error message we received: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).This is the code we called:try await Purchases.shared
Im using the the new Paywall UI library for react native. I have created a paywall with a Spanish localized version. However, when testing the app on iOS with the default language set to Spanish I get the default paywall in English. I have not yet tested this on Android. Im using react native purchases and purchases-ui 7.16.1 and expo sdk 49
Most of my offerings have same set of products.Considering I need to run multiple A/B tests involving metadata’s small change to test paywall copies and other small UI/UX changes.Which is the best way to handle multiple offerings in RevenueCat admin page?Should I delete unused offerings from admin panel when A/B test finished?Or maybe reuse offerings from previous A/B tests and update their metadata, but wondering if it will mess up original A/B test where it was used for?Are you planning to add some sort of offerings archiving to avoid them being selected, but still visible in charts without deleting them?Is it okay to have 20+ offerings at some time or even more? Already have 10 of them.
Hi,we are using webhooks for updating user profiles in our database. So far everything worked fine, but from today (or maybe yesterday) we can’t do this anymore for promotional “purchases” because the webhook event body is missing the app_id property. It is there for regular purchases.promotional:"api_version": "1.0", "event": { "aliases": [ "xxxxxxxxxxxxxxxx", "$RCAnonymousID: xxxxxxxx" ], "app_user_id": "xxxxxxxxxxxxxxxx",regular: "api_version": "1.0", "event": { "aliases": [ "$RCAnonymousID:xxxxxxxxxxxxxxxxxxxxxxxx" ], "app_id": "appd5b6xxxxxxxx", "app_user_id": "$xxxxxxxxxxxxxxxxxxxxxxxx",Is this intentional or a bug?Thanks!
We are building an Capacitor app that has both a mobile and and web components. For now, we are only planning on allowing customers to buy the subscriptions on mobile apps, but still need to provide the subscription level benefits to them when they are on the web. Each user has a user id. What options do we have for getting the customer info with their current entitlements on the web? Currently I dont have any web projects only ios and android. Thanks
I followed this guide while watching a YouTube video. I have enabled all the necessary settings, including “Google Play Android Developer API”, “Google Play Developer Reporting API”. Is there a solution to this problem? I'm new to this, so please explain in simple terms where to go and what to do.
Hi there,I am very into this purchase-subscription-use-everywhere-thing. What I have read and learned so far:A user with his Apple ID is and a custom App User ID (so he is logged in to RC and can be identified across platforms) is purchasing a subscription. In my RC dashboard config for the app ‘Transferring purchases seen on multiple App User IDs’ is set to ‘Transfer to new App User ID’. So in case, if this user (still working with his Apple ID) is (been) logged out and logs in again using a different custom App User ID, the subscription will be transferred to this, and the last App User ID will loose the subscription. Right? The user has a second iOS device (let’s say an iPad). As long as he is using this device with the same Apple ID and the same custom App User ID, he can ‘restore purchases’ and can use the subscription. Right? Now let’s say he adds an Android device. Of course, this is not used with an Apple ID, but a Google ID. The user logs in to RC with his custom App User ID a
Hi. I want to run a pricing A/B/C test. It appears that only A/B tests are currently supported by RC, but I understand I can run multiple simultaneous experiments. Would the recommended approach be to set up A/B, A/C and B/C experiments, with customer enrollment set to 40%, 30%, 30%? I am a little unclear on what the enrollment splits are actually doing in the presence of multiple experiments - my audience for each experiment would be “any audience”, so would each individual, newly-enrolled user be placed into a single experiment’s bucket? e.g. user 1 goes into the A/B experiment, user 2 goes into the A/C experiment, etc?
I’m just getting started with the REST API, and whilst looking through the docs and the getting started guide for v2 and v1, I noticed that there doesn’t seem to be anything that actually tells you the root url to call. All the endpoints are there and you could guess it might be ‘https://api.revenuecat.com’ but it would actually be really useful in the getting started guide to say something along the lines of “The base url request path is xxxx”I think the only place it actually shows is on the “getCustomers” example an even then if you’re using dark mode it’s not visible.Just a little bit of feedback
I have distributed a bunch of promo codes for my IAPs. When these promo codes are redeemed, they appear as normal purchases in revenue cat console. I can’t tell them apart from actual purchases. Is it possible to discern one from the other in the console?
I’m wanting to implement like a ‘Launch Discount’ feature in my app. I have implemented everything and it works well, to find out that the user (even though they are eligible) aren’t getting their free trail. I wanted to offer this promotional offer with a free trail. So after their trial ends, they are charged for the promotional offer for the first year, then the usual price the year after that. Currently when they try to purchase this promotional offer, they’re only offered to purchase straight away. Cannot find anything online in regards to this, so I’m assuming this is not possible?
Hello!On production - Paywall using only default English language. I have configured Ukrainian language on Paywall setup page, but still - even if region and language is set to Ukrainian, it still localized as English. Reproducibple for all iOS users.Product title is correctly returned from AppStore (in Ukrainian), but text under offer and all buttons are in English: I am using such lib versions in ReactNative:"react-native-purchases": "7.24.0","react-native-purchases-ui": "7.24.0", My questions:1. Maybe there is some option for paywalls to directly pass the desired language?2. Maybe I just need to update lib version? 8.X.X as it seems to has breaking changes, I would like to be sure if that version has the fix. Or what minimum version has the fix?My app is for learning english for begginers, and users may not even understan that default language texting.I see a lot of similar question but don’t see the actual fix.ps. It is working fine on Android.Thank you!
I ran iOS app promotions using promo codes, but RevenueCat incorrectly tracked them as revenue. This is not accurate, as promo codes do not generate actual sales. I can provide my App Store proceeds as proof. Please help me resolve this issue as soon as possible and let me know the next steps to follow.
We are in the process of gradually migrating our payments flow over to RevenueCat. In fact, we may end up with a hybrid scenario for the foreseeable future (using parts of our own system, and parts of RevCat, namely for in-app purchase management).I know the traditional way to consult entitlements is through the RC SDK, but we were hoping to be able to rely on the webhooks to update the appropriate models in our backend which currently dictate user entitlements (i.e. when to show our existing paywall).I saw in the documentation that webhooks could take 5-60 seconds to fire after the event occurs. This is concerning to the workflow we had imagined: 1. User completes IAP, 2. We get a near-immediate webhook event from RC which we use to update our database, 3. All future requests from that user are no longer blocked by our paywall (based on our own logic consulting our own database).Is this bad practice? Is the surest / fastest way to get this information to consult RC SDK for it? If the
are the “latestExpirationDate” from the SDK or the “expiration_at_ms” from webhook events equivalent to the renewal date? I can't find a dedicated renewal date field, and I wonder if these fields are updated each time the subscription is renewed.
Hi there,I am trying to implement the RevenueCat paywall into my project, I’m getting past the paywall in my app and its unlocking all the features, great!I check the debug log, i am getting the INFO: 😻💰 Purchased product log, great!However, nothing is showing up on my dashboard or even in my StoreKit transaction list...I am pretty new to this so it could be a very easy thing I am not doing, but I’ve been stuck on this for 2 days trying to fix it so any help would do at this point!Thanks.
We previously had a hard paywall, meaning when users started their trial, they also accepted that they would automatically convert to a paid sub unless they cancelled beforehand. This triggered the rc_trial_started event, and later rc_trial_converted event.We decided to experiment and move this hard paywall as we saw drop-off from people not wanting to commit. Now users can start a trial, and at the end of the month they’ll be prompted to upgrade to a paid sub (if they want). The issue is now rc_non_subscription_purchase event is triggered when they start their trial, which is throwing off all of my reporting, particularly trend analysis for trial conversions. Is there a way to continue using the rc_trial_started event so I have continuity in my reporting?
Hi, You guys do a great job with the State of Subscription App report, but there is no definition for `high priced`, `mid priced`, `low priced`. Do you have specific ranges for these? Even if they are by category.
The subscription part of my app charges users per week and the initial purchase gives users a 2 week trial period, which means they have 2 weeks before the initial subscription expires.I submitted my app for review and I got a rejection:Guideline 2.1 - Information NeededWe are not able to continue our review because we need access to a demo account with an expired subscription to review the entire purchase flow.Next StepsTo resolve this issue, provide a user name and password for a demo account with expired subscriptions in the App Review Information section of App Store Connect.The issue is when I make a sandbox test purchase, the expiration date is 2 weeks from now. How can I force a faster expiration date? If I can’t, then I have to wait 2 weeks until I can give this to the reviewer.Here are the purchase printouts from RevenueCat latestPurchaseDate= 2023-11-05 22:14:03 +0000originalPurchaseDate= 2023-11-05 22:14:03 +0000expirationDate= 2023-11-19 22:14:03 +0000 I went to App Store C
Hi,I have set up the Customer Center offer (refund + cancellation offer), but on Android, I have some strange feature. Customers are able to subscribe the refund offer on the Paywall (without any refund request, and hand-made paywall with the SDK).Looks like Revenue Cat doesn't exclude offer with `rc-customer-center` from the list of offer. Do we have to add the `rc-ignore-offer` tag too on Android ?It's not a big mess for now, but the way promotional offer works is really strange…At the moment, looks good for iOS.Regards,Platform: React-Native
I am using Flutter RevenueCat plugin for my App.I just release a closed testing and distributed to some of the users for Android.Surprisingly, a couple of users complain that from Paywall they have got their real money deducted which is true. However this is not for all users.To my understanding there is no test or production environment to set for RevenueCat. Kindly help with probable reasons. I ensured that the user email ids a included in license testing in Google Play console.Thanks in advance.
In the docs of https://www.revenuecat.com/docs/api-v2#tag/Purchase, it requires purchaseId which seems to be missing from the react native SDK?I have tried using both transactionIds in customer info and in the transaction object but it the api fails to return so. Is this because the IDs are only in sandbox/test purchases in Android? Using the get all https://www.revenuecat.com/docs/api-v2#tag/Customer/operation/list-subscriptions is less than ideal when one user has multiple purchases.
i need help with the app store connect p8 key file. i get this message: 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 But i am the owner and Admin of the App in app store connect. i don’t have any other users or groups.i ticked on everything when creating the key on the apple page. please help me resolve this
Hi,I have set up multiple apps under a single RevenueCat project because I want a subscription purchased in one app to be valid across all my apps. I have configured my products accordingly.Each app has its own offering page, and I have linked separate paywalls to each one.However, when initializing RevenueCat in app1, I get the following warning:[offering] WARN: ⚠️ There's a problem with your configuration. No packages could be found for offering with identifier app2_offering. This could be due to Products not being configured correctly in the RevenueCat dashboard, App Store Connect (or the StoreKit Configuration file if one is being used).To configure products, follow the instructions in https://rev.cat/how-to-configure-offerings.More information: https://rev.cat/why-are-offerings-emptySimilarly, when I launch app2, I get the same warning for app1_offering instead.I believe this is happening due to my setup and is not an actual issue, but if that's the case, perhaps RevenueCat could
Hey guys,I’m using RevenueCat to manage subscriptions in my app, which has an image generation feature. Right now, I register users with an anonymous RevenueCat ID, and it works great for tracking—even if users reinstall the app or clear data.But I want to set limits on free usage. Like, each user should get X free image generations per day or week, and after that, they either buy credits or subscribe. Is there a way to track and enforce these limits using RevenueCat, or would I need to handle it separately on my backend?My app currently has 1000+ daily active users and 500+ subscribers, but there are also a lot of abusers trying to bypass restrictions. I want to make sure free users have fair access without getting exploited.Has anyone implemented something like this, or is there any guide for it? Would love to hear your thoughts!Thanks!
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.