Get help with anything related to RevenueCat.
Recently active
Error Domain=RevenueCat.ErrorCode Code=23 "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-offerings-empty" UserInfo={source_function=createErrorForEmptyResult(_:), source_file=RevenueCat/OfferingsManager.swift:253, readable_error_code=CONFIGURATION_ERROR, NSLocalizedDescription=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-offerings-empty} userCancelled: False We have a production app with several thousand users per day, but
I am having an issue enabling a simple button after a user subscribes using the presentPaywallIfNeeded(requiredEntitlementIdentifier: "Premium") sheet. I disable this button until a user purchases a subscription. Now this works when i click off the current view and come back via tab bar. It's when the sheet dismisses to the current view where i am not able to enable the button. I’ve tried a number of things so far:creating a isSubscribed flag which works but not for the current view until i leave and come back to that view. adding various things to OnAppear for the current view Maybe creating a Binding? Any ideas would be appreciated. The functionality comes across as being very buggy when i can't enable UI components after a user purchases a subscription and the sheet dismisses. Swiftui Xcode 16.2
I added the Paywall (RevenueCatUI.presentPaywall()).I did everything from this guide:Google Play Store | In-App Subscriptions Made Easy – RevenueCatDownloaded from closed beta, add my google account to testers, but the app try to charge my card.Meanwhile in iOS everything working good and payment not charging
We're building an iOS and an Android app that uses RevenueCat to manage the subscriptions.There's a free trial period and we'd like to send users an email 2 days before their free trial period ends. It sounded like maybe one of the webhooks could do that, but we weren't sure. Is it possible with a webhook or is there another method you suggest?
I'm currently evaluating whether adding a lifetime (non-consumable) in-app purchase is as simple as adding a new non-consumable one-time purchase to my paywall, or if it's more complicated.Here is the current technical situation of the appApp already uses RevenueCat + RC paywalls. The app currently has no login functionality, so each installation is an anonymous account.My requirements for adding a lifetime optionI want users to be able to use their lifetime purchase across all of their devices. I will be adding an account system in the future and want to make sure that the in-app purchase can only be used for one account.A few years ago I implemented a one-time purchase in an iOS app (without RC though) and I remember it was quite a struggle because people couldn't restore non-consumable items across their devices.So my first question is:Is it possible for users (on both iOS and Android) to restore non-consumable purchases across devices? I couldn't find any information on this.If so,
I know (now) I can add different subscriptions to different groups. Which will restrict users into a group. However as the option of using different groups was not known my app has all subscriptions within the same group.Subscription A $15Subscription B $10In my app Subscription B is only offered if certain criteria are met and the relevant paywall is displayed. Unfortunately as both Subscriptions are in the same group users can through their Apple Account > Subscriptions. Move to Subscription B. I know now I can prevent this with different groups but I want to stop it.In AppStoreConnect I see the option to turn off “Streamlined Purchasing”. Is this enough to prevent moving between subscriptions in the device settings and will force users to need to make purchases through the app so its logic can be applied? As I can not move product ID’s between groups. I have to set up a new ID “Subscription C”. In the new group. My thinking is to remove Subscription B from sale. This will then no
We currently have partnerships with several clients, and we want to grant them premium access. This would provide 5 tokens each month for them. However, I’m unsure if granting entitlement is the right approach. If I select a one-month option, it appears it will not auto-renew. On the other hand, a lifetime option also doesn’t seem to allow for monthly auto-renewal. What is the best way to implement a monthly auto-renewable subscription for free? Thank you.
Hi,We tried to simulate a communication failure with our webhook endpoint and we noticed that failed events are no longer resent.How can we handle this case correctly? Is there a way to manually send a failed event?Also we not found in the documentation if there is an api rest that allows us to recover failed events. There isn't, is that correct? Thanks
Hi, I'm working on Bubble (nocode) and here's the API call setup I did following the RC doc (https://www.revenuecat.com/docs/api-v1#tag/customers/operation/subscribers) to pass the user id into my app so that it replaces the id that RC provides automatically and randomly.Is something missing because this is what I think when I initialize. I don't want that, I want the users in my app to use the unique id they get in my app, to use it in RC.
Why are some of my subscriptions canceled due to a billing error? Am I doing something wrong on my end or does that mean the user’s credit card isn’t working or something? Some of the transactions are going through and others aren’t so I’m not sure why this is happening.
Hope someone can help.In my Android app (which I’m still developing, so in test / sandbox mode etc), RevenueCat purchases seem to work okay. However, after a purchase, in onCompleted, I’m trying to get EntitlementInfo from provided CustomerInfo, and it’s (EntitlementInfo) always null.I’ve also attempted to get EntitlementInfo from CustomerInfo using the RecieveCustomerInfoCallback, a few moments after the purchase completed (so, not immediately after), and EntitlementInfo is still null.Also, just to add, it’s a non-consumable product.Any suggestions?
I just got my first app approved in the App Store (thank you RevenueCat for all your help with this!) My goal is a subscription-based model: people should subscribe for $4.99/month with a six month free introductory period. I set that up in App Store Connect and it looks right: But in the App Store, it shows up with a price of $4.99, not as a subscription: Upon further inspection, I see that on the “Pricing and Availability” page, I set a price for the app of $4.99: At the bottom of this screen, there is a “remove app from sale” link. But I think that removes it from the App store entirely?I now notice that I can also change the price from $4.99 to $0.00. Is that the right way to go?Thanks for your help. I am navigating this stuff for the first time and it is confusing to me.
İ have new app on play store with subs from revenuecat. İ have so much rejected, declined and canceled payments. İ tried be sub on my app with phone via test card its not problem, i tried with real card with real money its no problem but there others have a problem i think or i just made it up. So you think my subs is working completely reason of my testing or is there a problem?
Hi RevenueCat,I'm new to using RevenueCat and have a few questions regarding my subscription setup and testing process.I have two monthly subscriptions set up in my Google Play Console:Standard – Monthly with a 7-day free trial Professional – Monthly (no trial)I've imported these products into RevenueCat and attached them to entitlements. I created an offering with both products and added them as packages.For the Professional package, I selected "Monthly," but for the Standard package (which includes the free trial), I couldn't select "Monthly," so I used the "Custom" option instead. For the paywall, I used Template 7 - Siamese Content. My questions: Am I setting this up correctly, or should I be using a different approach to configure the free trial? How can I properly test the subscription, especially the 7-day free trial, and ensure the introductory offer is displayed correctly on my paywall? Any recommendations or best practices to ensure a smooth setup would be greatly appreci
Hej -- so I’ve read several topics here about the best way to increase pricing of existing subscriptions in both iOS and Android, and wanted to make sure if I got this right, because it all feels very complicated for what should be a very common use case.Let’s say we want to increase price from 1.99 to 2.99 for a monthly subscription, and 19.99 to 29.99 for a yearly subscription, both in the same “Subscription Group” in iOS, and in the same “Subscription” in Android.We want to grandfather existing users; so ideally everybody paying 1.99 right now, will keep paying that amount until they cancel, and will still be able to upgrade to the 19.99 yearly subscription.There seem to be two strategies:Option 1:Increase the price of the existing plans in the App Store and Google Play, choosing to keep the existing customers at the same price.Pro:The “official” way -- easy to later let people opt-in / transition to the price change. Keeps the subscription groups simple. Offers etc still apply to t
I get the error in the title when I run the followingawait Purchases.purchaseProduct(product.identifier);I have verified that the Product Id is the same as the one in App Store Connect.Bank account and taxes are already set up.What is the problem and how do I fix it?
Someone could help me to make a test purchase, please? me with the test ? i think a have all connected and configurated between
Can I create paywalls targeted by acquisition channel and tied to specific offerings.For example, I want the subscription price for my paid traffic to be $30 and for organic $20
I’ve successfully deployed my app with in app annual subscription. I’ve added some new features on the app and was trying to do full regression testing and can’t seem to retest the subscription. I pushed app to Phone with Xcode and my features are locked as if I have not purchased. I tried to purchase and nothing happens. Notice log said I already have bought. Tried restore purchase and it shows success, but then nothing unlocks on my app. also pushed to TestFlight and got same results. I tried new sandbox user and can’t seem to get anything new to trigger. The app continues to think I made the purchase. going to go through code again to make sure I didn’t remove or comment out something for revenue cat, but figured I’d post here to see if anyone has an article or video on retesting changes after deployed… fyi- I also tried to log in with the sandbox user in the App Store settings, but it’s not triggering… since revenue cat is live do I need to trigger sandbox somehow? bill
I’m using the RevenueCat V2 API to retrieve customer information with the https://api.revenuecat.com/v2/projects/{project_id}/customers . According to the documentation, the response should include the active_entitlements field, but it is not present in the data I receive. only Response{ experiment: null, first_seen_at: 123, id: 'XXXXX', last_seen_at: 123, object: 'customer', project_id: 'XXX'}
I followed all instructions here: https://www.revenuecat.com/docs/service-credentials/creating-play-service-credentialsHowever subscriptions API is not connecting on revenue cat side after >48 hours.is there something missing from these instructions?if anyone can hop on a call to help fix I can pay a good consulting rate
Hi,When granting an entitlement to a user, then revoking it, the event RC sends is incorrect:{ "app_user_id": "xxxxxxx", "country_code": null, "currency": "USD", "entitlement_ids": [ "premium" ], "environment": "PRODUCTION", "event_timestamp_ms": 1736906680737, "expiration_at_ms": 1736906680737, "expiration_reason": "UNSUBSCRIBE", "is_family_share": null, "offer_code": null, "period_type": "PROMOTIONAL", "presented_offering_context": null, "presented_offering_id": null, "price": 0, "price_in_purchased_currency": 0, "product_display_name": null, "product_id": "rc_promo_premium_monthly", "product_price_in_purchased_currency": 0, "purchased_at_ms": 1736906503135, "renewal_number": null, "store": "PROMOTIONAL", "takehome_percentage": 1, "transaction_id": "yyyyyyy"}In the payload above (which was taken from the Event Details screen), you can spot that the event ts and the expiration ts is the same (which is correct and means that it’s expired right now), but the e
Hello everyone, has anyone ever had this problem? Why does it work in my simulator and not in my TestFlight? I've looked several times, but I don't know what the problem is. And what do I have to do but cordon off bank and tax?? Or nothing to do?
We’re looking for the price the trial will convert into in both webhooks payloads and export rows. It just shows as $0. I can understand the rationale but as far as I know the StoreKit client is aware of the value of the offering before the free trial is applied and this data is very difficult to join after the fact due to the fact that these store SKUs are subject to price changes. Without this data we cannot estimate unregretted projected MRR. Is there any way for me to resolve this today or is this a feature request?
Hi,I am currently using RevenueCat to manage user subscriptions in my Flutter app.For now, I am using entitlements, but I want to improve this process because I have created a backend. Each user is connected to an account linked to this backend, and I want only the backend to handle users' subscription statuses.To achieve this, I want to use RevenueCat webhooks so that the backend is always aware of each user's subscription status. With this setup, my backend can control access and allow or deny certain actions accordingly. The information from webhooks will be very sensitive because it will determine each user's subscription status.My first question is: Is this the right approach to achieve this with RevenueCat?And my second question is: I want the webhook endpoint to be very secure for the reasons mentioned above, so I created an x-api-key value to use it. Is there a way to add this to the RevenueCat webhook? I saw there is an Authorization header, where I tried to add x-api-key {val
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.