Discussion and help from anything related to RevenueCat.
Recently active
We can get the currency code (e.g. EUR) from product.priceCurrencyCodebut how do we get the currency symbol (e.g. €)?
I am currently facing an issue while trying to implement the RevenueCat SDK in a Flutter project for the Amazon App Store. I have followed the documentation provided for integrating RevenueCat with Flutter, but I am encountering errors during the process. (https://www.revenuecat.com/docs/flutter#amazon-appstore)Issue:The problem arises when I add the RevenueCat SDK dependencies to my Flutter project as instructed in the documentation. After adding these dependencies, running flutter run results in errors. Code:purchases_flutter: git: url: git://github.com/revenuecat/purchases-flutter.git ref: amazon.alpha.3Error:Git error. Command: git fetchstdout: stderr: fatal: unable to connect to github.com:github.com[0: 140.82.121.3]: errno=Operation timed out
Hello! Enjoying using RevenueCat so far but I’ve hit a head dead with iOS integration. I’ve made sure my single product is “Ready to Submit” state on App Store Connect. I’ve made several sandbox apple accounts. My Bundle ID is set up correctly on the RX dashboard. When I go through the purchase flow it all looks successful (including Apple success dialog) but at the final step I get the following RC error: 2021-11-30 21:20:34.384306-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: pawp_membership_monthly 1000000921455600 ((null)) (null) - 12021-11-30 21:20:34.389609-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/63B42ADB-A483-438C-87A1-B35A40640015/StoreKit/sandboxReceipt2021-11-30 21:20:34.389793-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: 872142021-11-30 21:20:34.391632-0500 Pawp[372:8670] [Purchases] - DEBUG: ℹ️ There are no requests cu
Hi everyone!I am working on a game in Unity and have noticed that when i use the Test Card: “Slow test card, approves after a few minutes”, that i get an error: “PAYMENT_PENDING_ERROR”. This can be because of parental controls etc, but not in this case! When getting this error i have no way of giving the users their IAP product that they just purchased (when the payment goes through eventually). I have been looking at different options, but there is no perfect answer. How are you personally handling this? Related post about the same thing from 2020: https://github.com/RevenueCat/purchases-flutter/issues/60Another post: I actually though about implementing something in the like of saving the “customerInfo.NonSubscriptionTransactions” on the local device, when a purchase is succesful and then on startup comparing the local and the list recieved from CustomerInfoRecieved, but this is not bullet proof and might cause a user who has purchased something to get the same reward multiple times
I’m updating a currently paid upfront app to subscriptions with RC (specifically, the updated version will include Monthly & Annual auto-renewing subs, and a Lifetime non-consumable in-app purchase). I’m a new RC user, and I have read the docs, but I have a few questions I’d like to clarify before proceeding any further. Firstly, about the anonymous (random) IDs:My RC project contains only one app, and that app is exclusive to the Apple App Store (i.e. no Play Store or Amazon Store counterparts, and no plan to create such counterparts in the future). The app is available on iOS, iPadOS, and macOS. The app does not use its own login/authentication system, so ideally I’d like to allow RC to generate random, anonymous IDs at configuration.My question is, will using random IDs cause any problems in this particular circumstance? For example, if the user purchases a subscription on iOS and then opens the app on macOS, hits the “Restore Purchases” button, will it all just work? And then w
I’m using customerInfo.AllPurchasedProductIdentifiers to check purchased products. Some consumable products I bought multiple times has only 1 reference in this AllPurchasedProductIdentifiers list. Is there a way to see how many times a product is bought?
Hi there, i’m experiencing an error while retrieving Purchases.getOfferings, unfortunatly i can’t find a solution for now. At the moment i’m just testing on Android and i can’t test on Apple for now.I know that the errors might be many, but i can’t have access to this debug procedure as i’m using Thunkable. Is there another way i can see the detailed error logs to better understand what the problem is? I followed all the steps of all the procedures, i also have waited the google credentials to be activated, the name of the subscription is exactly the same in Google Play and RevenueCat. Hope you can help
Our backend creates discount codes with dynamic percentages and I would like to be able to apply them to a consumable product with InApp Purchase. Is there any way to create a purchase with a dynamic price?If this really isn't possible, would applying a specific discount percentage to a consumable product be a possibility with RevenueCat?
I think RC should really support Payment Intents.Stripe have created the perfect payment UI for Mobile Apps to use, which gives the user a seamless experience when making a payments, and it reduces development time and errors.The sad thing is that this process works with Payment Intents which are not supported by RC. RC only supports Subscription or Checkout Sessions.My request is that RC supports Payment Intents as I think this will help increase revenue for everyone.CheersChris
try { const { purchaserInfo, productIdentifier } = await Purchases.purchasePackage(package); if (typeof purchaserInfo.entitlements.active.pro !== "undefined") { // Unlock that great "pro" content }} catch (e) { /* No purchase */ } Is it possible to add a custom field to the package variable?I would like to access the field data through a webhook.
i has weekly subscription in prod env,now, i debugi change to monthly in sandbox envi debugcustomerInfo.activeSubscriptions include tow subscription(weekly, monthly)this is a problem or ?i hopt only has monthlywhat i should to do ?
Hi,I have migrated from Android Billing to RevenueCat.Many users have an In-App product for a lifetime purchase, so, this purchased is never consumed. The users can use the app in several devices. Some users are having troubles to detect this purchase with RevenueCat.My cuestion, does RevenueCat consumes the in-app purchases by default or each time is read from Google servers?Thanks
Hello,When I purchase an android subscription (renewing 1mo) it seems that in the response webhook I am getting the product_id: product_identifier:base_plan_id. Before I was just getting the product_id which corresponded to whatever product_identifier I set on the google play store. How can I fix this so that the product_id coming from the webhooks does not append the base_plan_id? Thanks,Carl
We have setup Stripe integration and as indicated, we are hosting our own server to handle web payments and send over Stripe tokens to the POST receipt endpoint after checkout. Everything works but we wonder if the solution could be simpler.Since we have the webhook integration between Stripe and RevenueCat, why do we need to maintain our own server and manually call the POST receipt endpoint? Can't RevenueCat just get the Stripe tokens from the webhook call?
I need help with the following scenario:User with userId x logs into my app, he is taken to the subscriptions page where he can choose from 3 offerings: monthly, 6 months and annual subscription. Let’s say he subscribes to the monthly. A webhook event is sent to my backend and now user with id x also shows with an active sub in my backend database. User with userid y logs into my app from the same store account as user x. Basically the same user with the same phone, same google/ios account but different application accounts. Now user y, does not have a sub so he is also taken to the subscription page and offered to subscribe to the same 3 offerings. If he chooses to purchase the same offering as the one that user x purchased, he will get an error saying that he cannot subscribe again to this offering. However, if he chooses a 6 months or annual offering, he is able to subscribe. A webhook event is sent to my backend and now user with id y also shows with an active subscription.The prob
I have been looking around at the other topics of creating subscriptions across multiple apps and the general consensus is that each app would have to be in a single project to allow for it to work. My question though is if we were to migrate all of our existing apps (each app is currently in its own project) into one project, would the existing IAPs and subscriptions be retained? We don’t want to negatively impact any of our current users / subscribers so just wondering the best way to go about this.
Some users complained that they can’t subscribe to my Mac app. After initiating the process they need to verify the credit card purchase, but then they only see an empty screen and nothing happens. Is this a known issue?
Hi community, in my app i want to sell tickets, that allow users to generate a new game. The game’s content will be created by an edge function that calls a third party API. I read the documentation, but I am not sure about how to integrate this. I want to check if the user is entitled to generate the game not only in the app but inside the edge function as well, to prevent bad actors to abuse the edge function which would result in a bill on my end (the third party API costs money) . What would be the best approach to achive this?
Hi I have a custom paywall in swiftUI with .paywallFooter() modifier. every screen check if the user is premium by a task: .task { do { let customerInfo = try await Purchases.shared.customerInfo() isPremium = customerInfo.entitlements["Premium"]?.isActive == true } catch { print(error.localizedDescription) } }everything works fine, boughts, restore… but after you buy the paywall didn't disappear… if I change of tab and come back yes, paywallFooter is not there…My footer paywall is implemented something like this: VStack{ if isPremium{ } else { // more Code Rectangle() // ... Code... .paywallFooter() }}maybe it is not correct...thanks!
Hello,First time app developer and my app is targeted to iOS 17 only, but for some unknown reasons, appstoreconnect reviewer is testing my app on iPad and getting error below and app has been rejected. I tested the purchases on Sandbox and never got the error. I do not have more details on the error. I use new “Paywall” feature and I was expecting this to be handled automatically. Can anyone help please? Their response is as below
Dear Community,My application was working fine for a couple weeks. That is, the following codes would fetch the entitlement status. However, since April 4, 2022, the customer entitlement .isActive kept returning true even when I don’t have a subscription. Please help. Thanks. View Model @Published var allAccess = false init () { Purchases.shared.getCustomerInfo { (customerInfo, error) in //check customerInfo parameter for active entitlement if customerInfo?.entitlements[Constants.entitlementIdentifier]?.isActive == true { // Unlock that great "pro" content self.allAccess = true } } } Louis
Hello everybody I am working on a MVP and evaluating RevenueCat for our usecase. We will be launching with an iOS and Android app. The current business plan is to add many new subscriptions over time, each subscription giving access to a different digital experience/products.Initially this will be 5 or 6, but if successful it will qiuckly become dozens or even hundreds. How many subscrptions have people maintained in both stores using RevenueCat? Does anybody know if there are hard limits? I am worried about starting down an impossible path! Any advice/experience in this area would be appreciated. Thanks in advance Chris
Hello, we experienced recently, that INITIAL_PURCHASE webhook was sent just at 2024-11-01 wenn he opened the app, despite the actual event already happend at 2022-10-22We implemented RevenueCat (onboarding script) in app after two years of using own solution for IAP. So is this proper behaviour, when submission was made way before RC was implemented ? Thank you very much for info.Michal
Hello,We've noticed that many users might be sharing IDs to access our services for free. We would like to identify these accounts, especially those with a number of aliases that exceed a certain limit, as we are considering disabling them in bulk.Could you please advise if there is a way to do this? A batch process would be preferable for efficiency.Thank you for your help with this issue.
Hello, In my iOS app the user IDs are RCAnonymousIDs since there’s no sign up to purchase a subscription. Since there’s no sign-up, when they install the app on a new device they have a new RCAnonymousID and they do not have immediate access to their subscription. There’s a restorePurchase button, but would like to have an automatic restoring purchase feature on a fresh install. I read through a similar question in this community (link) and it seems like calling `syncPurchases` on a fresh app install will do the trick. My only hesitiation of using it is if there will be an Apple ID sign-in alert if there’s no receipt on the device? I had a similar issue to this when implementing `checkTrialOrIntroductoryPriceEligibility` awhile ago (link) and want to make sure it just returns silently if there’s no receipt. Any help is greatly appreciated and thank you in advance!
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.