Get help with anything related to RevenueCat.
Recently active
I want to use only custom app user id’s in my iOS SwiftUI app, but also delete users. Per the documentation, logging out will cause creation of anonymous app_user_id: To only use custom App User IDs, you must take care not to generate any anonymous App User IDs in the SDK. Anonymous App User IDs are generated when the SDK is configured without a provided custom App User ID, and are also created on logOut() as mentioned above.https://www.revenuecat.com/docs/customers/user-ids#how-to-only-use-custom-app-user-ids But in order to delete users in RevenueCat programmatically to comply with Apple’s User Deletion Policies, I must log out the user in addition to deleting them:There are two ways to delete a customer in RevenueCat – manually through the customer dashboard or programmatically via the REST API. With either approach, you should make sure that the customer is also logged out through the RevenueCat SDK in addition to being deleted or they’ll get recreated on the next app launch.https:
My app don’t have any login or registration. User can simply come and use my app. My app is a chat bot and user can use it for free 3 times and after that user have to buy the subscription to keep using the app. Now the issue is that google is asking for login credentials to access to premium features of the app. How can I allow them to bypass this to access to features for free to test my app.
I am new to RevenueCat and just learning the basics of how to integrate it in Android app. As of now, I am continuosly navigating back and forth between various revenue cat webpages and I am facing this weird UI anamoly: RevenueCat has a great looking RC fabicon attached to its docs, and community pages. But on the app.revenuecat.com page, there is no favicon. Why is that happening? Is it just an issue at my end or anyone else is facing that?
HiI watched the video, I read many post but I didn’t find a solution and I’m still blocked Could not validate subscriptions API permissions My RevenueCat App ID: apped8cbf6a6e if someone from Revenuecat can help me please 🙏
Hi @Michael Fogel @Jens @kristineT ,As mentioned in the in this thread and also in this doc (https://www.revenuecat.com/docs/event-flows) in the billing issue flow section that if a billing issue is encountered, then the following events happen:-1. If grace period is enabled, then billing issue and cancellation event is dispatched simultaneously and when the grace period ends, then expiration event is dispatched immediately.2. If grace period is not enabled, then billing issue, cancellation and expiration is dispatched immediately.I have been testing the events in the sandbox environment for two products I created in play console in which I enabled grace period in one of them and disabled in the other one and I bought the subscription successfully and then I chose the test card always decline option before renewal to test the billing issue events. I observe that billing issue and cancellation event is dispatched in both scenarios but the expiration event is dispatched exactly after 10
I have a two phase website that I am building… Say I launch my website and I start charging $3.99 a month - 6 months later I roll out the second phase of my website and want to start charging $6.99 only to those who want to access the Phase two section of my site. Could this work?
I want to implement offer codes in my app. This requires using In-App Purchase Key for ios app. I added that key during app setup some time ago and everything was fine, no warnings. 2 months ago I received email regarding that api key should be updated. I generated new key and added to ios app, but had Credentials need attention warning. I tried to do this one more time today and have the same issue. I followed the same steps as previously (during initial setup that was successful). I added P8 key file from App Store Connect, Key ID and Issuer ID and the only issue I have is that warning.
hi, i use flutter with the latest packages versions. I get the following message: but i have configured a paywall: what could be wrong? i already run flutter clean and reinstalled the app.
We get a fair number customer support messages that state something along the lines of “The app forgot that I have premium access and I had to click restore purchases.” We store subscription status to a persistent state in redux so it is confusing to us where they may be losing access to their subscriber benefits. Have other apps dealt with this? Are there common race conditions on startup that can lead to this. Anecdotally it seems to happen a lot with family sharing. Sometimes it’s user error (user signs in once, and then accidentally creates a new anonymous account). Looking for common patterns we may be handling incorrectly.Is it common for apps to get customer support requests like these?
Hi,I’m currently using PaywallActivityLauncher to display the paywall in my Android application. I need to manage both the purchase state and the restoration of previous purchases. While I’ve come across methods to handle the purchase state, I haven’t found any options for managing the restoration of state.Could you provide guidance on how to handle restoring the state of purchases with PaywallActivityLauncherwhen user click the restore button.override fun onActivityResult(result: PaywallResult) { when(result){ PaywallResult.Cancelled -> Log.d("revenuecat ","Cancelled") is PaywallResult.Error -> Log.d("revenuecat ","Error") is PaywallResult.Purchased -> Log.d("revenuecat ","Purchased") }} Thank you!
I would like to know that, is there any case I could not get the subscription details through api even if I have an active entitlement.It was working fine this morning. Since 2pm IST, I am not receiving their entitlements in the revenuecat subscribers response
Hi,I want to change the text based on Product. Atleast some part.To be more clearWeekly users have 100 credits.Monthly users have 400 credits.Yearly users have 10,000 credits Is that possible with built-in paywalls or Do I need to create my custom Paywall?
After the new 'default language' feature was introduced, I couldn't save any changes to the paywall because it requires me to add a default language. However, when I try to select a default language, it doesn't work, it just stays there and does nothing.
I originally went with glassfy 2 years ago because their docs and setup for capacitor were simpler to understand. Unfortunately, they’ve now gone defunct, so I need to migrate to RC. have two apps that I need to migrate. One app is very seasonal, so glassfy may not exist any more when the users finally open their app. The other, I had issues with android not sending the subscription into to glassfy anyway, and their support refused to respond. My main question:can I simply call syncPurchases once for all users the first time they run the updated app version that has RC integrated?If I can simply call syncPurchases once on update, and each user who does this will automatically be given their subscription access, that would be great. Can anyone confirm this would work? Or do I need to do something more complicated?
I deleted a package under one offering and added it under another offering, and it will not show on the Paywall. I used the same identified for both, because it was the same package, and the system allowed it. I guess I don’t really understand why we define packages per offering and not packages outside of offerings that can be added to offerings; because I wouldn’t have deleted this package in general, but I needed it removed from the other offering, and I need all my packages to have consistent names. This makes no sense to me - how do I get this package to show on the paywall? The offering shows no error, it shows 3 packages, yet only 2 show on the paywall. Can anyone help me?
I want to test Experiments, but I am not sure I want to upgrade until I know Experiments will work for me, since you can’t downgrade. I have two Paywalls, one my default Paywall, for the “Upgrade” app version, and one a “Tip Jar” for consumables. At this point, I want to run experiments on different Tip Jar offerings to see which ones will evoke greater success. But I’m not sure how to do this because, for the non-default offering, I need to set the name of the offering in the app programmatically. Can an experiment be done for my Tip Jar if this is my current setup? Also, wouldn’t it make sense for RevenueCat to have more than one default offering, like have the main default, but sub defaults for when we display multiple paywalls in an app, that we could change them without having to launch a new version of the app?
when I try my following code to see if I can get Standard offer, useEffect(() => {setLoading(true);const fetchOfferings = async () => {// console.log("test");try {const offerings = await Purchases.getOfferings();if (Platform.OS === "android") {console.log("android offerings",JSON.stringify(offerings.all.Standard, null, 2));}if (Platform.OS === "ios") {console.log("ios offerings",JSON.stringify(offerings.all.Standard, null, 2));} if (offerings) {// console.log("offering", offerings.all["onboarding"]);if (Platform.OS === "ios") {setOffering(offerings.all["Default"]);} else {setOffering(offerings.all["Default"]);}}} catch (e) {console.error(e);} finally {setLoading(false);}}; fetchOfferings();}, []);I got LOG ios offerings { "availablePackages": [ { "offeringIdentifier": "Standard", "product": { "priceString": "$4.00", "pricePerMonth": 4, "pricePerYear": 48, "productCategory": "SUBSCRIPTION", "subscriptionPeriod": "P1M", "pri
This might be just a confirmation type of question, but I wanted to understand how this scenario works:user subscribes to a one month, no-trial subscription user gets entitlements and the webhook event comes as expected user cancels / opts-out of renewal 30 minutes from first subscribe event above the entitlement are still there as expected and will be there for ~30 days still will the cost of this subscription still flow through as revenue or is this considered a refund?
For the multi-tier paywall, is it possible to pick which tier it starts on? For instance, we have a pro tier and a premium tier. When the paywall shows, is it possible to have the premium tier show by default, even though it technically is second in the paywall (pro tab is before premium).
I just spent a good deal of time setting up offerings for consumable products. I have many different variations I would like to try with the A/B experimental testing method. In trying to setup a Paywall, I found that they are geared solely toward subscriptions and not at all toward consumable products. Is this something that I am not supposed to do? Would I be “hacking” the system if I did it? Are there any ways I can customize a template to show an offering that is made up of consumable products in a way that makes sense? Please help!
Recently I’m getting a few users complaining that they are receiving an Error Code 17 when pressing Restore on the App Paywall page.Your documentation says: “InvalidAppleSubscriptionKeyError(17, "Apple Subscription Key is invalid or not present. " + "In order to provide subscription offers, you must first generate a subscription key. " + "Please see https://docs.revenuecat.com/docs/ios-subscription-offers for more info.")” which I don’t understand. Has is something to do with a user being on a free trial and an issue with going on to the paying phase? Is there anyway I can see exactly what has happened with an individual user?
My company’s business model is changing, and part of the plan is to change our iOS subscription app to a free app. Preferably this will be a smooth experience for existing users.The app’s history:Available in TestFlight. Fewer than 100 beta testers. Public release as a fixed price paid app in the App Store. Beta testers got the app free. Change from fixed price app to monthly/annual subscription app with a free trial. Pre-existing users given free lifetime subscription. (Planned) Change from a subscription app to a completely free app.What’s the most straightforward way to convert the app from subscription to free? I’d like to know what changes to make in the App Store, and what changes to make in RevenueCat.The code changes within the app seem straightforward enough: remove the paywall, modify the storyboards, remove calls such as Purchases.shared.getOfferings { … }, and so on.Once the app has been changed from subscription to free, what happens to current subscribers? For example, wo
I’m using purchases_flutter: ^7.0.2 and still getting warning from google play consoleI already waited days and noting changed, I’m afraid to lose my app because of deadline, please help, thank you
so i have a flutter project where i am trying to add amazon IAP i did everything i set up amazon app with live testing and created in-App item which is a subscription after that i added amazons shared key in revenuecat.in flutter i configured Purchases configuration and after app starts i get the error
Hi, I’m reaching out to report an issue we encountered with a user (ID: rnfp7UG9yuNmMYwE9lQiQv1JaAy1) involving duplicate subscription charges on the same day and a missing receipt in the user’s Apple account. Issue Details:Date of Issue: August 10th Charges Incurred: 13:14: TWD 740 for a monthly subscription. 13:41: TWD 3,590 for an annual subscription. User Actions: The user initially subscribed to a monthly plan, but shortly after, they upgraded to an annual plan. Both charges were processed. Problem:The user’s Apple account reflects the charge for the annual subscription but does not show the TWD 740 monthly subscription charge. This prevents the user from requesting a refund for the monthly charge through Apple’s standard refund process. In the RevenueCat dashboard, only the annual subscription is active, aligning with what the user sees in their account. However, both charges were processed.Questions:Sync Issues: Could this issue be related to a sync problem between Apple’s sub
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.