Get help with anything related to RevenueCat.
Recently active
I’ve done everything I found online, I made sure all configurations are configured properly, checked app store connect etc. I even signed all the agreements on app store connect (saw this on another post). Still getting Package Not Available.
Hello community, this is a repost (cleaner version as I just found out about the posting rules).I have created a paywall to redirect users from my ios app to web purchase. The issue is it doesn’t show when I have non-apple products in the offering and when I add an apple product the paywall shows with the paywall in the app with apple product information and when I navigate to the web purchase page from paywall, the web page shows the web billing product as intended. My goal is to get rid of apple product here while keeping the paywall workin. Is that reasonable? I’m not sure what I’m missing here.SDK verison: 5.50.1iOS: 26.0Below is the message I get when the offering has no apple product
I created a purchase in production, which includes a trial period. Using the automated email to manage the subscription, I cancelled the subscription, but the trial is still active. This is a revenuecat web billing product, so the product & transaction are not in Stripe.How can I immediately cancel the trial also?
Hi, At RAGA 2025, you mentioned that your new Funnels product would be in Beta around the end of the year. Can I try it? Also: You frame it as “web-to-app”. But I’m more interested in having my normal app onboarding be remotely configurable, A/B testable, etc. So will I be able to use your Funnels product as my normal app onboarding flow (user downloads app, launches app, goes through RC funnel, finally lands on my apps home screen)?Thanks, Toby
Today I am trying to create another entitlement for my project. However, popup is not clickable, yet seems to be disabled. Is there any bug preventing me to create it? Can you check it?
Hi everyone! 👋New to RevenueCat here - I'm building a cross-platform app (iOS, Android, and web) and I've already invested significant time creating custom paywalls that work well for my use case.I was excited to try RevenueCat Paywalls to potentially simplify things, but I ran into a couple of friction points I wanted to share:1. No way to export/import paywall configurationBuilding a paywall in the UI takes quite a bit of time, especially when you're trying to match an existing design. It would be incredibly helpful if there was an option to export the paywall configuration as JSON or XML. This would allow us to:Use AI tools to help generate or modify paywall configs Version control our paywall designs Quickly iterate without manual UI clickingHas anyone found a workaround for this?2. Missing floating/sticky CTA button optionMy current paywall is fairly long (feature comparisons, testimonials, etc.) and I use a floating subscription button that stays fixed at the bottom of the scree
My paywall looks fine when I am looking at it in the Revenuecat web browser (in the Paywall Editor section of the website). But when I preview the paywall in the app, my stacks seem to overlap my carousel. Why do they overlap and how can I stop them from overlapping? As far as I can tell from the Paywall Editor, this shouldn't be happening.
Hey folks! 👋One of my macOS app customers noticed the app connecting to api-production.8-lives-cat.io and got a bit worried because a security scanner (Gridinsoft) flagged it as potentially suspicious: https://gridinsoft.com/online-virus-scanner/url/api_production-8_lives_cat-ioI traced it back to your SDK here: https://github.com/RevenueCat/purchases-ios/blob/bf85f138ab066ed20ec866a5cbedc1e25085e692/Sources/Networking/HTTPClient/HTTPRequestPath.swift#L143Could you confirm this is a legitimate RevenueCat domain? It would be great to have official confirmation so I can reassure my customer.If it is yours, it might be worth reaching out to Gridinsoft to get the false positive removed.Thanks!
I would like to issue prorated refunds on App Store and Google Play accounts. Within the RC documentation, I noticed refunds can be issued on RevenueCat via the user’s profile but I assume these would be full refunds?If that is the case, I assume I would have to make the partial refunds manually via Google Play Console as described in their docs: https://support.google.com/googleplay/android-developer/answer/2741495?hl=en#zippy=If I do this, would my user profiles be updated and synced on my RC dashboard as well?
The paywall in my Flutter app is being flagged as non-compliant by Google Play store because it does not conform to this policy:Unclear or invisible dismiss button: Ensure that the dismiss button in your app is clearly visible and the size and color of the dismiss button is easy for users to find. If users are not able to access any content of your app without paid subscriptions, make clear indication to the user that a subscription is required to use the app. Here is my paywall, which was constructed with the RevenueCat paywall editor: Here is the code I use to display it, which has “displayCloseButton” set to true: @override Widget build(BuildContext context, WidgetRef ref) { return GgcScaffold( body: PaywallView( offering: users.currentUserOffering, displayCloseButton: true, onPurchaseCompleted: (CustomerInfo customerInfo, StoreTransaction storeTransaction) { ref.invalidate(revenueCatIsEntitledProvider); }, onPurchaseE
I originally started developing my app on an iPhone 13 and the paywall showed up fine. But, when I switched to testing the paywall on smaller devices such as the iPhone 13 mini, the formatting and responsiveness were not correct. A part of the paywall was cut off horizontally.In the RevenueCat editor itself, if I switch between device sizes, it works fine, but when I test locally on real physical devices, the responsiveness does not translate.I’m not sure if this is an issue on my side (I did check all my formatting and none of the hardcoded values seem to interfere with the responsiveness) or with a RevenueCat setting?Let me know if you need more information - I can upload screenshots if needed. Thanks
I can’t seem to find any way to test the refund flow for simple one time consumable non-subscription purchases (no entitlements). This is mission critical because my backend needs to deduct tokens from a user’s account if they refund. I understand I should expect a CANCELLATION webhook event, but if I call GET /subscribers/{app_user_id} in response to the webhook, what will be the change to their user info object? Will the purchase entry be removed from their list of purchases in the non-subscriptions json node? Is there really no way to test refunds from the sandbox?
HelloI have linked the entitlement with the product and configured it properly. but when the user purchases the entitlement is not given in code and also not displayed in the dashboard saying “unattached products”. i am building for iOS using flutter. what should i do to fix it?
Is there a way to configure Revenue cat to revoke entitlements immediately when billing fails and the subscritpion enters a billing retry or grace period? I’m using stripe. I noticed that my past_due stripe account have an active entitlement that doesn’t expire until end of next billing cycle! I currently have code like this but it feels ugly and I prefer revenue cat handle it: // Check if all subscriptions are either not active or not trialing const hasActiveOrTrialingSub = subscriptionData?.some( (sub) => sub.status === 'active' || sub.status === 'trialing' ); // Check if any subscription is past_due const hasPastDueSub = subscriptionData?.some( (sub) => sub.status === 'past_due' ); // Step 3: Fetch active entitlements for the owner const activeEntitlements = await getActiveEntitlements(ownerProfileId); console.log("activeEntitlements", activeEntitlements); if (!activeEntitlements || activeEntitlements.length === 0) { return; } const fleetEntitlement = act
We are on iOS and have figured out that `checkTrialOrIntroDiscountEligibility` exists for dynamically determining if a user is eligible for an introductory offer.That lets us update the UI appropriately. However, we’d like to go a step further and start the free trial without showing the native sheet that requires a credit card. Is there a way to start the trial for the user without showing the paywall? We plan to show RC’s paywall after the introductory offer.
I’ve just realised that calling the new subscription Paywall when the user is seeking account status info and maybe modify the subscription level probably isn’t wise. Is it best practice to create Paywalls specific for this subscription change task?
My app has been rejected multiple times during the last few weeks because Apple reviewer is unable to complete the purchase on paywall. They gave this error message: Guideline 2.1 - Performance - App CompletenessWe were still unable to purchase the subscription successfully.Review device details:- Device type: iPad Air 11-inch (M2)- OS version: iPadOS 26.1Next 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 fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead.Resources- Note that in-app purchases do not need to have been previously approved to confirm they function correctly in review.- Note that the Account Holder must accept the Paid Apps Agreement in the Business sectio
Hello Everyone,in my app i have 2 subscriptions plans 1 month and 3 months. i am using revenuecat paywall.for 1 month the variable is {{ product.price_per_period }} its showig correct currency € symbol after price.for 3 months when i add {{ product.price }} it shows price of total 3 months with correct position in currency symbol means after price but when i add {{ product.price_per_month }}/mo to see price per month in that case the currency symbol € is showing before price
Hi RevenueCat team,I’m using the Paywalls feature to sell renewing subscriptions and everything has been working well. I recently added a new non-consumable product to both app stores, imported it into RevenueCat, and created a new offering + package + paywall for it.However, when I try to show this new paywall in my app, I get an offering_not_found error, and the paywall does not load. What I’ve checked so far The product is Approved in both App Store and Google Play. The RC product type is Non-consumable. Each store product is linked to one entitlement. The entitlement is linked to the new offering. The offering contains one package, and the paywall is set to use that exact package. When I switch the paywall to a pre-existing subscription offering, the paywall loads correctly on the frontend - so the paywall system itself works. Extra context The new offering shows correctly in the RC dashboard. I tested this both on TestFlight version and production version - got the sa
We are selling non renewable (non subscription) consumable products. All of our products are using offerings, however sometimes (rarely) a customer will purchase a product and the webhook event will have:"presented_offering_context": null,"presented_offering_id": null,This doesn’t make any sense because there is no place they can purchase a product within our app that doesn’t use an offering/paywall. Please advise
I have set up an subscription product in play console with the intention to evoke the offer with the revenuecat paywall in app. The paywall works correctly, but the problem is that the subscription must be bought before download. How to developers configure their apps to be free for download with in-app subscription purchases?
Background: New to RC, iOS product has not yet been published, Android version is lagging behind in development. I’m using RC Paywall in the onboarding process and for subscription changes, with no backend services needed for my app.Subscriptions are sold on a monthly or annual basis. There are 3 pricing tiers, all delivering full access to app functionality and based on the user’s time in the app / session count. I need to support upgrades, downgrades and term changes without restriction. So my understanding is that all 6 subscriptions need to be in the same offering. So for example: baby_monthly, baby_annual, mom_monthly, mom_annual, dad_monthly, dad_annual.It seems that I need to create custom package identifiers, and maybe use one or two of the defaults? So the mom level should be the default.Do I expand the existing id format like so:$rc_annual_baby (Annual Baby)$rc_monthly_baby (Monthly Baby)and use this for mom:$rc_monthly (Monthly)I’m probably overthinking this, but am trying
We’re trying to set up Google Play service credentials for our Android app, strictly following the steps in this guide:https://www.revenuecat.com/docs/service-credentials/creating-play-service-credentialsHowever, we are running into issues (see attached screenshot). We’re unsure whether this is caused by missing console permissions, a setup sequence issue, or something else in the Play Console UI (which looks different from the screenshots in the documentation).We need urgent help to resolve this so we can move forward with in-app purchases.Thank you!
I have issues with setting up my play store app provider, two issues, not sure if unrelated. Issue 1: Service account credentials: Credentials need attentionTried following the guide 3 times now, one with the manual setup, and two times with the automated script. Every time waiting more thn 36 hours to pass, but “Credentials need attention” would not change. After doing it three times with the last time completely starting over I think I followed everything correctly and gave the correct permissions. Not sure what I am missing at this point, and because of that, not sure what other information I can provide, other than that I followed the guide word for word. Issue 2: Google developer notificationsEven though I am “Connected to Google”, test notifications are not being shown. In google play console, when I was not connectred to revenuecat sending the test notification failed, but now that is connected, the test notification is apparently sent, but refreshing the page does not show on r
Hi everyone,I’m running into the following error with my Expo React Native project and can’t figure out the cause. I’ve created development builds and also deployed a production build on TestFlight. The error still appears in both environments. My in‑app products are approved on the App Store. The paywall is configured in RevenueCat. Despite all this, the issue persists. Has anyone experienced something similar or can suggest what I might be missing?Thanks in advance for any guidance!
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.