Discussion and help from anything related to RevenueCat.
Recently active
In the Android sandbox environment, the CANCELLATION callback is delayed until the subscription expires. However, in iOS, the CANCELLATION callback works without issue and is invoked after automatic renewal (subscription) is canceled.
I’m using Stripe with RC.And I use Stripe Test Clock to simulate ending subscription.It works fine with Stripe webhook, our system (BE) store the correct response from the Stripe webhook. But the mobile using RC’s entitlement and the subscription still there until the subscription will end in the future? Family (Monthly)Subscription expires in 15 daysMy question is: Does Revenue Cat support Stripe test clock simulation?
I have 2 non-consumable entitlements for my app. In the paywall, I include a “restore purchases” button. I present the paywall with RevenuCatUI.presentPaywall(). When a user taps the “restore purchases” button, the paywall is not dismissed and no update is shown until the user manually dismisses the paywall. Then the modal that I present is shown.While I’m sure I could make my modal visible via a higher z-index, I’d prefer to have the paywall to be dismissed when the user taps the restore purchases button. AI tells me to use RevenueCatUI.presentPaywallIfNeeded(), but how do I use that with 2 optional entitlements? I.e. present the paywall if either entitlement is missing.
We run an app with a yearly and monthly subscription. We have a great initial conversion rate, but a very high refund rate (10th-20th percentile). People are in general very happy about the product and we have 4.9 stars on the App Store. We are iOS exclusive.I noticed a strange pattern that I’ve seen repeatedly. Users seem to cancel their trial, but then it converts anyway and they request a refund (understandably). I attached a screenshot of a typical flow before a refund.What can be the reason for that? It is hurting out business.We use Superwall as paywall provider, it’s a Flutter app, we integrated the RC customer center so users can cancel within the app via Settings. Our monthly refund rate sits between 2-4%. We also activated the setting that RC automatically advises Apple to grant the refund, since I don’t believe in forcing people to pay for something they don’t want.Any hint is appreciated. Thanks!
Why has there been no progress in adding local time zone to the charts? Im in UTC + 10 so the default timezone is worthless to me.It means I have to export data if I want to actually correlate it with other sources.Why has RevenueCat ignored this issue for over a year? Yet I see adds everyday bragging about how many features they are supposedly shipping...
Hi RevenueCat community,I'm integrating RevenueCat into an iOS App Clip (targeting iOS 16+) and I'm running into credential validation issues. I'd love some clarity on the recommended setup.My setup:Main app bundle ID: com.mycompany.appname App Clip bundle ID: com.mycompany.appname.Clip Both should use the same in-app purchase products defined in App Store Connect App Clip is embedded in the parent app (as Apple requires) Using RevenueCat SDK v5.x (StoreKit 2)What I tried: I created a separate app entry in RevenueCat for the Clip bundle ID com.mycompany.appname.Clip, uploaded the same IAP key (.p8) and shared secret as the main app. RevenueCat validation returns: "The key is not valid or is not compatible with the Bundle ID of your app."The build with the Clip has been successfully uploaded to TestFlight, so the bundle ID definitely exists in App Store Connect but inside the mother app (not as a single standard app).My questions:Should I use a separate RevenueCat app entry for the Clip
Project: Heartwyse Issue: 3 Stripe products (2 recurring flat-rate subscriptions, 1 one-time flat-rate purchase) appear in the import list but fail on import with only the message "Import complete. 1 product failed." — no error code All products are live and active in Stripe So yeah as it shows I am having an issue importing 3 products from stripe into revenue cat. There’s no error code, it shows the products are live. It just won’t import them no matter how hard I try.
Please add chart/easy tracking of renewals. It would be very helpful to know each days total subs - conversions and renewals.Currently you have to troll through the raw customer list ThanksNicolas
I have these 4 subscriptions:In paywall the discounts are shown correctly but in the app, the monthly discount is not there: I'm using product.relative_discount for all of them.iOS works fine, just Android is the one with the issue
I have bit of a pickle. You have to have premium to be able to log in to my app, and when you log in I also log the user in with the user id in revenueCat, so I can trace them better. All good there.. BUT. I have users that buy premium on Android, and then they use their iPhone - also buying premium. And then they login on the iPhone with the same email as they use on their Android.It seems to me that the two subscriptions kind of gets merged. What is happening here? Am I setting myself up for pain? I’m thinking of adding a prefix to the user id. SO if they buy premium on iPhone and then log in, I actually log them in with ios_theirUserId and android_theitUserId.But maybe I should just change it so they can log in without Premium and then share the premium status between platforms. I’m not sure what’s happening now.
Hi everyone,I'm having major issues with RevenueCat in my beta app (built with Replit).When I try to make a purchase (both subscriptions and consumables), it gets stuck showing “Plans are loading, try again in a moment”.On top of that, on Android (internal testing) I get an error when opening the app saying it can't find the public API.I’ve configured everything: RevenueCat, App Store Connect, Google Play Console, secrets, etc. Other services like Google Maps and Google Sign In work fine.I’ve tried everything I can think of on the code and configuration side but nothing works. I really need purchases working in beta before production.Has anyone faced these exact issues recently with RevenueCat? Any ideas what could be causing this?Thanks in advance for any help!
Trying to update an IAP price on Google Play Store and I'm locked from making any changes because I need to migrate to wards the OneTimeProduct REST API (away from the current InAppProduct resource).Taking a look at the RevenueCat Google Play Store configuration docs, it looks like it still uses the inappproducts API.Is there any plans to migrate to the new OneTimeProduct API so that we can migrate away from the old and be unblocked to manage our prices?
My app offers a subscription that awards in-app credits on a recurring basis. These credits when used in the app cost me operational costs, with a relatively low profit margin. Occasionally a user will subscribe, use most or all of their credits incurring me significant charges, then request a refund which so far has been granted in full every single time by Apple.I have enabled sending consumption data to Apple, as well as tried setting the refund preference to decline refunds to avoid incurring further cash loss. I then contacted Apple, and they directly told me there is nothing I can do, and they do not have any suggestions. Perhaps this abuse is allowed by Apple, and we just have to price it in to our service cost, but I was wondering if anyone else has experienced something similar or if you have any genuine suggestions Apple isn’t sharing with me?
I had the design I wanted for phone and then switched to a tablet thinking that you all saved the phone version. I went to adjust that because it didn’t fit right on a tablet, and it messed up my phone design. Do you all not have a way to do phone and tablet separately? I’m not well versed with the design but on varying platforms, when I switch it has a separation for phone and tablet and one doesn’t affect the other.
Hi guys/gals, Does anyone know if I have to have a mobile app in order to use RevenueCat? I have a React/Node web app that I want to use RevenueCat has my paywall provider but I dont’ have a mobile app at the moment. Please advise or ask more questions about my situation. Thanks!-Colin
Hey! I’m exploring a system in my app where users can either pay a one-time fee to unlock a single specific article in a news app, or subscribe (monthly) to unlock all articles in the app.The subscription is easy. Product => Entitlement, check for the entitlement, badaboom, done.I am however not 100% sure on the best way to “unlock a single article”.I understand how to trigger the purchase, and I understand I need to implement a webhook against NON_RENEWING_PURCHASE to confirm receipt. What I’ve yet to nail down is the method in which my server knows which article to unlock.Is there a way to attach any form of metadata in the purchase? (`article: 123456`). I can’t seem to spot it.Alternatively, is the flow to have the app itself (after the purchase goes through) call an “unlock” API on my server with transactionId and article ID, which then looks for a corresponding webhook?With this flow, how would folks recommend handling the race condition between the webhook (which per docs can
I’m looking at making an implementation for .NET MAUI to support rendering Paywalls at the MAUI layer instead of trying to wrap the native Android/iOS SDKs to do it (the dependency graph is a bit of a nightmare to sort out for it unfortunately - the core SDKs aren’t too bad and I have working nicely).Is there a spec or schema somewhere that I can get the details for the data returned when requesting paywalls?I see the v2 api has an openapi spec which defines some parts, but there’s stuff like additionalProperties which seems like it could be platform specific.Could you post specs for android/iOS at the very least, to understand more what the api might return? Alternatively, if you actually have a true unified version of the object model for web or flutter or some other framework, a comprehensive and complete spec for that would also be helpful.Thanks
I changed some text. And suddenly my paywall stopped rendering. It’s falling back to RevenuCats default paywall. I’ve tried everything I can think of. It’s kind of a critical moment right now. Don’t know what to do. Any ideas?I removed the badge that I had on a button, since someone said that could give problems, but still the same. The Ai can’t find any problems. It’s the same on iOS and Android
Hi,I'm getting NOELIGIBLEOFFER (statusCode 4) for all 4 subscription products on Android. SDK version 10.1.2, Capacitor plugin.Logs show:- RC API returns 200 for offerings ✅- Products requested: elitemonthly, eliteyearly, promonthly, proyearly- All return: Product Type subs, Reason NOELIGIBLEOFFER, statusCode 4- Error: "None of the products registered in the RevenueCat dashboard could be fetched from the Play Store"What I've confirmed is correctly set up:- Products created May 5 (6 days ago, not a propagation issue)- Base plans are Active- Prices set for CA and US- Internal Testing track has a published APK- Test accounts added as Internal Testers AND in License Testing- Device restarted, Play Store cache cleared- No recent changes to base plansPackage name: com.mi4labs.carnivorexAny idea what I'm missing?
I need help with some reports and the AI model here provide different answers everytime I ask some info.I have sent multiple emails and unfortunately - no response yet.Hoping to have someone from RevenueCat to help me, asap.
Hi team — I have a production iOS app launched 5 days ago, zero subscriptionsbecause Purchases.getOfferings() returns null current. Confirmed via REST APIV2 that subscription.duration is null in your database for our products(project proj7ea33d78). Sent a detailed support ticket 12h ago, no responseyet. This is blocking revenue on a launched app. Can someone from engineeringtake a look? Reference our support ticket about project proj7ea33d78.
Hi Together, I really love RevenueCat, but I sometimes run into limitations especially in the RevenueCat Paywall Editor.For example in Google Play Console (Android) I have 2 Subscriptions setup (3 Month and 1 year). For both subscriptions I have setup a Multiphase-Offer like this: 7 days Free-Trial 40% Percent Discount on the first Subscription-Cycle (3 Month, 1 Year) Then after Auto-Renew it is the normal price without discountNow the issue is that, the customer wants to display the Monthly-Price for (3 Month and 1 Year), which is possible with the normal variable without any active offers:Normal:product.price_per_month14.99$ But in the Paywall-Logic section the variable is not working like this:~{{ product.price_per_month }}~ **{{ product.offer_price_per_month }} per Month**which results in this~~14.99$~~ 14.99$ So I read the documentation and found out that you have too use the Secondary Offer for Multiphase-offer setups:https://www.revenuecat.com/docs/tools/paywalls/creating-paywal
I’m trying to set up an integration with the v2 API. I will need to create a RevCat customer if one does not already exist for this person, so I will need to search for a customer by app user id (and create a new customer if one is not found). But I can’t find any API that allows me to find customers by app user id (which is the only thing we have on our backend). How can I do this?
Hello, I’d appreciate some advice about adding another subscription duration to a released app.The app currently has a published paywall that contains only 1 package for an approved monthly subscription. I'd like to submit a weekly subscription to Apple for review and add the weekly option to the paywall alongside the monthly one.I’ve done the following so far:added the weekly subscription in App Store Connect to the subscription group with the same level as the monthly subscription it's now in "Ready to Submit" status imported the new weekly subscription as a product in RevenueCat attached the same entitlement as the monthly subscriptionThe app uses the “current” offering from the SDK to display the paywall, so the released version should be able to show the new subscription with an updated offering/package/paywall.I’m not sure whether I should modify the existing offering and paywall or create new ones.Can I modify the existing offering and paywall in place to add the weekly option w
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.