Get help with anything related to RevenueCat.
Recently active
Hi,We wanted to use Google’s cancel subscription API and need the token (linkedPurchaseToken) for the same.Our Android app makes purchases as per this documentation.Checked the payload that of the request that is made when a purchase event happens but don’t see it there. Is there any way we can get linkedPurchaseToken when a purchase is made? Thanks
We are currently facing an issue with our mobile application, on payment rejections for subscriptions paid in Brazilian Real (BRL). This problem has persisted for approximately four months and exclusively affects payments made in BRL, as payments in USD and other currencies process without issue. To aid in your investigation, here are some details from our recent analysis: Technical Details1. Error Code: PurchaseNotAllowedError(3, "The device or user is not allowed to make the purchase.")2. Error details: debugMessage: '', code: 'E_SERVICE_ERROR',responseCode: 3 }3. Details: This was tested in app, on emulators. Also using test and real credit cards. Have you seen this error before? I dug through forums but wasn't able to locate a solution.
Hello, My company works with RevenueCat for Google and Apple payments, and while I can find Google Payments inside RevenueCat with some specific info (GPA number, for example), I cannot do so with Apple Payments. Usually, customers send us the receipt for the purchase, but we always send them to Apple to locate their account, causing the users to be very frustrated about our support. Is there a way to locate those purchases, and if so, how to do it? What info is necessary? Cheers
Incomplete documentation on https://www.revenuecat.com/docs/api-v1-spec#tag/entitlements?In the “duration” section, it says “See below for possible values.” but I’m struggling to find it. Am I missing something?
Users started complaining that they need to click "Restore Purchase" when installing on a new device. They say they don't have to do it in other apps (also without login, on Android). Are there any risks or drawbacks with running for instance syncPurchases the first time the app is started on a new device?syncPurchases on Android?Would it work in this scenario? Any drawbacks?restorePurchases on Android?Would it work in this scenario? Any drawbacks?syncPurchases on iOS?Here kaitlin wrote : syncPurchases unfortunately won’t work at fresh app install on a new device for anonymous ids, it just syncs the receipt on the device. So if there is not a receipt on the device, it definitely won’t work (still silently).But in production there is always a receipt when downloading the app from the App Store, right?Wouldn’t that mean that syncPurchases should work fine to restore proactively?restorePurchases on iOS?Could trigger a login prompt - not good.
Currently, we have Monthly, 6 Months and 1 Year plans and we offer 7 days trial period. And we want to remove Monthly plan. There are some users has already subscribed for 1 month. Some of them are in free trial for 1 month, some of them completed free trial and bought the Monthly (renewable) product. My questions are: If user already subscribed for Monthly plan and if we remove monthly plan from RevenueCat what will happen? Will user continue using remaning days of 1 month? After the completing remaining days how app will reflect to this? Will they be asked by 6 months and 1 year plans? If we change 7 days free trial to 3 days free trial, what will happen? Are the subscribed users will continue remaining days of 7?
i would like to know if i can use revnue cat in Serbia ?is it legal to use it in Serbia and can i connect my Serbian bank account to revnuew cat ?
I was just wondering what <RevenueCatUI.PaywallFooterContainerView> returns. I would like to use this if a promise or listener is available to use my own global subscription state. I'm aware of PAWALL_RESULT, but how can I use it with the <RevenueCatUI.PaywallFooterContainerView>. And if for whatever reason, I can’t use <RevenueCatUI.PaywallFooterContainerView> to return the promise and I must use RevenueCatUI.presentPaywall(), how can I hide the footer. Thanks
I am looking for others with possible solutions as I’m seemingly running into brick walls elsewhere.I have been happily running two products with both IAPs and subscriptions through RevenueCat for past four months with no problems.Last Tuesday the purchase data (subscriptions appear fine) for both products has almost halved when viewed through RevenueCat. App Store Connect and other sources check out fine, RC however is missing between 30-60pc of data from In App Purchases. My own code or implementation has not changed or updated in the past month.Having reported this to RC a week ago, beyond the usual links to documentation around discrepencies I have not had any helpful response or little to encourage me that anyone is actually looking at this.Therefore I’m here trying to find or understand different approaches to solving this issue wherever it may lie. For my part I’m not losing any money on it but RC as a solution, bar the paywall, is now largely useless without the real time data.
Hi,Can we use our own paywalls? because we need to use our own design.Our own design based on ‘Landscape’ mode, and we need to implement our own wall.Thank you
In a nutshell, same story as in the other post, but now I'm hitting the 14000 limit as well. E.g. in English:I would not say it's too much info, especially given that Google would not approve the app without this extra info.
Hello,I have an iOS app with existing subscribers and I want to migrate to RevenueCat. Unfortunately, I have not saved the base64-encoded receipt files, but I have saved the iOS transaction IDs that allows a lookup of subscriber data from Apple’s App Store Server API. Is there any migration path that supports using this information? I’m aware of the client-side migration path but would prefer a server-side path. Thanks,Alan
Why do I see different localization on my paywall created via revenuecat paywalls on TestFlight? I’ve configured different locales in the revenuecat’s paywall localization section but whenever I launch the Testflight version of my app, a random localised version of paywall gets shown. I want to know if this happens only on TestFlight users or can it happen for App Store users as well.
Hello, I am receiving this RC error into my error monitoring service : “There is an issue with your configuration. Check the underlying error for more details.” However, I cannot reproduce this problem, my app is live on both iOS and Android and everything seems to work fine, I have active subscriptions. Still a little number of my users (<1%) are receiving this error. I’ve read all posts about it and all of them are about configuration issues, however in my case, RC works fine for 99% of my users. I use “react-native-purchases”: “5.13.1”. This error only happens on Android. Should I be worried about this error ? Or is it harmless ? Thank you
Hello, I don’t understand how could I organize offerings with multiple subscription groups. I want my user to be able to subscribe to different subscription plans and it’s possible that he could have two subscriptions at the same time. For example: Plan 1 (subscription group):monthly subscriptionyearly subscription Plan 2 (subscription group):monthly subscriptionyearly subscription It’s possible for user to be subscribed to 2 plans at the same time.Now when I get offerings I do like this:const offerings = await Purchases.getOfferings();offerings.current.monthly.product.priceStringHere I get current offering with the monthly price. But how could I modify this code and revenuecat configuration to be able to get current offering for another plan as well? Is this possible?I tried to add another monthly product to the offering, but it allows only one per offering. I think it needs subgroups under offering, one per each subscription group so that it would be easier to experiment and change
Title should have been: Close Button Not Visible on AndroidIn my code, I have explicitly set displayCloseButton: true when calling the presentPaywallIfNeeded function. The close button is shown successfully on iOS with the teal color. However, on Android, it is not visible at all. I am using: “expo”: “49.0.17”,"react-native": "0.72.6","react-native-purchases": "7.21.0","react-native-purchases-ui": "7.21.0", See example:
I have a paywall for monthly & annual subscription. I want to give some partners a code to get the full annual subscription for free. They said that when redeeming the code, with the full URL `https://apps.apple.com/redeem?ctx=offercodes&id=${apple_app_id}&code=${codeInput}` that they still see the paywall after loading the app for the first time. I believe they have not downloaded the app even in this case, as they are new users.I had them click Restore Purchase, but they claim that too does not work.Is there a preferred method to get Promo Codes to work, on the first load of the application? I tried reading the docs...i think i am all set, perhaps I need to have the listener? But that doesn’t make sense if it’s a brand new user.
I need help, I cannot delete this product, there is no warning explaining why it is meaningless, can you help me?
Running into another unexpected set of events for a customer (app user id: ob5Wpc3mWKUoYCtijpDVtXy2XnP2).It seems that the EXPIRATION event came just a few minutes after the billing issue (when the grace period started). EXPIRATION event is expected to come at the end of the grace period if the billing issue is still persistent (current grace period is set for 3 days).Currently this causes a contradiction, since the EXPIRATION is meant to remove entitlements, but the Customer Profile page in the RC Dashboard has Entitlements listed still..
Hello,I'm working on a Flutter app with an in-app purchases. I'm looking for a solution to automatically close the purchase sheet after a specified amount of time. I’ve dug around and there doesn’t appear to be any obvious way of closing the sheet?Just in general it doesn’t seem there is any way of closing the app, causing the sheet to stay open indefinitely even if the user signs out or background the app, until they click the “x” or just outside the sheet. Thank you!
when user buy first time one plan using buyConsumable method everything's works prefect, but when buy same plan second time play console showing me "already own this item". help me if anyone know.I want to need multiple time buy same product.
Sorry for the title (posted a bit too fast) but doesn’t seem to be editable. Hi guys! First time using RevenueCat, I’m having trouble to understand the Offering / Packages / Paywall concept. My use case is simple. I have two subscription level: pro and pro+ and each one can be subscribed to monthly or annually (pro is included into pro+). Pro+ allows a bit more features than pro.So, I have two entitlements, pro and pro+ and 4 products (pro_monthly, pro_yearly, pro_plus_monthly and pro_plus_yearly). Now, I’d like to display this products in my application, so I’m configuring my default “Offering”. In this offering, I’m supposed to attach “Packages” composed of my “Products” but it seems I can only attach one product per package (the product is replaced as soon as I try to add another).I’d like to display my products grouped by entitlement type (pro and pro+) but don’t understand how to do that. Am I supposed to group them myself in my application? Should I have one package = one produc
Hello - I’ve tried to summarise our problem as concisely as possible below: Problem: How do we understand promotion code redemption & user behaviour using RevenueCat?Context: We recently ran a promotion using codes generated in App Store Connect. Users who redeemed these codes received two months free on our product. The promotion is now complete and we want to understand what behaviour was like for this cohort. e.g. How many of these users continued with us or did they churn? What’s their LTV? etc. Details: Within App Store Connect Reporting we can identify users who redeemed a code and see their ‘Subscriber ID’. Within RevenueCat we then have no method of tying users together i.e. there appears to be no common identifier across the two systems for a given user. Additionally it doesn’t appear that promotion codes sync across the two platforms i.e. when viewing an individual customer in RC, I can’t see within their history if they have utilised a promo code. Any advice appreciated
Hi everyone, I am trying to figure out the best solution to design for my new feature. I want to offer multiple expansion packs that pretty much share the same price, however I would really like to be able to use the entitlements feature to manage user access. My issue is that it seems like products map directly to an entitlement? is there any way for the same product to grant access to different entitlements? What alternatives would I have to avoid having to setup a new product on apple / google app stores and stripe for every single expansion pack?
Hi there!Can you please clarify the case of using RC with the Server-Side observer mode?Prerequisites:Apple App Store Server Notification is configured Google Real-Time Developer Notifications is configured Webhooks are configuredThe happy-path looks like:Our app (Android/iOS) completes a purchase for a new user and gets the fetch token/receipt Our app sends all needed data (app_user_id, fetch_token, price/currency, product_id) to our backend Our backend invokes POST /v1/receipts Our webhook receives the initial_purchase eventWhat will happen if our backend doesn't invoke POST /v1/receipts due to a network error or internal error:Will the initial_purchase event be raised anyway for that new user? Will any future events be automatically detected for that user? Should we guarantee to invoke POST /v1/receipts to ensure correct behavior?
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.