Get help with anything related to RevenueCat.
Recently active
I am using RevenueCat to manage my 3 streams of subscriptions: Android, iOS, and Web. For Web purchases, we are using the promotional entitlements API to register the relevant subscription purchases. However, we are not sure how to manage grace periods for these.Is there a recommended way of doing it using RevenueCat? Or should the logic to manage a grace period be done on our side?A potential solution we have discussed is to update a user’s subscription information when a billing issue is detected on a payment method on the Web platform. This would allow us to keep a consistent format in managing mobile and web purchases. However, there doesn't currently seem to be a way to do that.
In my application i want to achieve the following flowActual flow:User install the app → Purchase the subscription → Create account on our app → Get access to appIssue:User install the app → Purchase the subscription → Uninstall the appNow when a user re install the app we are calling restore function of Revenue Cat to restore purchases just to verify if the device has any active purchases If any purchase found → navigate to sign up screen and if no purchase is found → navigate to purchase screen againIn our app launch we are calling Restore function which restore purchases to anonymous user which is creating a edge case, that every time the app is installed it restores the purchases and any user who sign up will be bind to that purchase with provided app user id, means its possible to create multiple accounts on same device/same purchase.For-example: App launches, restore happens and if there is no logged in user, some another user will create an account on same active subscription be
Hello! I am planning on increasing the price of the subscription to access my app. I want to keep all current users on the existing price, and only increase price on new users. I am planning on creating a new subscription group (iOS) and the google play equivalent so that new users cannot go into settings and switch to the cheaper subscription plan that my legacy users will be on. My question is: can my new subscription group be connected to my existing RevenueCat Entitlement? Or will I have to create a new RC Entitlement for each subscription group? TIA!
Hey,We’ve come across a weird Family Sharing transaction, and since similar cases are not described in the RC documentation, we decided to ask it here. So, we have a user who activated our premium features via Family Sharing, and we can see it through RC (the transaction has the flag "is_family_share": true). The same user has another transaction with the same transaction_id ("is_family_share": true), but it’s a refund. How is that possible if the user who purchased the app initially doesn’t have any refund transactions?Is this how disabling Family Sharing on the user’s end reflected? The problem is that Premium stopped working for the user who activated it via Family Sharing, and they claim that they didn’t changed anything on their end.
My app can not fetch offerings on Android 7.1, on higher versions works fine. Also, works fine on iOS.Sorry, I can’t write here detailed information about error.
I was told to create a unique identifier for each course. But I have thousands of courses and creating a non-consumable for each unique course(apple id, google id, revenuecat ids, entitlements & offerings) is not optimal. How about I create pre-defined prices like ios: tier1, tier2 These are my consumable products: tier1, tier2, tier3 ...Each course has one of the predefined tier price. After selling the course with tier1 consumable, I’ll add the course id to user’s inventory in my rest service. That way, after the course is sold in one platform, it can be reached by all the platforms because I get my inventory from my rest service.Is this a feasible solution? Will there be any problem in that approach, especially by Apple?
timeline:fc_0499_1m_1m0299: removed in iOS app version 1.5 (released on 01/25/2022), replaced by fc_0099_1w_ioshow could the user (1st using app on 02/13) change from fc_0099_1w_ios to fc_0499_1m_1m0299?especially when there is no reason to change: fc_0499_1m_1m0299 is more expensive.
I have created monthly and yearly subscriptions with the same level on appstore. In the app I first subscribe for monthly subscription and then I change the subscription from monthly to yearly in the app using Revenuecat react native library. After monthly subscription expires it changes to yearly correctly. When yearly is activated I change the plan again to monthly. Instead of changing the subscription back to monthly after yearly subscription ends in an hour it simply expires and the user is left without a subscription plan. Is it a limitation on Sandbox or an error? If I first subscribe to yearly and then change to monthly then after an hour it changes to monthly correctly. Highly appreciate if someone can provide any guidance on this issue.
Do you know what the best way is to onboard a user and give them access to a subscription for free? I am using Firebase as a back end, fyi. I need a way to onboard clients and provide them access to subscription features without charging them.Thanks in advance for your help.
99% of my subscriptions are working fine, but I have a handful of users that are ‘renewing’ every month for a price of 0. Their initial conversion was also 0, as is every monthly renewal cost ongoing. Any idea what’s going on? Am I being cheated or is something just being mis-reported?I’ve never changed prices, run any offers or introductory pricing, just a 7 day free trial, which as mentioned above is pretty much working as expected apart from these few anomalies.Thanks
Hi there. I have a product which unlocks content for 1 day to specific features inside my App. (We control this time on our server so no problem here).The problem that we're having is that when we try to purchase this item more than once. Google shows a Modal: "Error: You already own this item"I guess that this is happening because products are non-consumable by default.The only thing that I need is to make this product consumable to let the user buy the item as many times as he wants.How can I do this using RevenueCat?Thank you in advance!
Hello support team, I am using sandbox to test purchase in revenue cat in flutter android. Usually test purchase last for 30 mins for annually subscription. So when a purchase info expire, it automatically renew subscription for the user. Why this happen. I have no idea. Does anyone has?
Hello, I am facing a weird problem. I purchase a subscription by flutter app. Then I see the purchase info in recent transaction in dashboard in revenue cat. That's fine. But if I log out and login in app, I see another renew transaction in chart in dashboard. Why a new renew purchase create automatically. I don't understand . Please help me.
I filed this issue in the github flutter repo, but was informed that no human will look at it because “the template was changed”.The template is entirely irrelevant to the content of the ticket, because the issue is related to the way the project itself is maintained.Please do not ignore issues just because the flutter doctor output is not attached, there are plenty of cases where this is just a waste of everybody’s time.
I was looking at some transaction detail for our account. We began an App Store price change from $0.99 to $2.99 on Jan-9-2022, we preserved pricing for existing subscribers.How is the following detail data possible? The purchased_at date is Aug-3-2021. All subsequent data for app_user renewals also are showing $2.99 so RC revenue is overstated for this app_user it seems.{ "app_id": "appa8d87477cb", "app_user_id": "$RCAnonymousID:b8bfb41443d54a4ebb9c35866e17efbb", "country_code": "US", "currency": "USD", "entitlement_ids": null, "environment": "PRODUCTION", "event_timestamp_ms": 1628006356000, "expiration_at_ms": 1630684756000, "is_family_share": false, "is_trial_conversion": true, "offer_code": null, "price": 2.99, "price_in_purchased_currency": 2.99, "product_id": "me_mo.99_1", "purchased_at_ms": 1628006356000, "store": "APP_STORE", "takehome_percentage": 0.85, "transaction_id": "460000931772246"}
On the dashboard, there’s a filter for number of total_renewals and can be exported as CSV, but how can that be read from API or webhook?The webhook only sends the data of the action, which is fine. But maybe the get subscriber end point should also send this info back.For now the workaround seems to be to play around with the dates, which is definitely not the best.
Hi! We just launched our new in-app purchase, so it’s only been live for a few days. A customer just let us know that they successfully started a subscription (they confirmed with an app store recipt and screenshot of the active subscription in the app store), but the service wasn’t activated. Looking at their customer profile, there are no indications of a subscription started in the customers history.We have had other customers activating the subscription the last days, so it looks like it’s working fine.What could possibly have gone wrong here? Troubleshooting tips?
Hello, I have a question regarding expired subscriptions: When a user resubscribes, a RENEWAL event is send.In our system, we want to track subscriptions individually, meaning every new subscription would be reflected in a new subscription object on our side. Currently we try to use the original_transaction_id as some kind of external id of a subscription.As far as I can tell, RevenueCat doesn’t really have a concept of “individual” subscriptions, RevenueCat really only cares about the current subscription status of a user and (I guess) there will always be only one single INITIAL_PURCHASE event, right? Meaning if a user buys a subscription, then cancels and then resubscribes two years later, it would still be a “renewal”.Are there any best practices for handling each subscription individually? Thanks so far!
Hello!We don’t want to force users to subscribe, so we’d like to give a trial to a user using our own mechanism without showing an in-app subscription popup.The flow would be:User signed up and received 7 days trial After 7 days we show a paywallWould that work? Is it allowed by Apple? Thanks,Stan
First time user trying to setup RevenueCat. I am attempting to use `react-native-purchases` in an Expo app build using a dev-client approach (https://medium.com/@jonathan.payet/expo-in-app-purchase-for-managed-app-cdcd643de28d). I have it getting Offerings successfully in sandbox mode for iOS, but the result is empty on Android: if (Platform.OS === 'ios') { await Purchases.setup("appl_myactualkey"); } else if (Platform.OS === 'android') { await Purchases.setup(`goog_myactualkey`); } else { console.error('Unknown OS type - Purchases will be broken!'); } try { const offerings = await Purchases.getOfferings(); console.error("RevenueCat: ", offerings); // const products = await Purchases.getProducts(); // console.error("RevenueCat Products: ", products); } catch (e) { console.error(e); } Result on Android, on stdout:RevenueCat: , Object { "all": Object {}, "current": null,}However, if I use the REST API according to the
I cannot find a clear way to implement the IOS promo codes inside React Native surely, I followed the documentation here : https://docs.revenuecat.com/docs/ios-subscription-offers I tried both offer codes and the promotional offers the promotional offers could not be used, it fired error,this offer is ineligible for the current userlooks these promotional offers cannot be used for the new users so I had to switch to the offer codes, I tried to open the sheetPurchase.presentCodeRedemptionSheet(); it does not show anything, neither give me any errors to know what’s happening Apple forcing us to use their promotional system to pass the app review and publishing to the storeMy client application is delayed for a months because of this feature
Flutter: 2.2.3Plugin: purchases_flutter: ^3.4.5Device: iOS simulator (14.5) Using Flutter + StoreKit does not work. `getOfferings()` always return `null` with empty products. I already made sure that bundle ID, product IDs, API key, and StoreKit public cert are correctly set. The weird thing is, if I do this in a native iOS app, I can fetch the offerings and products. After installing the sample native iOS app, I tried running the Flutter app without changing the StoreKit public cert, it can fetch the offerings. Which is really weird. I already tried creating a clean Flutter app with StoreKit, but it still fails to get the offerings. It will only work if I install my sample native iOS app, then run the Flutter version. I don't have any actual device with me, so simulator is the only way I can proceed with my task. Any idea on why StoreKit in Flutter does not work?
Hello!In my team we are wondering if we can get rid of Revenuecat client SDK’s and only use the REST API. Is it possible?
Hi, I am new to programming and RevenueCat. My IOS app has a subscription purchase option and the user was able to make a purchase, which I think shows up in Revenue Cat but I am not 100% sure as I don’t know how to directly relate the RevenueCat app ID to the user. Fortunately, at the present time I do not have a large number of users so I believe I have identified the user correctly. However, when the user logs and the app queries Purchases.shared.purchaserInfo, the entitlements comes back as nil. I have searched the documentation and can’t understand what I have done wrong and am at a loss of where to start troubleshooting. Any help would be appreciated. Thanks
The subscriber API is great and straightforward, but I am looking for an API to get more general per Project metrics and data such as MMR and etc. I have not found that yet.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.