Get help with anything related to RevenueCat.
Recently active
Hi there,currently i am trying to implemented revenuecat to my flutter app. it was awesome and going so well. I am using custom app id and get the id from google sign in. To avoid creating anonymous id i implemented :await Purchases.configure(PurchasesConfiguration(withAPIKey: <my_api_key>)..appUserID = "my_app_user_id");Then User will login with google sign in and i implemented this :LogInResult result = await Purchases.logIn(<id taken from google sign in>);and it all going well and behave how it supposed to be. The problem comes when the the app restart and i need to know the user subscription status programatically when the app started, the code is:await Purchases.logIn(<id taken from google sign in>);if (customerInfo.entitlements.all["Premium Monthly"]!.isActive ==true) {//grant premium feature}and it turns null as the subscription checking is not active. but when i leave the login code behind like this :if (customerInfo.entitlements.all["Premium Monthly"]!.isActi
hi,I have an app that offers both Light and Pro subscriptions.A user subscribed to the Light subscription on 08.10.2022. Today, the user upgraded to the Pro subscription. The Pro subscription comes with a 3-day trial period. However, I've noticed that the expires_date is now set to approximately 18 days. Could someone explain this to me?
Has anyone else experienced issues with the Android Billing Library version 5 when in-app purchases don't load? I receive the error "BillingClient: Querying product details is not supported." This started earlier this month for some of my clients. It's extremely frustrating, and I can't seem to find a solution.
What’s the best way (when using RevenueCat) to create a link from your app that open up the native iOS subscription settings? E.g. user clicks button ‘manage subscription’ → the iOS settings opens up to the subscriptions page. Thanks!
Hi there, We recently created and launched some new products using the new subscription structure and the latest react native purchase SDK. Everything here (based in the UK) is working fine. However we are getting a high number of productUnavailable errors when looking at our data in lots of other countries. To name a few: Nigeria, India, Brazil, Angola, Turkey. I have checked all our products and they should be available in all countries and regions and we have no such issues with our existing backward compatible old products. The products have been activated in the store for about 3 weeks. The strange part is that I can see from our tracking data that the users are able to fetch and view the products in the app, the error only comes at the point at which they try to make the purchase.Do you have any idea what might be happening here? Many thanks, Lydia
Solved: Now its working… Don’t know how.Context: Playstore & Flutter.I have created two base plans (weekly and monthly) in a subscription in Playstore.The monthly base plan is marked as “Backwards compatible” and the weekly is not marked.In my app, only the monthly plan is showing up.Even debug log JSON has no weekly plan.How to show both plans?
We have set up subscriptions in RevenueCat as outlined in Configuring Products. Namely we have multiple, separate, independent, subscriptions, each with two different prices (one for monthly subscription, one for annual subscription). So I have one RevenueCat “offering” for each subscription and each subscription has two “packages” (one for monthly and another for annual). Obviously, I have added the Apple App Store products, and added them to the respective offering’s packages (and to the entitlements). That Apple product is live and in the store and that’s great.I am now trying to create the Google Play Store subscriptions/products, to mirror those subscriptions that are live in the Apple App Store and add them to my RevenueCat products/offerings/entitlements. But I am now seeing a warning in the Google Play Product Setup that says:At this time, please refrain from adding multiple base plans per subscription, adding multiple offers per base plan, …I had been planning on creating a su
What is to stop someone sharing their app user id with a friend and so gaining the entitlements? In other words, how do we know whether it’s the same user legitimately using the app on a second device, or a different user illegitimately user the app on their device?
Looking at option 3 in this post, it seems to be implying that if I create two RevenueCat projects for the same app, the webhook requests would be directed to the correct endpoint (production vs staging) all based on the project public API key used at the time of purchase (or other action). Is this correct? Since Google doesn’t really have a different server notification pubsub based on environment and apple is purely based on prod vs sandbox transactions, how does RevenueCat route the webhook requests to the correct endpoint?
Firstly, I want to express my gratitude for developing and maintaining this solution. I have been facing some challenges while trying to configure my development environment project, and despite my best efforts, I haven't been able to make it work successfully. I have spent several days attempting various approaches, including multiple attempts at uploading the JSON key, recreating everything from scratch, and meticulously reviewing all the checklists I could find. My current situation is as follows: I am unable to read the entitlements in my app, and on the RevenueCat dashboard, I noticed that the credentials require attention. Each item is marked with a question mark, and the message indicates that the validation for any of the three items was unsuccessful. To give you some context, I have a Flutter/Android app with two environments, namely, "dev" and "prod," and the RevenueCat prod project is functioning flawlessly. I am solely using Google Play for this app, and I have only one Go
I am in process of migrating to RevenueCatif I do not import data from my old system what will happen with all my users as they open the new app for the first time. Will they have to resubscribe to in app purchases or will revenueCat see there is a existing in app subscription and allow them to use the app. in the case of question 1 would they have the option to restore there purchase or will it automatically pull in there purchasesIf I import data what data is required. If I need user Id would this be the id provided by apple or id generated from my server [Support edit: Updated the title and description to improve the search]
Hello!We’re working on an app that allows users to register an account and create a “Business” that can list its menu, offers, branches, and many other details. We have a registration phase where the user signs in using email OTP. We want to follow a business model that includes renewable subscriptions where each subscription is associated with a business such that if the user subscribes using business A, signs out, and registers a new business B, the new business B would be on the basic plan and the user must be able to subscribe again using the business B, but since payments are associated with the Apple ID, apple will see the newer business B as already subscribed and will throw an error saying that you’re already subscribed. We thought about having different subscription groups where each group would correspond to a different business, so in the above example business A would have a subscription from Group 1, and business B would have a subscription from Group 2. We would then stor
I’m planning two create two RevenueCat projects, one for production and one for staging, (as recommended in the quickstart), but how do people differentiate the server notifications between servers? Some of our backend APIs depend on the user’s subscription status so we save this to the respective DB.One option would be to always tie sandbox and staging together. However, this breaks as soon as we want to use a Testflight app in production.Another idea I had was to prefix the user ID with the environment name. Then have the Apple/Android server notifications go to my server, read the user ID, then proxy the request to the correct RevenueCat project, which will finally call the correct environment webhook. However, this seems like a lot of moving parts.How do other people do this?
Hi there! Will RC acknowledge tokens sent via https://api.revenuecat.com/v1/receipts or do RC only acknowledge tokens sent directly from google pub/sub to RC? Regarding our ticket #28392, RC doesn't acknowledge Google purchases.» Thanks for reaching out! The SDK is the entity that would handle acknowledging subscriptions - if you're not implementing the SDK and only utilizing the REST API then yes, you'll need to acknowledge transactions yourself. but this contradicts the given topic: Could you please clarify that moment?
Hi, Looking at using RevenueCat but looking for any feedback on using with Xamarin Forms/Maui. I Dont see any real information on integration of this platform and was wondering if anyone has used in this configuration. Any tips on how to to implement or feedback would be appreciated. Alternately thinking about it doing in-app and utilizing the store portals directly but this would probbably become very combersome if there were any great membership requirements.
I am new to this service and I like it, I want to make a simple purchase where I give users 200 coins for buying a consumable product. John(Hey-Flutter) from YouTube video covered it but the code he used is critically depreciated. also, the code he used to make purchases in Andriod is not the same one he used for iOS. please can someone show me how to do it as this will help many other people who watched his video but are stuck.
Flutter version: 3.10.6RevenueCat version: 5.0.3Platfrom: Android PlatformException(23, There is an issue with your configuration. Check the underlying error for more details., {code: 23, message: There is an issue with your configuration. Check the underlying error for more details., readableErrorCode: ConfigurationError, readable_error_code: ConfigurationError, underlyingErrorMessage: There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store. More information: https://rev.cat/why-are-offerings-empty}, null) on main file:Future<void> _configureSDK() async {// Enable debug logs before calling `configure`.await Purchases.setLogLevel(LogLevel.debug); PurchasesConfiguration configuration; configuration = PurchasesConfiguration(StoreConfig.instance.apiKey)..appUserID = null..observerMode = false; await Purchases.configure(configuration);}On Futurebuilder in premium page:Future<List<Package>>
Following the documentation instructions located here on this RevenueCat “checking-if-a-user-is-subscribed” page i’ve been unable to async verify is a user is already subscribed. My code is as follows:```const checkIfPurchased = async () => {try {await Purchases.configure({ apiKey: APIKeys.apple });await Purchases.syncPurchases();const customerInfo = await Purchases.getCustomerInfo();const ENTITLEMENT_ID = 'app_199_1m';if (typeof customerInfo.entitlements.active[ENTITLEMENT_ID] !== 'undefined') {setSubscription(true);}return user?.subscription;} catch (e) {Bugsnag.notify(`Error checkIfPurchased(): ${e}`);}};this does not work. I get undefined for customerInfo.entitlements.active[ENTITLEMENT_ID] . What am I missing?
why the free trail is not shown in my react native app but i was saw this in testing not in production.even the introPrice variable is null but in google play subscription my monthly plan has free trial
ContextFlutter base app with Revenue Cat support for store in-app items payments. Developed for Android and iOS. Currently in beta access on Play Store for mainly use in Singapore area.ProblemWhen a user attempts to buy a one-time in-app item on Android devices. We catch the following exception.PlatformException(3, The device or user is not allowed to make the purchase., {code: 3,message: The device or user is not allowed to make the purchase., readableErrorCode:PurchaseNotAllowedError, readable_error_code: PurchaseNotAllowedError,underlyingErrorMessage: Error updating purchases. DebugMessage: . ErrorCode: 3.,userCancelled: false}, null)Although we have our in-app item active in Play Store Console, Ids are synced between Play Store and Revenue Cat, our Play Store profile is set to receive payments, and, we already had payments succeed before. On iOS we have no issues on this matter. Every purchase completes normally.Example of a refused payment : Based on our search, and after a respon
Hi there, we are setting up some products using the new Google Play subscription structure and I was reviewing the RC docs to get some help with naming, however there are a few things that I think might be incorrect. The docs say the following:Click "Add base plan" and fill out the associated fields. Make sure to set a price, and click "Activate". Since subscription products can only have a single base plan with the same duration and renewal type, a good way to name base plans could be <duration>_<renewaltype>, eg. annual_autorenewing. In Google Play I am able to create multiple base plans with the same duration and renewal type and successfully import them into RC as products. Am I missing something there? Base plan ids do not seem to allow underscore and so the suggested naming convention won’t work. I just wanted to confirm if these are issues in the docs or whether I am misunderstanding something fundamentally 😅. Many thanks,Lydia
In React Native, react-native-iap was used well.But this time, I want to add payment by changing to expo.I don't use google cloud.There were problems from the first.That solution seems too difficult.https://www.revenuecat.com/docs/creating-play-service-credentials I have “no link an exists google cloud project”.
I have created an application that allows users to try the application feature without attaching the credit card details. Is there any way from revenue cat to try the application for free for a few days without attaching a credit card?
Hi there!How is trial_period calculated in `/v2/products/` endpoint?1) We have a subscription with an offer in PlayStore with the Eligibility criteria type: Developer determined and the only Free Trial phase, but the data for this subscription does not match the expected values:"subscription": { "duration": "P1Y", "grace_period_duration": "P14D", "trial_duration": null} 2) For AppStore subscriptions, there is no data available at all:"subscription": { "duration": null, "grace_period_duration": null, "trial_duration": null}, even though the subscription has an Introductory Offer with a zero price.
We are in the process of migrating old subscriptions to revenuecat and will do this as we release a new version of our app. We will use the receipts API to migrate all old receipts and I think the documentation is clear it can be used for this.My concern is regarding new purchases of users on the old version of the app, when we have also released the new version. The purchases on the old version will go to our backend and in the old version they would be forwarded and acknowledged straight to google play API, but since we’re moving to revenuecat we would instead like to directly forward the purchase token to revenuecat, and not have to bother with the acknowledging.Will RC acknowledge tokens sent via this API or do RC only acknowledge tokens sent directly from google pub/sub to RC?Should I forward these new purchases at all or just wait for RC to get the message from google pub/sub? Thanks
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.