Get help with your SDK implementation.
Recently active
https://www.revenuecat.com/docs/tools/paywalls/displaying-paywalls#setting-preferred-localeI noticed that the code is only available for iOS, Android, and ReactNative. Will the code for Flutter also be developed?
I am running tests and I can see the subscriptions on the dashboard. But I need to test the backend, and this is returning the items as empty:curl -X GET "https://api.revenuecat.com/v2/projects/{{projectid}}/customers/{{customer}}/active_entitlementsit returns 200 with the response, but the items is an empty array...how am I suppose to test my webhook api without this fetching data from the sandbox? I do have the sandbox checkbox in the dashboard enabled.
We discover that on iOS 18.6.2 the paywall countdown always display “Time is up!”, while everything works perfectly on iOS 26. No issue on Android either.We tested it with the same version of our app with the last RevenueCat SDKEDIT : it appears it doesn’t work on iOS 17.7 either
Google Play has recently dropped their price templates in favor of defining offers on their one-time products. The offers define a discount, etc, very much like offers on subscriptions. I know how to obtain and use offers on subscriptions via the product.subscriptionOptions. I do not see any method for obtaining these product offers. Are they currently supported? If they are not supported, keep in mind that these are now the only semi-manageable method for offering different prices in Google Play. Now that they have removed price templates, the busywork of defining products for each price point is simply unmanageable.
As the title says, I’d like to track paywall views in the experiment but I’m using a custom paywall of my own. Is this possible? I use RN SDK
In our iOS app we want to achieve the following behavior of `restorePurchases()`:If the purchase was made on anonymous ID and user logged in - transfer subscription to the user ID. If the user credential switched but Apple Account stays the same - transfer to the new user. If subscription was associated with a user and then that user logged out - we want to show message “This subscription is already linked to another account. Please sign to that account to restore”.How to implement the user story 3? This is required to prevent double spent and subscription duplication - when the one subscription becomes available on multiple accounts. Is there any built-in checks allowing to tell if the subscription is already linked to a non-anon user?We use ‘Transfer to new App User ID’ setting for restoring.!-->
[RevenueCat] 🍎‼️ 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 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 'sale' have configuration issues that may prevent users from seeing product options or making purchases.Product Issues: ⚠️ unlimted.monthly (Monthly): This product's status (READY_TO_SUBMIT) requires you to take action in App Store Connect before using it in production purchases. ⚠️ unlimted.yearly (Yearly): This product's status (READY_TO_SUBMIT) requires you to take action in App Store Connect before using it in production purchases. ⚠️ subscription_monthly_unlimited (Month Subscription): This
Describe the bug I’m using custom fonts in my iOS app and in RevenueCat Paywalls. I’ve added these font files to my iOS target: Sequel Sans Bold Disp.ttf Sequel Sans Bold Obl Disp.ttf Sequel Sans Medium Disp.ttf Sequel Sans Roman Disp.ttf Sequel Sans Semi Bold Disp.ttf The same files were also uploaded to the RevenueCat Paywalls Dashboard under Fonts. On the Paywalls Dashboard they show up as: Font family: Sequel Sans Font weights: Sequel Sans w410 Sequel Sans w415 Sequel Sans w420 Sequel Sans w425 Sequel Sans w427 On the dashboard preview, everything renders correctly using the different weights.However, when I present the paywall inside the app, all text appears with a single font variant (the italic one), regardless of which of the above weights I’ve chosen in the paywall config. It looks like the Paywall SDK is always picking the same italic face instead of respecting each selected weight. I followed the custom fonts documentation and the YouTube
Hi!I tried adding RevenueCat to an existing app, and RevenueCat is throwing a fatal error:[RevenueCat]: Test Store API key used in Release build. Please configure the App Store app on the RevenueCat dashboard and use its corresponding Apple API key before releasing. Visit https://rev.cat/sdk-test-store to learn more.This is happening in `Configuration.APIKeyValidationResult.checkForSimulatedStoreAPIKeyInRelease(systemInfo:)`I’m just building on a simulator, with a Staging build schema. It seems that RevenueCat expects the DEBUG variable to be defined, but AFAIK, these variables are not available in Swift packages.I’ve looked in the documentation it hasn’t been of much help. Any ideas?
Hi,My React Native app is being rejected by Google Play due to Family Policy validation issues related to AD_ID sharing.Issue: According to your documentation, this AD_ID issue has been resolved in version 9.6.8+. However, when I check npm/GitHub, the latest published version is still 9.6.7.Questions:Is version 9.6.8 available yet? If not, when will it be released? Is there a release roadmap I can follow? Are there any workarounds I can implement in the meantime to pass the Family Policy validation? (Changing target group won't pass through Google review)Any guidance would be greatly appreciated as this is blocking our app release.Thanks!
After upgrading to RevenueCat Android SDK 9.14.1:One-time product is set as non-consumable Discount offer is active in Play Console and backwards compatible checked No rc-ignore-offer or similar tags Login system in place, Purchases.logIn() called before purchase Subscription introductory offers appear and apply correctly in the same buildThe one-time product’s offer data never shows up in the API response (getOfferings) and the paywall always displays the base price only — the discount offer is completely missing.Is this expected behavior for one-time product offers in 9.14.1, or is there an additional step / longer propagation time required for them to appear? Thanks!
Hello,When I callPurchases.configure(configuration);(Flutter) in debug mode I get an dialog with information about Wrong API Key. Doesn’t matter if its on simulator or real device. What can I do? Should be working fine unless I build my app in release mode.In console:RevenueCat/Configuration.swift:491: Fatal error: [RevenueCat]: Test Store API key used in Release build. Please configure the App Store app on the RevenueCat dashboard and use its corresponding Apple API key before releasing. Visit https://rev.cat/sdk-test-store to learn more.Stack:Flutter 3.35.3purchases_flutter 9.9.9iOS 26.0Xcode 26.1.1
Hi all,I am running a Flutter app in Production (Android only) with real users and real revenue.My issue is that the "Paywall Encounters" chart in RevenueCat shows 0, while the "Revenue" charts are populating correctly.I am using the `PaywallView` widget from `purchases_ui_flutter`.Technical Details: Platform: Android (Production) Framework: Flutter SDK Versions: purchases_flutter: ^9.1.0 purchases_ui_flutter: ^9.1.0 Behavior: Users can successfully view the paywall and purchase products. Revenue is tracked correctly in the dashboard. Paywall Encounters: 0.(no matter what “encounter timeframe” is) My Implementation:I am manually fetching the offering in a `StatefulWidget` and passing the resulting object to the `PaywallView`. I am **not** letting the `PaywallView` fetch the offering itself.Here is a simplified version of my code:class MyPaywallScreen extends StatefulWidget { @override _MyPaywallScreenState createState() => _MyPaywallScreenS
Please add the localizedPricePerMonth property to the Flutter SDK. At the moment it’s not possible to safely calculate and format the calculated price again. With localization, thousand separators, decimals and different placements of currency symbols (before, after, with or without whitespace) is too complicated and error-prone to calculate ourselves. You already have this property in other SDKs. It should be easy to put it into the Flutter SDK as well. Please do so :-) Here in this discussion, Ryan from Revenuecat said he would pass this request to the dev team. Then the discussion was resolved without it being implemented. Would highly appreciate to have this feature in Flutter! Best, Tobias
KMP SDK version 2.2.7+17.16.1Dont understand how to include trial.Here is how I fetch dataoverride suspend fun loadProducts(): List<Package> = suspendCoroutine { cont -> Purchases.sharedInstance.getOfferings(onSuccess = { val packages = it.getOffering("default")?.availablePackages packages ?: cont.resumeWithException( PurchasesException( PurchasesError( PurchasesErrorCode.StoreProblemError, PurchasesErrorCode.StoreProblemError.description ) ) ) cont.resume(packages!!) }, onError = { cont.resumeWithException( PurchasesException( PurchasesError( it.code, it.message ) ) ) })} Here is how I purchase override suspend fun purchase(storePackage: Package): PurchasesError? = suspendCoroutine { cont -> Purchases.sharedInstance.purchase( storePackage,
Why does SDK provide this two similar error codes?ErrorCode.receiptAlreadyInUseError = 7ErrorCode.receiptInUseByOtherSubscriberError = 13Is there any special considerations when handling those errors during `restorePurchases()`?
My Paywall looks great on the Revcat dashboard, but when viewing on my phone (Which has dark mode turned on), the only content within the paywall being changed is the text - so if you have a light background behind your black text, your paywall is ruined. I can’t find a way to turn this off either Settings Dark mode onDark mode off
Hi there,does RevenueCat provide a webhook message (body) signing mechanism?Like described here: https://hookdeck.com/webhooks/guides/webhooks-security-checklist#verify-the-messageOr is the authorization header the only way?
I added my Subscriptions App Store Connect, configured them, and they appear correctly in RevenueCat. However, the products don’t show up in local testing; they only appear when I use a .storekit configuration file, which doesn’t work in TestFlight or for the reviewer. Reviewers need the products to be approved to see them, but during review the products aren’t visible, causing the app to get rejected. Even when I submit a build, the products remain in Waiting for Review and aren’t approved. │ ERROR [RevenueCat] 🍎‼️ Error fetching offerings - Impossibile completare l’operazione. (Errore RevenueCat.OfferingsManager.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-empty│ WARN [RevenueCat] ⚠️ RevenueCat SDK is configured correctly, but contains some issues you might wan
When a user registers for my app, I automatically create a new subscription with status trial in my database for this user - no opt in is required by the user. How can I track these trials with RevenueCat? Do I need to add some trial properties to my offerings? Currently RevenueCat is notified of user subscriptions only once a user actually starts a paid subscription (same goes for AppStore and PlayStore - they are unaware of the trial that I have initiated in my database). Thanks for your help!
Hello,I want to know the revenue generated by each ad creative I will run on Meta ads.Will integrating Purchases SDK with Meta Ads allow me to know that ?
Hello-I see the related topic that was answered months ago, but checking in again, is there any update to the answer previously provied?We are looking to add a mobile app to the existing web app, so we have a bunch of existing subscribers that we want to allow access to in the mobile app showing them as “active”.Thanks for updates/clarifications...
Is the latest_offer attribute of a customer available through the API/SDK? I cant seem to find it but need it for analytics in my app.
Hi RevenueCat team,In Sandbox I’m seeing this every time I try to purchase our monthly subscription (product_id: intimigo_monthly): ”””ERROR [RevenueCat] 🍎‼️ There was a problem with the App Store.ERROR [RevenueCat] 💰 Product purchase for 'intimigo_monthly' failed with error:PurchasesError( error: There was a problem with the App Store., userInfo: [ "readable_error_code": "STORE_PROBLEM", "NSUnderlyingError": StoreKit.StoreKitError.unknown, "source_file": "RevenueCat/StoreKitError+Extensions.swift:49", "source_function": "asPurchasesError", "NSLocalizedDescription": "There was a problem with the App Store." ])””” The only recent change on my side was increasing the price of intimigo_monthly in App Store Connect (status: Ready for Sale). I fetch offerings before calling Purchases.shared.purchase(package:), and I’ve tried:Waiting 24+ hours for price propagation Restarting the app and device (testing on a real device since I am developing using WSL) Uninstalling the ap
private void Start() {#if UNITY_ANDROID && !UNITY_EDITOR _wrapper = new PurchasesWrapperAndroid();#elif (UNITY_IOS || UNITY_VISIONOS) && !UNITY_EDITOR _wrapper = new PurchasesWrapperiOS();#else _wrapper = new PurchasesWrapperNoop();#endif if (!string.IsNullOrEmpty(proxyURL)) { _wrapper.SetProxyURL(proxyURL); } if (useRuntimeSetup) return; Configure(string.IsNullOrEmpty(appUserID) ? null : appUserID); GetProducts(productIdentifiers, null); }
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.