Get help with anything related to RevenueCat.
Recently active
Hi. I use Paywall, which is awesome. But it doesn’t manage upgrades/downgrades for Google Subscriptions, which is not awesome. W/o this basic support, Paywall is essentially unusable for Play Store with multiple subscriptions. Are there any solutions that allow us to use Paywall for upgrades/downgrades?
Hello !I have an app with 2 subscriptions: yearly and monthly; If with userID1 subscribe the yearly subscription and add the custom user app id, I want to block both subscriptions to another accounts that log in with the same google play/ apple store account. How can revenue cat manage that ? Thanks in advance
Hello,I have an app where the users can connect their vehicles to an API and record trips and so on.Currently I have one subscription, where the user can add as many vehicles as he wants. But now I want (need) to change this to one vehicle per subscription.So if the user want to add two vehicles, he need to subscribe two times to the same product.How can I handle this?Thanks,Arangoool
Hi,In Google Play Store I have setup a base plan (annual auto renew), with five offers under it (launch offer, black Friday offer, Christmas offer, etc).They are all inactive until they are needed, then I will active them and deactivate others (in Apple App store these will have dates).But I don't know the best way to map these to RevenueCat? any ideas? (I am happy to restructure plans/offers in Google if needed).p.s. my system shows different media (audio/video) dependant on the current offer, so will need to know what the offer_id is.
This video was working last night but now it is failing to play with an error message. I’ve checked this on multiple browsers and devices with the same results:Navigate to https://www.revenuecat.com/docs/getting-started/installation/ios Scroll down to the Installation section on this page. Try to play the Youtube video. Results: The following error is displayed:An error occurred. Please try again later. (Playback ID: tvZ5ygnslnlNRP0l) I wanted to report this incase others are encountering the same issue. It’s a great resource for getting started. Thanks!
I upload the P8 key file from App Store Connect to the revenuecat with my Key ID and Issuer ID. Everything is correct but it still says that “Credentials are not configured yet” what should I do more to get my credentials validated ?
In the Customer Info (https://www.revenuecat.com/docs/api-v1#tag/customer_info_model) `subscriber` field, there is a dictionary of identifiers to subscriptions. It looks like the identifier is the product identifier from the respective stores. What happens if the same identifier is present on the App Store and Google Play?
During the Apple review process, the reviewer encountered an "Error 23" message indicating a configuration issue. This has happened twice now, even though I haven’t made any changes to my RevenueCat setup or code since my last successful reviews. In the previous reviews, the reviewer was able to complete the subscription process successfully but rejected the app for an unrelated reason. Now, when I test the subscription flow, everything still works perfectly on my end, so I’m unsure why it’s failing for them.Do you have any insights on what might be causing this issue or how I can resolve it? Could it be related to Apple's sandbox environment, or is there something specific I need to check or adjust in my RevenueCat configuration(even though it worked in the past and is still working)? Would uploading a new build and resubmitting help? I’ve seen others try this approach, but I’d appreciate your advice.Thanks for your help!
Hello,I’ve been looking on already posted questions but didn’t found the answer about that.I’ve been sending some promo codes for my Android and Apple application, the Apple promo code redeemed are marked as TRIAL in my console, but the Google Play ones are marked as a regular purchase with the real price while in the Google Play Console it’s marked with a 0.00€ revenue. My issue here is that I suppose that it’s counted in the MMR (and thus i’ll pay 1% on the revenues if i reach the 2500$ threshold) while it doesn’t make me earn money, so in fact i’m losing money by giving promo code 😫 ? Or maybe the real MMR is recomputed after with the real transactions amount ? I don’t know. Thanks for the clarification :)
I’m quite new to RevenueCat, and I’m currently working on a Flutter app targeting all OS.Since the purchases_flutter package is not available for Windows or Linux (please do something about it!), I assume that I need to use Stripe, connected to my RevenueCat account, to display a web page with a Stripe paywall (I use a Payment Link to keep it simple), and then call the RevenueCat REST API to:list my offerings purchase a product through Stripe check if a user has purchased my one-time payment product or not recover a one-time payment purchaseSo I have 2 questions:Is it the right way to do? Why do I need a secret API Key (that, I assume, I need to store on a server), while I only need a public API Key for the Android, iOS and macOS version of my app?Thanks for your help.
Hello, I know this has been asked before. Please forgive me for needing clarification. I am currently using `react-native-purchases` version `7.28.1`. I understand that simply installing this package fulfills the requirement. My application in production uses 7.28.1. Why did I still get a notification that my current release is not fulfilling this requirement? If I submit a new release, do I need to add: `implementation "com.android.billingclient:billing:7.0.0"` to build.gradle ? Do I need to add `implementation 'com.revenuecat.purchases:purchases:7.0.0'` to build.gradle? Do I need to add ` <meta-data android:name="com.google.android.play.billingclient.version" android:value="7.0.0" />` to AndroidManifest.main ?I intend to keep react-native-purchases to 7.28.1 instead of upgrading to 8.2 due to the fact that after the upgrade, I realize Purchases.getCustomerInfo() does not fetch active entitlements properly. (The subscription purchase in sandbox mode s
I have two subscription set up in play store (Standard and Premium) and i have two base plans in each of these subscriptions ( Monthly and Premium ) . When i upgrade within the same subscription (ex: standard monthly to standard yearly) i use the Proration mode : IMMEDIATE_AND_CHARGE_FULL_PRICE and when i upgrading to a different tier (ex: Standard monthly to Premium monthly/yearly) I use the Proration mode : IMMEDIATE_AND_CHARGE_PRORATED_PRICE. Everything works fine. The issue I have is that play store allows the user to have more than one subscription. It allows the user to have Standard and Premium subscription at the same time. The way i knew about this is that i signed into an account, bought a Standard Monthly subscription, then deleted the account and created a new account and on the paywall i clicked to buy the Premium Monthly subscription and it bought the premium monthly subscription also and I checked the google play store and the play store account is paying for Standard m
hello alli am trying to import the CSV Glassfy to Integrate to RevenueCat without success.i have only 3 purchases this is very few.i wrote a PHP procedure to do that but no succesful.Glassfy sent me a CSV file with the fetch_token for the 3 purchases and when i try to import i got this error “HTTP Code 521""{"code":7104,"message":"Invalid App Store shared secret for the receipt."} "can somebody help methanl youStr
I am planning to transition our customers to fixed user id from Anonymous ID.in my next Flutter app version, iOS and Android However when we did this for a test customer, I see that a new user ID was created and the existing entitlements remain on the old $RCAnonymousID id. They were not merged.The transfer is:Transfer Behavior:Share between App User IDs (legacy)What are my options?
How does Revenuecat handle chargebacks and fraudulant refund requests?Is there a place to view / contest disputes in the dashboard or is this handled elsewhere?Do I need to monitor for anything in particular? I struggled to find any information about this in the docs!Thanks!
I’m having a bear of a time wrapping my arms around how to use the wonderful Paywall features of RC, but offering my users both a subscription AND method to just buy a consumable (e.g. 20-pack of credits). I understand RC Paywall features won’t include non-subscription (consumable) products, even if they’re in the offering, correct?So what’s the recommended method for displaying both the subscription products AND consumables in one Paywalled screen?We’re coding in Flutter/Dart using FlutterFlow to help with UI design Our app is free to use, but users may purchase “Credits” (consumables) to use with some features Subscription will entitle them to use certain features (e.g. credit sharing), and may automatically add auto-resetting credits based on the particular product. (think like a phone plan which includes n minutes of data, and then they need to purchase additional data-packs if they run out, but the n minutes auto-resets every billing period)When a user is out of credits, or simp
Summary: App Store in-app purchases not pulling correctly with promotional offer (free trial)Description:I am trying to offer users a free trial using RevenueCat and in-app purchases. The line of code throwing the error is:const selectedPackage = offering.availablePackages[0]; // This is the package objectconst product = selectedPackage.product; // Extract the product from the packagelet discount: any = null;if (product.discounts) {await Purchases.restorePurchases().then((res) => {console.log('Restore purchases:', res);});discount = await Purchases.getPromotionalOffer(product, product.discounts[0]).catch((error) => {Alert.alert('Error','An error occurred while fetching the subscription details. Please try again.');console.log('Error getting discount:', error);setLoading(false);return null;});}Specifically, the Purchases.getPromotionalOffer() is throwing the error:Possible Unhandled Promise Rejection (id: 0): Error: The receipt is not valid.The debug logs are showing the following
In my app I don’t use the current offering.if let firstPaywallOffer = offers["first_paywall_standart_offer"]{ self.firstPaywallPackages=firstPaywallOffer.availablePackages.map({$0.storeProduct}) }I am getting my paywall offering like this. In the documentation experiment’s just change the current offering. How can I use experiments feature in my app. Do I have to use the current offering? if let coinOfferings = offers["first_coin_offerings"]{ self.coinPackages = coinOfferings.availablePackages.map({$0.storeProduct}) } if let specialOfferOfferings = offers["special_offer_offering"]{ self.specialOfferPackages = specialOfferOfferings.availablePackages.map({$0.storeProduct}) }The reason I use hardcoded id is that there are 3 different paywalls in my application and one of them is non-subscription packages.
Is it possible to offer discount codes on subscription?I’d like to make it if a user create their own code they can share it with their friend and then save some money on the subscription.And can the first user then get some refferal money?
Hello everyone, Recently I have created a paywall UI from RC no-code paywall builder platform and it is a typical app subscription page.I have successfully displayed this paywall on my app subscription options (weekly, monthly products etc.) with react-native-purchases-ui library. However when I tested in TestFlight, no matter how many times I touch the options and ‘subscribe’ button, they do not become selected. After waiting on the same screen for about 30 seconds, I can select the options and start my subscription.I am using expo managed workflow in my React Native app.Do you have any idea how to solve this problem?Thank you in advance.
How do people do accounting for subscription purchases (apple app store)? I can’t find any documentation on syncing purchases to quickbooks for apple or revenuecat.
My model is pretty straightforward freemium w/ a free tier. I want the free tier to be displayed alongside the other options in the paywall. I am managing the free tier limits on the backend - I just want UX consistency. Does paywall have an option for a “placeholder” package that’s not attached to a product?
Hi there, I have a project running and this is what is happeningUserA logs in UserA subscribes to product X UserB logs in in the same device UserB tries to subscribe to product X - "You are currently subscribed to this" UserB upgrades to product Y - "You purchase was successful" - but UserB has no subscription UserA logs in and was subscribed to product YIs this sandbox only issue?How can I verify if the current apple account has subscriptions to avoid UserB to upgrade UserA's plan?Shouldn't UserB merged into UserA original account?
A user from Myanmar has trouble activating the pro version of my app. When I looked into the customer profile “Last opened” is reported 3 months ago. Anyone else problems in Myanmar or what is going on?
My app shows the paywall for a few seconds and then app crashes without any logs. import React, { useEffect, useState } from 'react';import { View, Text, ActivityIndicator } from 'react-native';import Purchases from 'react-native-purchases';import RevenueCatUI from 'react-native-purchases-ui'; function Paywall({navigation}) {const [isRevenueCatConnected, setIsRevenueCatConnected] = useState(false);const [offerings, setOfferings] = useState(null);const [error, setError] = useState(null); useEffect(() => {const connect = async () => {try {console.log('Initializing Purchases...');await Purchases.configure({apiKey: 'my_api_key'});console.log('Purchases initialized successfully');setIsRevenueCatConnected(true); // Fetch offeringsconst offeringsResponse = await Purchases.getOfferings();setOfferings(offeringsResponse.current);} catch (err) {console.error('Error connecting to RevenueCat:', err);setError(err);}};connect();}, []); if (error) {return (<View style={{ flex: 1, justifyConte
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.