Get help with anything related to RevenueCat.
Recently active
A user requested a refund direct from the Play Store.RevenueCat detected this refund, it is included in the customer history and the event was sent to our webhook.However this refund is not included in the Scheduled Data Export, or in the Charts.Furthermore, a refund made on Stripe does appear in the data export and the charts.Can someone explain what is the expected behaviour here and what can be done to include Play Store refunds in our charts and exports.Kind regardsChris
I'm facing a crash on Android while using RevenueCat's Remote Paywall in my Flutter app. The error I’m getting is:com.revenuecat.purchases.Purchases$Companion.getSharedInstance kl.h0 - No singleton instance. Make sure you configure Purchases before getting the default instance. This doesn't happen on iOS, only on Android. I’ve followed the docs to initialize Purchases, but the issue persists and it’s causing a lot of crashes.Anyone else experienced this or know how to fix it?Thanks!
I have a revenue cat payment wall in my flutter app - all works fine in testing taking test subscriptions etc.. My question is - do I need to do anything to make it ready for ‘production’ ? want to make sure it can take real payments etc once I promote these releases to public production etc..Thank you in advance
Hi there, We have a meditation app, that has a 7 day free trial, initially we had the paywall after the initial login during onboarding, we noticed we were getting a 20% conversion from app download to trial, we recently updated the app, to remove the paywall during the signup and onboarding. So now users download app and automatically go into the trial, where they dont have to choose monthly or yearly plans until after the 7 day trial…Hope this is making sence…. :-)I have noticed now there are no metrics in the ‘Trial Conversion’ charts, is there a way I can monitor the download to conversion with the new version of the app? Thanks Gordon
i have a flutter app about daily horoscope and tarot cards i’ve done sandbox tester and all the other revenuecat settings when i try to test it in my iphone i come up to this error in my logs[configure] DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite. [identity] DEBUG: 👤 Identifying App User ID [configure] DEBUG: ℹ️ Debug logging enabled [configure] DEBUG: ℹ️ SDK Version - 4.25.6 [configure] DEBUG: ℹ️ Bundle ID - com.josephmp5.seeryuso [configure] DEBUG: ℹ️ System Version - Version 16.6 (Build 20G75) [configure] DEBUG: ℹ️ Not using a simulator. [configure] DEBUG: 👤 No initial App User ID [configure] DEBUG: ℹ️ Purchases is configured with response verification disabled [configure] DEBUG: ℹ️ Delegate set [offering] DEBUG: ℹ️ Offerings cache is stale, updating from network in foreground [network] DEBUG: ℹ️ GetOfferingsOperation: Started [network] DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$R
Hi,i want to publish my App in the AppStore. There is everything set up and working in the simulator with the StoreKit (as descripted in https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store#ios-14-only-testing-on-the-simulator).When i give it in the AppStore Connect review and adding the subscription (1st time) then they getting an error - it can’t fetch a product. So thats obviously cause the subscription in AppStoreConnet are notactive now. I don’t get the logic… So, how can i set up my App for productivity so that they can test a subscription that not exists yet?The StoreKit is only for XCode, right? So i nedd to set it up for Sandbox?I Thought i better ask here befor getting rejected 20x times and waiting every time like 12 hours :)Thanks!
In EU it seems that Google allows refunds within 48 hours. This means that the user can technically consume the subscription and its benefits for two days and then request accidental purchase refund. Are there any workarounds around this kind of abuse and what should I do to block these users or their in-app benefits?
Hi, I recently see strange behavior on several accounts with purchase transfers to anonymous IDs.This one particular user has renewed his subscription which shows in the User Panel events, but was not given an entitlement. The event also shows couple transfers.Restore purchases does not work for the user as seemingly from the sdk response there is no purchase to restore to.Pictures shows several things that are off. Purchases made but no entitlement Total spend = 0 2 transfers back to back (I’m seeing this on several users)How can I fix this user and give him his entitlements? for context:not in the picture, but the user has an userId alias, not only the anonymous id I’m using the ‘transfer if no active subscriptions’ setting Within in the app I configure RC on app start, but only after a registration I call login with the dedicated userId. Edit: I checked the other user which there has been the transfers, it’s the same user but with different anonymous IDs. I was able to transfer th
Do I need to create an introductory offer or a promotional offer in App Store Connect?
If I post a receipt to RevenueCat when a Stripe customer begins a subscription (as described here), will I receive webhooks from RevenueCat the same as for the App Store (i.e., trial start, payment made, subscription cancelled events)?
Hi,On iOS (and eventually Mac)I would like my app to **immediately begin a free trial the first time it is used** without prompting the user to subscribe. During the trial I would like the UI to show how long is left before the trial expires. During and after the trial I would like the user to be able to purchase a subscription.(I want to do this because I believe there is a barrier to starting a free trial that rolls in to a subscription, even though it can be freely cancelled.) Is this use scenario possible? Or do I need the user to actively choose to start a trial? If the user does have to start a trial, do trials have to automatically subscribe, or can they just run out, and then the user can choose to subscribe? If this is documented, I’d be very happy to be referred to a link, but I’ve not found a description of exactly which scenarios are and aren’t supported. Thanks!
Hello everyone, I am completely new to RevenueCat.I have an iOS-app, which has 2 different monthly subscriptions: - The Silver Subscription (Monthly, a few premium features) - The Gold Subscription (Monthly, all premium features).Fairly simple. Under Offerings → Default Offering, I created a package with the monthly Gold Subscription: I now want to add the Silver Subscription (which is also monthly). But when I try to add a new monthly package, it gives me an error saying: The package's display name or identifier already exists for this app.And if I try to attach the Silver Subscription to the already created package with the identifier $rc_monthly, it replaces the Gold Subscription, instead of “adding” the Silver Subscription to the Products. My Question: How do I add another monthly Silver Subscription in this offering? All online tutorials have 1 monthly and 1 yearly Subscription, but I need 2 monthly subscriptions. Thanks for all help in advance!
Hello support team,I have setup yearly subscription in google play and getting that offer by revenue cat. I created yearly package for 60 usd. I usually offer discount code to users. So I want when user apply discount code in yearly package, they will get 20% discount on 60 USD. is it possible to do? Please let me know.
I'm currently facing an issue with implementing promo codes in my app. Currently, my app has only one subscription, but we would like to provide different "promo codes" that offer discounts on the subscription based on the code entered. After reading the documentation on promo codes for Android, I discovered that the Play Console promo codes don't exactly meet our requirements. They only allow for providing free trials to users and don't directly support subscription discounts. However, I came across the "subscription offers" feature and had an idea of creating a subscription offer with the criteria "developer determined." This way, I could create an offer with a discount and maintain a list of valid codes within the app. When a user enters a valid code on the app paywall, the offer with the discounted price should be applied to their purchase. With this plan in mind, I created a developer-determined offer yesterday. Today, I'm trying to find a way to retrieve that offer within the app
If I submit a payment profile in the Google Play Console and it is declined, will the payment not go through?It works fine in the sandbox test, but when I try to make a real payment, it returns an OR-FGEMF-20 error.
I’d like to use RevenueCat’s open source SDK for handling subscriptions in a React Native expo app. It’s not clear to me from the docs which features are paid or free. My goal is to use RevenueCat for two reasons: To avoid creating a bridge for both Apple and Google without having to use native code To have the above with a single API for both platforms within a React Native Expo appI would like to start by implementing free features first, and then slowly add paid features on top when needed. Could you point me to any relevant resources that may explain these differences?
I created this app with Expo and made a couple of offerings with Revenuecat. Now I want to test it. The packages appear,I hit subscribe, The popup appears, I write password and hit subscribe, It says done (without the tick appearing, just a circle) and the whole popup disappears, but after 3 seconds, the purchase popup (Sandbox) reappears again and again. No matter how many times I hit subscribe, it says done and re-appears. There is no record of subscription in my Revenuecat account (yes the sandbox checkbox ticked), and I have registered a sandbox user (valid email with a password) on App Store users. I’m very new to Sandbox testing and I use iOS simulator (17). Does anyone know what to do form here? Checked the Internet and not much was found. By the way, the code does not seem to go through anything after the purchase, it does not show the `console.log` after the function: Here’s the purchase function: const subscribe = async(item) => { try { const {purchaserInfo} = aw
I have React Native project. How do we prevent a user from creating multiple accounts and sharing the logins with different users Example: Someone subscribe to the app. The have a monthly subscription and access to entitlement ALets say I have a login process that the user create and sign into an account (Account A). Now lets say that account A purchases an in app purchase and I am using the id of Account A as the sign in user for RevenueCat. If Account A purchase a subscription they will have access to content with Entitlement Pro. Now lets say that this same user logout. From my understand is that RevenueCat create an anonymous user and also create alias between the Account A and anonymous user. Now let say from the same device register a new account (Account B) if they press the restore purchase button RevenueCat will give access to this user and create an Amuse between the accountsNow if a person share the login information of account B to someone else with different device what i
I feel like a simple, but valuable update to the web paywall links would be the ability to change the subscribe button colors. The black is universal, but kind of flat and unappealing. Being able to set the hex code for those buttons ourselves would be a simple way to enhance the checkout experience.
I have set up the RevenueCat Paywall. The Paywall works correctly on my iOS app but Android app does not show the paywall.No matter what paywall I choose in RevenueCat, it only show the one below. Do I miss any setup process?
In my desktop app, I use Stripe, connected to my RevenueCat account, to display a web page with a Stripe paywall (I use a Payment Link to keep it simple), and then call the RevenueCat REST API to:list my offerings purchase a product through Stripe check if a user has purchased my one-time payment product or not recover a one-time payment purchaseI want to interact with those APIs directly from my app, since I don’t have any back-end.So in order to test that, I tried for example to call the following endpoint, in order to get my offerings, using Postman:https://api.revenuecat.com/v2/projects/{project_id}/offeringsAs described in the documentation, I use the “Authorization” header.And here is my problem:if I use my secret API key (that I created with the right authorization) as a value, it works but if I use my Stripe public API key, I got an error: “Invalid API key”Which I don’t understand since I can use the public API keys in a mobile app to achieve the same actions above.So I have tw
I want to experiment when I show the paywall to users. For example, I want to start with 3 experiments - show it immediately after they sign up, or one week later, or one month later. Making the game free completly without a trial period or subscription until that moment. I already setup 6 offerings with different price points and presentations of price options. I suppose I can create 18 offerings which are the same 6 offerings but on the 3 different time delays, but that seems like a lot. Is there a simpler way to experiment with when to show the user the paywall?
I have some apps in Brazil and I'm starting the process to receive payments with payment methods outside of Google Play, but in the RevenueCat documentation I didn't find any way to receive payments with Google Play's Alternative Billing, with the help of RevenueCat. Is it possible or will I need to use Google's official means for this. Using flutter.
Hi guys, We have the following scenario : - User is anonymous in the app, purchase subscription.- RevenueCat associates subscription with that anonymous user ID.- Our backend receives webhooks for the INITIAL_PURCHASE associated with the anonymous user id.- User signs up with our backend. User is attributed a unique user ID.- Our backend is unaware that the user has a subscription.- When the mobile apps tries to access some features (let's say GET /documents), they get an unauthorized error. Currently, the strategy we plan to use is to explicitly refresh a user subscription when the user tries to access the feature (GET /documents) and has no associated subscription. This means the feature is not paywalled in the mobile app, so the mobile app is aware of a subscription but not the server. Do you have any other strategies to deal with this?
I understand that RevenueCat Flutter SDK does not support web, only mobile devices. Our payment provider is Stripe. I see you do have a REST API that I can use in Flutter. So my question is how do I design a complete checkout process with Stripe and RevenueCat? I don’t see any examples of this online.
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.