Get help with your SDK implementation.
Recently active
After renewal of my Apple Developer Membership my paywall stopped showing the products. There was an issue with the membership which led to my app being delisted from App Store for a couple of days. After contacting the support and fixing the issue, the paywall stopped working in production.In the logs I see:ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)There's a problem with your configuration. 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). More information: https://rev.cat/why-are-offerings-emptyERROR: 😿‼️ There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. 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). More info
If I log in then relaunch the app so the RevenueCat SDK initializes with the appUserId populated, the paywalls launch perfectly.If I log out, paywalls are displayed. If I then log back into the same appUserId (or any other), paywalls aren’t displayed.If I launch the app logged out, paywalls are displayed. If I then log in (to the same appUserId), paywalls aren’t displayed.The call to `offerings.currentOffering(forPlacement: “placement_id”)` does return an offering in all cases.The following is executed in all cases, with a non-nil offering:``` Group { PaywallView(offering: offering, displayCloseButton: true) } .onRestoreCompleted { customerInfo in ...```Any ideas what might be preventing the paywalls from rendering?
I am able to display paywall that looks the same as the paywall on my ios app. But there is no way to close it. on the revenue cat console I can see that a close button is on the right top corner, but on web I do not see it
I’m not doing anything fancy. Yesterday I was able to create 3 products just fine and they all show up, but this fourth one I created cannot be found. Even though I’m importing the Products directly from App Store Connect yet I still get these two errors WARN: 🍎‼️ Could not find products with identifiers: ["extension_atlassian_monthly"].There is a problem with your configuration in App Store Connect. More info here: https://errors.rev.cat/configuring-productsWARN: ⚠️ There's a problem with your configuration. No packages could be found for offering with identifier extension_atlassian_monthly. This could be due to Products not being configured correctly in the RevenueCat dashboard, App Store Connect (or the StoreKit Configuration file if one is being used). To configure products, follow the instructions in https://rev.cat/how-to-configure-offerings. More information: https://rev.cat/why-are-offerings-emptyI have triple checked that the Product IDs match exactly `extension_atlassian_mo
RevenueCat's CSS for web Paywall has a global reset that sets font-family: sans-serif on aLL elements using the * selector. This is overriding Font Awesome's icon fonts. When the paywall opens on the web, my icons all turn into rectangles!If this is happening,, it seems to be a bad idea to target the * selector. Unable to find a solution as of yet
Tried different simulator, tried real device. The product status is “ready to submit”, now I am guessing it’s an Apple’s issue
Hi, not sure why, but in my flutter app even in --release mode, when i click to open the PaywallView it kind of freezing a little bit…Demo with --release:https://drive.google.com/file/d/1RAyQG2awd1Q1bKXJYh3G9GLryo0pcYU8/view?usp=sharingP.s. with `await RevenueCatUI.presentPaywallIfNeeded` is working awesome and there is no freeze. The single issue there is that i want to not have it in a `showCupertinoSheet`…Here’s my code:import 'package:flutter/material.dart';import 'package:purchases_ui_flutter/purchases_ui_flutter.dart';class PremiumButtonLime extends StatelessWidget { const PremiumButtonLime({super.key}); @override Widget build(BuildContext context) { return ElevatedButton( style: ElevatedButton.styleFrom( backgroundColor: const Color(0xFFBFE737), foregroundColor: Colors.black, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12), side: const BorderSide(color: Colors.black, width: 1.5), ), ), onPr
Hello, I have a concern which I hope you can address.Our current situation is:We currently handle web based subscriptions using Stripe We want to add the option to purchase subscriptions via the Web Purchase Button on mobile We would like to provide the Stripe Customer Id to the Web Purchase Button checkout flowOur signup flow creates Stripe customers and saves the Stripe customer id to our database, which we then use when creating the checkout link (current web flow). This is something we did after noticing problems with duplicate customers created after passing the user email to the Stripe checkout API and allowing Stripe to create them automatically. (multiple stripe customers for same email)Is there some way to avoid automatic Stripe customers with your checkout flow and have them be assigned manually?This is also important for our existing Stripe customers, which will duplicate if the Web Purchase Button uses the email to create the checkout.Thanks.
I continue to get these warning along with my paywall purchase button not showing. I even have the storekit enabled in my xcode scheme with the correct subscriptions in them and I made sure everything matched along with my sandbox developer account signed in. It seems like revenue cat is still trying to use production env even though I have everything setup to use storekit file. Can someone help me?Warnings: • Your products are configured in RevenueCat but aren't approved in App Store Connect yet. This prevents users from making purchases in production. Please ensure all products are approved and available for sale in App Store Connect. • The offerings 'default' have configuration issues that may prevent users from seeing product options or making purchases.Product Issues: ⚠️ premium_sub (Premium Sub): This product's status (READY_TO_SUBMIT) requires you to take action in App Store Connect before using it in production purchases.Offering Issues: ⚠️ default ⚠️ $rc_monthly (premiu
Paywall Editor on the left / iOS Simulator on the right Hi!I’m seeing a visual/state bug with the Offered Package component in the new Paywall Editor testing on iOS.What I’m doing • Using the Paywall Editor with the Offered Package component. • I configured the icon states like this: • Default: Circle, color #3D3C41, 24×24 • Selected: Filled Circle Check, color #FBEB00, 24×24 • In the editor preview everything looks fine.Issue:On the iOS simulator, when I open the paywall and tap on a different package than the one selected by default: • The newly tapped product becomes selected • But the icon on the left does not switch to the “Selected” icon for the newly chosen package. • Instead, the originally selected package keeps the “Selected” icon, and only its color changes when I tap on other products.So effectively, icon state and actual selection go out of sync: the default product keeps the filled check icon, while another product is actual
I am designing my Paywall using the new Paywall Editor.I am using a Carousel where each Page hasa Title an Image which is a screenshot of the appThis is how such a page looks in an ideal scenario: However, the problem is that on smaller screens,the Carousel height does not adjust thus, the Page height does not adjust thus, the Image is not scaled to fit into the viewport.This is how it looks on a smaller device: I would in that case like the Image to scale to be smaller, fit into the Viewport, and not make the Carousel scrollable. I think what is needed to achieve that is the option to allow the Carousel to only fill the available height like using a weight of 1 only on the Carousel.How can I achieve this?Thanks in advance for any thoughts or hints!
Hello everyone,I'm facing a frustrating issue where RevenueCat fails to fetch my newly added Consumable products, giving the error Could not find products with identifiers. However, my existing auto-renewable subscriptions (Weekly, Monthly, Yearly) are fetching and working perfectly in the same app.My Environment: Device: iPhone 8 (iOS 16.7.12) - Real Device Xcode: 16.0.1 (Build 17A400) App Status: Live in App Store (Version 1.0) RevenueCat Configuration: Products created, Entitlements linked, Offerings configured. The Issue: I added 3 new Consumable products (Credits system) in App Store Connect. They match the IDs in RevenueCat. When I run the app on a real device (Sandbox), Purchases.shared.offerings() returns empty for these specific packages, and the logs show that Apple is returning an invalid product identifier error. Logs: [store_kit] DEBUG: 😻 Store products request received response[offering] WARN: 🍎‼️ Could not find products with identifiers: ["rc_purplai_30cr", "rc_p
I am getting Package Resolution Failed on Xcode 26.6.1. with package manager. Using CocoaPods or Carthage is not option for us. Is anyone else having this issue?https://github.com/RevenueCat/purchases-ios-spm.git
Hello, I am trying to fetch the daily revenue for a project through API Call in python. I have the API key and the project ID. However, I am unable to locate the endpoint to get the daily revenue for a specified date range. All I can get is a snapshot of their dashboard (containing the last 28 day revenue) with the following code: url = f"https://api.revenuecat.com/v2/projects/{project_id}/metrics/overview"headers = { "Authorization": f"Bearer {API_KEY}", "Accept": "application/json"} response = requests.get(url, headers=headers)response.raise_for_status()metrics = response.json().get('metrics', [])df = pd.DataFrame(metrics).rename(columns={'id': 'metric', 'value': 'value'})print(df) Can someone please help me with the code, that will take date range as input in parameters and give me a breakdown of daily revenue for the date range?
Hi, I'm integrating the RevenueCat Web Paywall into my Flutter app.Everything works perfectly on iOS, but on Android the Paywall screen becomes completely black, and the app stops responding.Flutter gives me these errors:
Hello RevenueCat Support Team,We are experiencing an issue with the getOfferings() function in our expo app.Details: In our RevenueCat dashboard, we have created two packages within the same Offering: 3-month package (subscription) Lifetime package (non-consumable) Both products are properly registered and published in the App Store and Google Play, and we have confirmed their status in RevenueCat. Both packages are included in the Offering in RevenueCat. However, when we call getOfferings() in the app on both iOS and Android, only the 3-month package is returned. The Lifetime package is missing from the returned Offerings data. We have ensured that: Store product IDs match exactly with RevenueCat product IDs Entitlements are correctly linked to the products The Offering includes both packages SDK is v8.10.1 Could you please advise why the Lifetime (non-consumable) package is not appearing in getOfferings() and how we can resolve this?Thank you for your support.
I’m currently implementing the RevenueCat Web SDK in a React application, and I’m encountering an issue during the configuration step. When I initialize Purchases.configure(), I receive the following error:Error configuring RevenueCat: _me: Invalid API key. Use your Web Billing API key.I have confirmed that I am using what should be the correct Web Billing API Key, but the SDK continues to throw this error. I’m unable to pinpoint what might be causing it.Below is the relevant code snippet from my implementation: import { Purchases } from '@revenuecat/purchases-js'; useEffect(() => { if (hasConfiguredPurchases.current) return; if (!userInfo && !userDetails) return; try { let appUserId = userInfo?.user_uuid || userDetails?.user_id; if (!appUserId) { appUserId = typeof Purchases.generateRevenueCatAnonymousAppUserId === 'function' ? Purchases.generateRevenueCatAnonymousAppUserId() : `anon_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`; } const purchases = Purchases.con
I noticed that Paywall Web is now available.Is there any plan to add support for Flutter Web too?
https://api.revenuecat.com/v2/projects/{project_id}/customers/{customer_id}what is the id this end point is expecting ?I have a scenario , that i m passing orginalApUserId form my flutter sdk response to fetch the customer via my back end, i m passing something like $RCAnonymousID:476441ddabf3406e865d7cc14c8bduuiyas the customer. but API response give me error response saying no customer found. why?
Hi, i have deployed my app to testflight and got the error of wrong API key(Photo attached),On development build it was working fine and only got this issue when i pushed to testflightI have confirmed that i m using correct api keys not test api keys ( my api keys start with appl_)The Command i use to submit my build:eas build --profile production -p ios --auto-submit
Hello,We are experiencing an issue where Android subscriptions are not showing up in RevenueCat, while iOS works perfectly. On iOS, getOfferings() returns the products correctly. However, on Android, even though the subscription is published in Google Play Console and added to the Offering in RevenueCat, the availablePackages list comes back empty.Current situation:Subscription and base plan are Published in Google Play Console.In RevenueCat, the product android.pro.plan:androidproplan is added to both the Offering and the related Entitlement.Our device is added to the license testing list, and the app is installed via the Play Store.Purchases.configure() is called correctly with the right API keys.The exact same setup works fine on iOS.In this case, what could cause getOfferings() to return empty on Android?Thanks.
Hey, We are trying to use revenuecat react-native-purchases library in our project, we were able to successfully set it up, some transactions works perfectly, but unfortunately some don’tWe are using react-native-purchases: 9.6.8, with react-native: 0.73.11, we didn’t configure it for iOS yet, we started with Android, problem below is related to Android platform only.Problem:When calling await Purchases.purchasePackage(selectedPackage) method, we get warning that says:🤖‼️Billing is disconnected and purchase methods won't work. Stacktrace: java.lang.Throwable at com.revenuecat.purchases.google.BillingWrapper.getStackTrace(BillingWrapper.kt:814) at com.revenuecat.purchases.google.BillingWrapper.access$getStackTrace(BillingWrapper.kt:82) at com.revenuecat.purchases.google.BillingWrapper$withConnectedClient$$inlined$log$1.invoke(logWrapper.kt:37) at com.revenuecat.purchases.google.BillingWrapper$withConnectedClient$$inlined$log$1.invoke(logWrapper.kt:36) at com.revenuecat.purchases.google
It would be very useful to have a “Resend” button next to a webhok in the dashboard (Integrations > Webhooks > Integration > Store Notifications), similar to what Stripe provides.The reason is simple: sometimes the receiving code isn’t correct or complete, and an event isn’t processed properly. For example, I recently didn’t have a proper handler for an “uncancellation” event, and now I have to locate the affected records in the database and fix them manually. Being able to replay the webhook after fixing the code would let me verify the behavior and correct the data automatically.A related improvement would be in the “send test event” functionality. At the moment, I can’t select the specific event type to test. Being able to trigger a particular event type would make testing much more practical.
Our app is experiencing native crashes on iOS when displaying RevenueCat paywalls. The crash occurs in Apple's HEIF image decoder when trying to render paywall images served in HEIC format.EnvironmentRevenueCat SDK (react-native) version: 9.6.9 iOS versions affected: iOS 17.x, iOS 18.5 (confirmed) Devices: iPhone 13, and likely others App framework: React Native / ExpoCrash Stack TraceThread #0 (main):VideoToolbox VTDecompressionSessionRemoteClient_CopyPropertyVideoToolbox VTDecompressionSessionRemote_CopyPropertyCMPhoto VTDecompressionPluginClass_copyPixelBufferAttributesCMPhoto HEIFItemDecoderCreateCMPhoto _decodeItemCMPhoto _applyDecodeStrategyCMPhoto _decodeImageCMPhoto _decodeAuxiliaryImageCMPhoto _createAuxiliaryImageForIndexCMPhoto _createImageForIndexCMPhoto CMPhotoDecompressionContainerCreateImageForIndexImageIO HEIFReadPlugin::copyImageBlockSet
Hi, I’m wondering if there is any way around this confusing behavior I’m seeing on iOS regarding consumables and multiple App User IDs.For context, I offer both subscriptions and consumables in my app, and require all purchasers to be logged in (no anonymous purchases). I cannot prevent users from making multiple alt accounts in my app, and many do. I have “Transfer if there are no active subscriptions” configured in my RC project settings.On iOS, I’m seeing the following behavior when a user with the same Apple ID tries to make purchases under different App User IDs:user1 purchases a subscription user2 (same Apple ID) then purchases a consumable they receive the error “There is already another active subscriber using the same receipt” but the purchase goes through and the consumable is credited to user1(!)Alternatively, if I configure “Transfer to new App User ID” in RC, this is instead what happens (arguably worse):user1 purchases a subscription user2 (same Apple ID) then purchases 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.