Discussion and help from anything related to RevenueCat.
Recently active
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!
Everything is configured correctly on RevenueCat and the app stores, and I’m able to fetch and display my offerings using `Purchases.getOfferings()`. console.log(offerings.current.availablePackages);LOG [{"identifier": "pay_black", "offeringIdentifier": "default", "packageType": "CUSTOM", "product": {"currencyCode": "KRW", "defaultOption": null, "description": "Test1", "discounts": null, "identifier": "pay_black", "introPrice": null, "presentedOfferingIdentifier": "default", "price": 10000, "priceString": "₩10,000", "productCategory": "NON_SUBSCRIPTION", "productType": "CONSUMABLE", "subscriptionOptions": null, "subscriptionPeriod": null, "title": "Black"}}, {"identifier": "pay_blue", "offeringIdentifier": "default", "packageType": "CUSTOM", "product": {"currencyCode": "KRW", "defaultOption": null, "description": "Test2", "discounts": null, "identifier": "pay_blue", "introPrice": null, "presentedOfferingIdentifier": "default", "price": 30000, "priceString": "₩30,000", "productCategory
Can we establish additional roles within an account specifically for integration with third-party applications? This role would be designed to restrict access exclusively to report-related features.
Im wondering somethings i couldnt find in documentations, like what is minimun unity version, and also if its possible to make this work using lua scripting to call purchases. If anyone got any feedback.Thank you for your time!!
```ERROR: 💰 Product purchase for 'lifetime_999' failed with error: Error Domain=RevenueCat.ErrorCode Code=2 "There was a problem with the App Store." UserInfo={NSLocalizedDescription=There was a problem with the App Store., readable_error_code=STORE_PROBLEM, NSUnderlyingError=0x282914e40 {Error Domain=SKErrorDomain Code=0 "An unknown error occurred" UserInfo={NSLocalizedDescription=An unknown error occurred, NSUnderlyingError=0x282915b90 {Error Domain=ASDErrorDomain Code=500 "(null)" UserInfo={NSUnderlyingError=0x28294e2e0 {Error Domain=AMSErrorDomain Code=8 "Account Modifications Disabled" UserInfo=0x28328b240 (not displayed)}}}}}, source_function=asPurchasesError, source_file=RevenueCat/SKError+Extensions.swift:64}``` this is error code while payment Anyone knows about it?
I am building a game app for iOS/Android where a user can purchase individual levels of the game or subscribe to have unlimited access to all. The levels are typically all priced the same so I currently only have 1 product created on the app store for iOS. Can I use that one product to entitle the correct level in the app for the user utilizing revenuecat or do I need to create a new product for each individual level?Right now there are only about a dozen levels, but I expect to get to hundreds over the next 6 months. My plan was if I were to offer a premium tier of levels that cost more as an in-app purchase I would create a new product, but if all of the levels cost the same I was trying to save myself the hassle of creating a new product for each new level.Is it possible to manage which level users should have access to based on a single product purchase? How would that work? I searched through documentation to try and figure this out myself, but if I missed some key documentation I
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.