Get help with anything related to RevenueCat.
Recently active
I have few apps and I would like possibility to share subscriptions between them. So if a user is subscribed in one app they would have possibility to use pro features in other apps as well. Is it possible now with RevenueCat?
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
I’ve updated my subscriptions/products in Google Play and restarted my app, but RevenueCat Purchases.getOfferings() never updates with updated titles, descriptions, or pricing. How do I bust the cache to get subscription/product updates?I have a Flutter app and am running the purchases_flutter: ^3.6.0 package.
Hello!I know that by developers locally its possible to clear the Purchase History on the Sandbox Testers section in AppStoreConnect. But how to clear the Purchase History for TestFlight testers that are not necesary connected to the Mac with cable and XCode?Is it posible? Where do I see the purchases I’ve made?Thanks in advance,Paolo.
Hi there,I’m trying to fetch my consumable offers on my iOS simulator but I get empty products. I have performed the following steps.Set app credential from app store connect to revenue cat Enable IAP on XCode Follow https://www.revenuecat.com/docs/apple-app-store and created storekit file and uploaded to revenuecat Create product on revenue cat On iOS simulator iPhone 13, when I call fetch offers I get the error ```flutter: PlatformException(23, None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).This could be due to a timeout, or a problem in your configuration.More information: https://rev.cat/why-are-offerings-empty, {code: 23, message: None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).This could be due to a timeout, or a problem in your configuration.More information: ht
I am planning influencer campaigns on would like to come back to them with credentials so they can login & use the app for free Currently there is either no login, either login with email. How can I “whitelist” their email address so they can skip paywall upon onboarding?
I’m using react native to fetch the packages and looking at the logs: const offerings = await Purchases.getOfferings(); const packages = offerings.all["default"].availablePackages; console.log("Paywall Currency", packages[0].product.currency_code)Looking at the logs, the products inside the package has the price in USD. But the phone I am running the code on is set to Australia for the region of the account. I went to Settings > Account name > Media & Purchases > Country Region > Set to AustraliaAm I doing something wrong here?
Hello,I am testing in app subscriptions in my app. Actually it’s been working really fine till today. I cancel and restart muy subscription many times to test the features. Today when i try to subscribe to app i have this message below;PurchasesError(code=PurchaseInvalidError, underlyingErrorMessage=Error updating purchases. DebugMessage: Expired Product details. Please fetch product details again and use it to retry the call.. ErrorCode: DEVELOPER_ERROR., message='One or more of the arguments provided are invalid.') I am fetching product informations correctly (like price ...etc). What should i do?
Hello! I am architecting the backend for a mobile application and despite reading through a lot of documentation posts, I feel I’m going in circles trying to grasp some subtle points and would love to get some answers before committing a lot of development. So I understand the basics of user IDs and anonymous user ids. Our app will ONLY allow users to login (and get an explicit User ID recorded in our database) AFTER a purchase.No problem: users get an anonymous ID, they sign in and we assign them a new, unique App User ID, which we record, and use login() to associate with their RC account. The question happens when the same user logs into a fresh device (or reinstalls). They get a new anonymous ID upon starting up, but then what happens when they “Restore purchases”?My hope is that we would be able to get access to the previously assigned App User ID. However, the documentation for Restoring Purchases mentions:If an anonymous ID restores and the owner of the receipt is an identified
is there any way to check if the user already took the trial? I want to know this information to stop showing the ad for the trial because already took it one time
I’m considering using RevenueCat for my iOS app for subscriptions.However, my customers are coming from all over the world - a lot from Asia.I’ve read on the forum that api.revenuecat.com isn’t reachable from China (and eventually other countries as well). Is this still the case? - If so, what’s the solution for it?Also, is there a list of areas where RevenueCat is not working/operating?
Hi,I am currently using RevenueCat to manage user subscriptions in my Flutter app.For now, I am using entitlements, but I want to improve this process because I have created a backend. Each user is connected to an account linked to this backend, and I want only the backend to handle users' subscription statuses.To achieve this, I want to use RevenueCat webhooks so that the backend is always aware of each user's subscription status. With this setup, my backend can control access and allow or deny certain actions accordingly. The information from webhooks will be very sensitive because it will determine each user's subscription status.My first question is: Is this the right approach to achieve this with RevenueCat?And my second question is: I want the webhook endpoint to be very secure for the reasons mentioned above, so I created an x-api-key value to use it. Is there a way to add this to the RevenueCat webhook? I saw there is an Authorization header, where I tried to add x-api-key {val
Hi everyone, Is there a simple way that Revenue Cat can manage app discount codes? We’d like to share regular discount codes for specific groups to make the app free for some users. Thanks, Louise
What would be the best way to give the user a free month if they are already had a subscription? We want to implement a referral reward system in our app and the user can redeem multiple free months separately so we would want them to stack if possible.I’ve seen that both iOS and Androids have Promo Codes we could give to users but those seem to be for new users:https://docs.revenuecat.com/docs/ios-subscription-offershttps://docs.revenuecat.com/docs/android-promo-codesI did see that RevenueCat has an API to extend this as well, but wasn’t sure how that would work. Is RevenueCat that one that tells Apple or Google to charge for the subscription again? If not does it tell Apple or Google to not charge until a certain time? Do they stack? Here is the url to the API:https://docs.revenuecat.com/reference/grant-a-promotional-entitlementThanks for the help!Asher
Hi, We are seeing a strange behavior with some users on our app: a user who has already a custom user id is getting at some point a new RCAnonymousId like it is a new user. How is it possible? Do you know what are the reasons this could happen? Here is an example: Thank you,
I had an initial functioning setup to get offerings and make a purchase. It worked : I could make a test purchase.The code was in a ‘shop’ page, and I decided to move the RevenueCat initialisation to main.dart as initial entry point. But maybe this wrong because it screwed everything up, and the app crashed on loading (error below). So I put it back to what it was.The app now loads and all screens function EXCEPT I am now getting the same error when I open the shop page. Even though it was working before.*** Assertion failure in +[RCPurchases sharedPurchases](), RCPurchases.m:160*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'There is no singleton instance. Make sure you configure Purchases before trying to get the default instance. More info here: https://errors.rev.cat/configuring-sdk'*** First throw call stack:(0x183586754 0x19804d7a8 0x1834883f8 0x1848afa6c 0x1009762f4 0x1009f2d34 0x100cb7bc0 0x100cb5b04 0x10109ea60 0x100dafd7c 0x1010b
I always have a known user ID before I get to my paywall, so do I ever need to use Purchases.logIn() ?If I sign out, I don’t call Purchases.logOut() because I don’t want to generate an anonymous ID, but when I get another user coming through and hitting the paywall, is it sufficient just to call Purchases.configure() again integrating the new appUserId?I’m just concerned that I’m using a ‘configure’ function for setting the apiKey which should only really be done once per session but I’m doing that every time I sign in a new user when it seems more sensible to use a logIn function.Are there any downsides (apart from a wasted resetting of the apiKey) with the way I’m doing this?I mean, it seems to be working…..Many thanks.
HI. i am making a new application which uses in_app_purchase for iOS.it’s still under development.it uses revenuecat.But it has a problem. when offer offerings,it receives empty at offerings and product it said message ```2021-12-14 00:07:14.629598+0900 Runner[19365:4255891] [Purchases] - INFO: Ensure your products are correctly configured in App Store Connect2021-12-14 00:07:14.629628+0900 Runner[19365:4255891] [Purchases] - INFO: See https://www.revenuecat.com/2018/10/11/configuring-in-app-products-is-hard2021-12-14 00:07:14.629687+0900 Runner[19365:4255891] [Purchases] - INFO: Could not find SKProduct for ( "inner_repair_subscription202201", "inner_repair_subscription202201")``` by the way i have been developing it by flutter. i guess reason is that paid app settings is not completed yet.is that true?
Hey I have 2 builds of my app (different bundle id’s), production and staging. In appstore connect, I only have the production app, so ive made my IAP’s there and when i use revenuecat with the bundle id set to production, it works with the production build app, all good!However, when I want to develop on staging, with the staging app, i use the staging instance of revenue cat (different project with the other bundle id)...but this one cant pull data from appstoreconnect...because the bundle id’s are different.How am i meant to pull IAP’s into my staging app? can i use my production app IAP’s in appstore connect with my staging app? do i need to make a staging app in appstore connect with its own IAP’s? what are the implications of this if so?Thanks for some help on how to handle this setup!
I have been following the instructions here https://docs.revenuecat.com/docs/creating-play-service-credentials and downloaded the the .json file in step 2. I am attempting to “Enter the Credentials JSON in RevenueCat” in step 4, though I’m concerned I’m doing it wrong. The UI seems to expect a single line of text, and the .json that Google Cloud generates is quite large. If this is the proper way to use Revenue Cat, this is janky as all hell. Anyway, I have taken the .json contents into a plain text editor, joined all lines, and removed all spaces (as per recommendations in other community posts), but when I attempt to upload the .json, I see this error message: (Image reads: “The provided Google Service Account credentials JSON is invalid.”) This seems to be an immediate failure (many community posts seem to involve long wait times for credentials to become active or something). There is no help for figuring out if I’m adding the json contents incorrectly, or if so, what’s wrong f
We’re currently at the testing phase for subscriptions, and are running into some challenges. We’ve made sandbox user accounts on our devices, but when we test subscriptions in our apps, the default apple ID is used. It’s not billing us, but it throws the subscription into a weird state of limbo where it’s not a real subscription that shows up on my personal apple ID, and it’s not a sandbox purchase which shows up under that subscription listing. We do see the sandbox purchases in Revenue Cat, but we’re unclear how to delete a subscription that doesn’t appear under our personal apple ID or the sandbox ID?I’m seeing one work around is to logout with the personal Apple ID, and then make a sandbox purchase, logging in with the sandbox ID. However, logging out of an iPhone totally jacks up the device as that’s connected to like everything -- not an ideal solution.The real #1 question is how to delete subscriptions so we can retest, ideally without having to log out of our devices with our
I was thinking about uploading my React-Native Android App to Huawei AppGallery.I use IAP using RevenueCart with iOS and Google and was wondering, whether Huawei support is already available / planned / not possible.Thanks in advance!
Hi, I have some confusion betweenif let info = purchaserInfo { if info.allPurchasedProductIdentifiers.contains("xxx") {and if purchaserInfo?.entitlements["pro"]?.isActive == true {Basically, i am trying to check if the user has subscription or not. I am checking with .onAppear in the default main view. I am new and would like to learn how to check if the user subscription period hasnt finished (doesnt matter if the user cancelled the subscription or not, of course)
Flutter: 2.2.3Plugin: purchases_flutter: ^3.4.5Device: iOS simulator (14.5) Using Flutter + StoreKit does not work. `getOfferings()` always return `null` with empty products. I already made sure that bundle ID, product IDs, API key, and StoreKit public cert are correctly set. The weird thing is, if I do this in a native iOS app, I can fetch the offerings and products. After installing the sample native iOS app, I tried running the Flutter app without changing the StoreKit public cert, it can fetch the offerings. Which is really weird. I already tried creating a clean Flutter app with StoreKit, but it still fails to get the offerings. It will only work if I install my sample native iOS app, then run the Flutter version. I don't have any actual device with me, so simulator is the only way I can proceed with my task. Any idea on why StoreKit in Flutter does not work?
We need to add some metadata (key-values) to user’s payments. As an example, we’d like to send workspaceId and other key-value parameters along with a payment that user is creating.I understand that there is a Subscriber attributes which offers capturing custom metadata on the user object, however what we need is to attach metadata to individual payments and not users.Anyway to acheive this functionality with RevenueCat APIs?
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.