Get help with anything related to RevenueCat.
Recently active
We have a triggered override for some users when they meet certain criteria to present them a sale offering. But when we changed the default offering, we want these customers to see the same default offering. It seems that those that are on the triggered offering maintain that offering, even when the default offering has been updated.
hi,is there a way to get the country of the subscriber with a api request like:https://api.revenuecat.com/v1/subscribers/$RCAnonymousID...
Hello, I’m looking to run an experiment that offers a free trial for the first time. I just released an update that includes verbiage on my paywall about the free trial if one exists on a package.What will users who don’t have my latest update experience when I start the experiment? Will the experiment be served to the non-latest version of the app? I do not want the offering with a trial served to existing users because it’s not a true experiment without the updates to my paywall.
I have setup a enterprise and team account system in my flutter ios and android app. I have used AWS Cognito for the user accounts and i am linking the enterprise accounts user_id to their purchased subscription in revenue cat. Now when an enterprise user creates a team account i have it so that a lambda function uses the rest api from revenue cat to add the team accounts user id as an alias of the enterprise accounts subscription. This all works correctly and gives the team account the same subscription as the enterprise account. Now here is where the problem comes in. If an enterprise user deletes a team account I can’t find a way to also delete that alias for the team account that I created from the lambda function that calls revenue cats rest api. Since there is a limit of 50 aliases on a subscription this means if the enterprise user created 50 team accounts and deleted all of them these aliases would still exist and they can’t link anymore accounts to there subscription anymore.
When I try to query Purchases.getOfferings it results in an errorconst getPackages = async () => { try { const offerings = await Purchases.getOfferings(); if ( offerings.current !== null && offerings.current.availablePackages.length !== 0 ) { setPackages(offerings.current.availablePackages); } } catch (e) { Alert.alert('Error getting offers', e.message); }};getPackages();What have I done so far?I have my EAS local device & simulator build with bundleIdentifier: com.myapp.dev this includes installing the RevenueCat SDK I have TestFlight App setup with my bundleIdentifier : com.myapp.production Following the Product setup Guide, inside TestFlight App, I have my subscription group "Core" setup Inside Core subscription group, I have my "Subscriptions" added: Monthly & Annual which show in "Ready to Submit" status I setup my Revenue Cat API Inside Revenue Cat, I added Product. I was able to use the automate
We currently have a single Project on our Account but plan to add a second, in order to have separate apps with separate subscriptions.I have seen a post which says that MTR is tracked at an Account level, not per app, but I’m not sure how Projects fit in.We will have one Account, with two Projects.Each of those Projects will have two Apps (one iOS, one Android). Is MTR tracked at an Account level or a Project level?
I want to test and offer discounts to user that previously had subscription and now are expired, but are still using the app. I only want to give discount once (sanse of urgency and also I dont't want to spam user all the time).Is there any way I can track if I have shown discount offer to user using just RevenueCat iOS SDK?
Hello there,I am trying to implement RevenueCat on my Android app which does not have a Login system.I was wondering in this case how do I manage the UserID to stay the same throughout app deletion, re-installations and across devices? On my iOS app I used NSUbiquitousKeyValueStore, so that it’s connected to the Apple ID and it works perfectly, but I can’t find a way on Kotlin. I tried the Auto Backup APIs, but while it works on the same device if I delete and re-install the app, it does not work across different devices with the same Google Account. I know that even if a new User ID is created the purchase will be transferred cause there is only one receipt, but is it correct that it sort of creates different users that bounce the purchase around? Thank you,Giada
Hi,When testing the subscriptions i noticed that on the subscription management page on the play store (Android) there is no option to choose a different subscription tier. In comparison on IOS if you go to the store to manage the subscription you have all tier options to choose from (pic below).Is there any setting to enable this on Android also or is it not possible at all to do this on android?
Hello, just new here, I would like to know, how is the monthly money transferred in my app transferred to my bank account?Do I have to add my bank? and how can I do this?
My apps have a family subscription which allows users to share subscriptions to other users and it’s not restricted on a platform i.e users can share subscriptions to anyone be in Android or iOS. Is there a way to manage entitlements for users who have had their subscriptions shared by someone else. TIA!P.S I do have a backend API managing these apps so the user who is sharing a subscription will hit an endpoint to create a share a subscription to another user. I just want to know if there is a way I can use the API to create an entitlement for the shared user
I’m migrating an iOS app with a legacy user ID system. Currently, the user IDs are stored locally on-device (in the keychain), and I will be introducing a way to create a real account that can be used across devices (it will be Firebase Auth). I think I have a migration path designed, but want to check I’m not misunderstanding anything. Here’s how it would work:User launches new build of the app containing the new accounts implementation. If they are an existing user with a legacy device-local ID, I log them in to RevenueCat with that ID for continuity until a future point where they decide to create an account. If they are a new user as of the introduction of the new accounts implementation, I log them into RevenueCat as anonymous. They can subscribe and do whatever they want while in the anonymous state. When a user comes to create an account, I create it using Firebase Auth, immediately log them into RevenueCat using the new user ID, and then call `syncPurchases`.My assumption on th
Hello,I have an app with multiple creators and users can subscribe to many creators individually. Each creator is a separate subscription group in the App Store, so multi-sub support shouldn’t be an issue on Apple’s side. Each creator may have multiple products (monthly, annual, promotional, etc). Here is my setup:Creator A Apple: group_A with product_A RevenueCat: offer_A with monthly package containing product_A and entitlement_A Creator B Apple: group_B with product_B RevenueCat: offer_B with monthly package containing product_B and entitlement_B When a user purchases A, they see product_A in Apple and I see entitlement_A in RC. When a user purchases B, they see a success message on their device. Users sees both product_A and product_B in Apple, but I don’t see entitlement_B in RC. Only entitlement_A is in RC.What am I doing wrong? Is my RC setup wrong?
tl;dr: Is there any way for me to turn off the auto-renewing, so the subscription ends after a month? Hello,I have a pretty small app, so I’m still pretty new to RevenueCat.I get slack messages when certain things happen in my app such as new accounts created, subscriptions or trial starts, accounts deleted, etc. I got a notification that user xyz created an account. Great. Then they started a monthly subscription. Even better! Then I got a notification that they deleted their account. I was going to get their email from firebase to let them know they started an auto-renewing subscription, but since they deleted their account I don’t have any way of contacting them. I don’t want this person to waste a few dollars a month on an app that they don’t even have an account for anymore. Is there any way for me to turn off the auto-renewing, so the subscription ends after a month? I am also afraid of this user realizing this after a few months and leaving my app a poor review.ThanksBrad
I would like to create a discount for my annual subscription, so in play console I did something like this:As you can see, "yearly-autorenewing" is my basic subscription and "yearly-autorenewing-discount" is a discounted price.And my question is what am I doing wrong here by adding discount to my subscription as a product:Does this have to do with the fact that the discount is "nested" in the basic offer?
Hello, I have been trying to connect RevenueCat to my application for almost 2 weeks. It works fine on the iOS version, but for some reason it doesn’t work on the android version.I am trying to implement a subscription type of scheme, without having any other “in-app products”.The issue I am facing is attached in the image below. What I tried to do to solve the issue: I have recreated the JSON credentials twice and tried to submit them again.I have checked that the email has the right access rights.I have published a closed testing version (heard that might help but it didn’t). Thanks a lot!
Hi - I’m using a custom customer list (app.revenuecat.com/lists) to try to detect customers whose subscription to a certain product has expired. My filters are: All customers (Slower)Latest Product contains ‘[my product here]’Status is ExpiredEmail is null (likely irrelevant to my question) My problem is that this list regularly contains customers whose subscription hasn’t actually expired! The list will say ‘status: expired’ for all of them, but for many of them when I click in to the specific customer, it shows (accurately) that their entitlement for the product in question is NOT expired, and will renew soon. (The ‘entitlements’ section says ‘Subscription renews on [date]’). If I check the list again after that date passes, the customer is no longer on the ‘expired’ list. I think (but am not 100% sure) that this is happening when the customer is within 24 hours of renewing? Like it marks them as ‘expired’ when they’re 24 hours away from an auto-renewal, then after that 24 hours, it
Here goes - first question!My SwiftUI app being built in Xcode and using purchases set up from WeatherUI example is returning the below error message despite reading the product identifiers correctly -[Purchases] - WARN: ⚠️ Empty Product titles are not supported.I therefore get no products displayed in the PackageCellView Any ideas? How do I set Product title? Where do I set Product title?Very confused.
Hello, I have produced different PayWall screens with multiple offers in RevenueCat's panel for use on the React Native side. But how do I show these different screens to users as an A/B testing without changing the default settings on the panel? Additionally, I could not change the language of the texts on our payment screen via metadata. I could not find these parts in the documentation for React Native. Could you help me please for these issues?
PROBLEMAfter I create a stripe.checkout.sessions.create(), I take the sessionID to make a REST API request to RevenueCat. But I keep getting this internal server error, after checking through all of it. I am sure my authentication key is correct, because I altered it and it showed an auth error. Here is my code: const session = await stripe.checkout.sessions.create({line_items: [{// Provide the exact Price ID (for example, pr_1234) of the product you want to sellprice: priceId, quantity: 1,},],mode: 'subscription',//subscription_data: { on_behalf_of: store.stripeSellerId },customer: customer,client_reference_id: store?._id,success_url: `${process.env.NEXT_PUBLIC_BASE_URL}store-dashboard/${storeId}/pay-confirm?success=true`,cancel_url: `${process.env.NEXT_PUBLIC_BASE_URL}store-dashboard/${storeId}/pay-confirm?canceled=true`,})console.log('session', session)if (session.id) {const API_URL = 'https://api.revenuecat.com/v1/receipts'const body = {app_user_id: store?.subscriptionId || '',fetc
Hello, is it possible to remove the paywall discount badge and also remove the App name next to the plan name?My paywall is showing like this:
Hi all,This whole morning I am looking for something, that I think is very simple and needed for everyone, but I am unable to find it. I cannot believe it is not there so it surely is my fault but searching on this forum, in the docs, google… nothing. I am looking for the localized display names of the subscriptions that my users buy from both iOS and Android.I want to call the API, not using the SDK, and in with this call I can get lots and lots of information by calling the subscriber ID. But it does not give me the end user product tite, display name however you want to call it of the, in this case while testing in sandbox, iOS subscription. It does give me the SKU. So I thought...OK, seems that I need to do an extra call myself with the SKU to fetch the localized display name. Not possible, so it seems.Is there are RevenueCat guru online that can tell me how to access the localized display name of subscription products? In summary:I am testing now mainly with iOS in sandbox mode Us
Hi, I just released an app with an Experiment (A/B test) to compare two different pricing levels. Before release, I had forgotten to add a Free Trial phase to the subscriptions of test A, so I added them now.App Store Connect seems to have applied the change immediately, because when I open the paywall and press “Continue” and the system purchase appears, I see the trial phase there. But the paywall (I’m using the new paywalls provided by RevenueCat) does not reflect the change (yet), even after restarting the app several times to update the cache.Is there anything I need to do to update the paywall to reflect the addition of the Trial Phase? And if not, how long do changes like this take to be reflected by the RevenueCat paywall?
I want to give a couple of people (testers) free access to the paid subscription features of my app. I see that I can do this with Promotionals, granting an entitlement to an existing customer. However, there are no non-customers listed in my app (which seems reasonable) so I’m supposing I have to get my testers to buy a one month subscription (for example), to get them into revenue cat, then grant them the promotional entitlement. Seems a bit backward but fine if that’s the best way to do it.
When I submit my iOS app for App Review, they are able to verify a purchase, but when they want to verify an expired purchase, it keeps failing with an error. In return they keep sending me a message about including the in-App Purchase API which I haven’t included in the version they are testing. I was thinking about adding it to a new version but I’m unsure about something. The user makes the initial purchase via RevenueCat and it’s successful. Later on the user wants to check on that purchase because either it’s expired or they want to cancel it, but using the code below, there is an error. Instead of showing an error, I present the in-App Purchase API(example below), and the user cancels/updates a purchase through there, will RevenueCat be notified via the Apple Server to Server notification settings I use the following to get an offering and present the system actionSheet:let productID = “...”Purchases.shared.getOfferings { [weak self](offerings, error) in if let error = error a
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.