Get help with your SDK implementation.
Recently active
In my iOS app, if I click multiple times before the purchase window appears, the purchase window appears. several times. And if I managed to click 5 times, in the window that appeared I bought the purchase, after hiding the purchase window 4 times I will see a message that the purchase has already been purchased. I expected the following message in the console:INFO: 💰 Purchasing Product 'product_id' from package in Offering 'default'INFO: 💰 Purchasing Product 'product_id' from package in Offering 'default'INFO: 💰 Purchasing Product 'product_id' from package in Offering 'default'ERROR: 😿‼️ The operation is already in progress for this product.ERROR: 💰 Product purchase for 'product_id' failed with error: Error Domain=RevenueCat.ErrorCode Code=15 "The operation is already in progress for this product." UserInfo={NSLocalizedDescription=The operation is already in progress for this product., source_function=addPurchaseCompletedCallback(productIdentifier:completion:), source_file=Revenu
Is there a way to provide a callback in Flutter for the warning: 'WARN: User is already subscribed to this product. Ignoring.'? I tried using .onPurchaseError, but my callback was not triggered.https://github.com/RevenueCat/purchases-flutter/blob/main/purchases_ui_flutter/lib/views/paywall_view.dart#L31
Hi,do you have in plans to fully support Google Play Pass? I don’t see clear solution how to manage it using Revenuecat. Previously I used approach described here with .reset() and restoreTransactions() approach, but it caused really strange problems and user ids multiplications. If the app relies on a purchase management solution that takes 24 hours to sync entitlements, the app either needs to use a different product management solution. It's not acceptable for Google Play Pass to have a 24 delay for entitlement revocation.
Is it possible to(1) customize the package title? Just Annual or Monthly is displayed but I want to add something like “Annual (2 months free)”(2) customize font size, family, etc?(3) create my own paywall widget in flutter? and just return it instead of the one created in the rc dashboard?Regarding (3):People who use RC typically already build an entire app. Creating a paywall screen on their own is usually very easy and quickly done. However, the process becomes frustrating when trying to fetch product details from Apple and Android. It would be extremely helpful if the RC SDK offered APIs for directly retrieving product details from these platforms. This would simplify the creation of custom paywalls a lot.. creating ones own paywall from scratch with the native language one uses would be very nice.. Please consider adding this feature, and if you do, it would be great to prioritize Flutter since that’s what I use. ^^
Hi there,I am currently display my default paywall using .sheet & PaywallView() however I am having issues with the view refusing to compile if I attempt to add PaywallView(offerings:) parameter.In my class that connects to the sdk I have tried adding: Purchases.shared.getOfferings { (offerings, error) in if let packages = offerings?.offering(identifier: "experiment_group")?.availablePackages { self.display(packages) } } but with this I just get the error that no member “display” exists, no matter what I do.Have I missed something? I’m still very new to paywalls so please excuse my lack of experience. I should add, I am targeting iOS 17 & using SwiftUI. Many Thanks, Billie
By default, our app's billing grace period is turned off. However, we're considering turning it on to retain customers who may be experiencing temporary billing issues or errors. Should we make this change, we're wondering whether we need to make any modifications within the app, or if RevenueCat will handle it automatically. Additionally, if we activate the billing grace period through the AppStore portal, are there any potential issues we should be aware of?
I am using Revenuecat for my APP to handle payments and paywalls. I am using purchases_flutter: ^8.1.0purchases_ui_flutter: ^8.1.0I am seeing 100% failures on payment made through UPI on Google Play Store in India. Do I need to do anything on my end to make it work?
Is there any way to test different end-user currencies to see how the UI handles different storeProduct.priceString values for different countries? (Obviously, without needing to open actual Google accounts in different countries.)Does storeProduct.priceString always show the actual/local currency symbol & price of what the user will see in the Play Store or App Store after Purchases.purchasePackage is callled?Thank you.
Since last month my display prices from the class store product displaying wrong currency and prices. I’m currently in the netherlands, so my currency should be EUR, but instead it’s showing RY - currency from turkey. I have not changed anything in my default phone settings. I have been investing this issue for the last 2 weeks, but there are no similar cases. Is there anyone who could help me? I’m testing in sandbox mode on revenuecat and have some information about this my sdk version is 6.5.0:Last Opened In the last dayUser Since 2023-06-15 at 07:31 AM UTC (22 minutes ago)Last Seen Platform Version android 33Last Seen SDK Versionnative 6.4.0Last Seen Locale en-NL Purchase information:"country_code": "TR","currency": "TRY","environment": "SANDBOX","event_timestamp_ms": 1686815472617,"expiration_at_ms": 1686815808143,"is_family_share": false,"is_trial_conversion": false,"offer_code": null,"price": 15.90344831154524,"price_in_purchased_currency": 374.99,"product_id": "subscription_3_m
I have set my consumable products on Revenu-cat and also set them as multi-quantity on google-play. However when try to purchase on the revenuecat no-code paywall, I see debug log with following info. D/RevenueCatUI(17244): Ignoring purchase request for already subscribed package Not sure what’s going on
I'm experiencing an issue with the paywall on our React Native app when viewed on an Android tablet in landscape mode. As shown in the attached screenshot, the paywall image fills the entire screen, making it non-scrollable. This issue prevents users from seeing or interacting with the subscription options, essentially rendering the paywall unusable.We are using the following versions"react-native-purchases": "7.28.1","react-native-purchases-ui": "7.28.1"I saw a similar issue reported a while back, but it was for the Android SDK. It seems like the React Native version hasn't been updated to utilize the fix for this problem? Here’s the link to the previous discussion: Android paywalls in landscape are not displayed correctly.
Hi!I’ve been trying to add RevenueCat to my App, I’ve managed to successfully setup subscriptions, and test them using the StoreKit Configuration file. Works like a charm.I’m now working on adding a Lifetime non-consumable in app purchase. Purchasing works well. But I can’t make the refund works.Here is my flow:- Start the app- Buy the Lifetime IAP- Wait a bit- Issue a refund via the Xcode StoreKit test panel.The refund seems to be process correctly, I see this in the dashboard for the user:Unfortunately the Entitlements for the user is still active.<EntitlementInfo: "identifier=Pro,isActive=true,willRenew=false,periodType=PeriodType(rawValue: 0),latestPurchaseDate=Optional(2024-08-29 12:36:23 +0000),originalPurchaseDate=Optional(2024-08-29 12:36:23 +0000),expirationDate=nil,store=Store(rawValue: 0),productIdentifier=#####.#######,productPlanIdentifier=null,isSandbox=true,unsubscribeDetectedAt=nil,billingIssueDetectedAt=nil,ownershipType=PurchaseOwnershipType(rawValue: 0),verificati
I have a customer that has purchased a subscription in the sandbox, and when I call the V1 get subscriber endpoint, it does not return this subscription entitlement: { "request_date": "2023-12-15T19:43:21Z", "request_date_ms": 1702669401141, "subscriber": { "entitlements": {}, "first_seen": "2023-12-15T19:32:20Z", "last_seen": "2023-12-15T19:32:20Z", "management_url": null, "non_subscriptions": {}, "original_app_user_id": "823d3d4b-1760-f789-709a-48e47cf96b4e", "original_application_version": "1.0", "original_purchase_date": "2023-12-15T19:32:46Z", "other_purchases": {}, "subscriber_attributes": { "$attConsentStatus": { "updated_at_ms": 1702668767953, "value": "notDetermined" } }, "subscriptions": {} }} I’m assuming that this is returning the non-sandbox data. This was working as expected before and seems to have started failing recently.
The paywall and offerings work perfectly in the test environment, and Apple's testing also shows everything functioning correctly. However, once the app is approved and goes live in production, the offerings no longer appear. This means I now have a live app, but users can't make any payments because they can't see the offerings. could this be a configuration issue. i followed all instructions
I want to track app installs, but currently, I am not receiving any install information on iOS. I found the this for a solution in revenueCat document: https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#track-install-and-usage-events Track Install and Usage EventsAs noted above, you'll need to disable all client side tracking of revenue to prevent double counting of revenue in Facebook Ads Manager. To continue tracking install and usage events, you'll need to call Facebook's 'activate app' event after configuration:-Swift// disable automatic trackingFBSDKCoreKit.Settings.shared.isAutoLogAppEventsEnabled = false// optional: call activateAppFBSDKCoreKit.AppEvents.shared.activateApp() What is the equivalent of this code in flutter?
I am developing my app with React native plus Expo.It provides an inapp subscription using RevenueCat.The app works well on my local PC and I could successfully purchase subscription plans.These are the commands I built the local version :$ npx expo prebuild$ npx expo run;android --device$ npx expo start --dev-client After the local test, I built a PRODUCTION profile of my app by the following command$ eas build --platform android --profile production Then I launched it on the close-test track of the Google Play console.But the app does not work for paywall screen.Actually, it displays the home screen, and it gets stuck when I click the purchase button whichis supposed to display packages, offerings, or whatever on the next next paywall screen. Any idea about where can I see to address this issue?Thank you in advance.
I'm just curious if I signed up for a sandbox API not a production API because the offerings work perfect in testing but when it goes to Apple production after approval, it does not work Does anyone know if there's that is two different environments?
I have a page withSingleChildScrollView where content is loaded. It’s infinite scroll view where data is dynamically added. For a given situation I would like to add PaywallFooter at the end of the page if the condition is not met. Is it possible? I am using flutter purchases_flutter: ^8.1.0purchases_ui_flutter: ^8.1.0
Flutter: When I used the sdk RevenueCat version 6.23.0 it worked perfectly, I have updated to the latest 8.1.0 and it does not show me the paywall, it shows me error 23, maybe the methods are different, I share how I call it.in the main.dart I initialize it and check if it is a subscriber.Future<void> initRevenueCat(BuildContext context) async {await Purchases.setDebugLogsEnabled(true);PurchasesConfiguration configuration;if (Platform.isAndroid) {configuration = PurchasesConfiguration('goog_xxxxxxxx');await Purchases.configure(configuration);}else if (Platform.isIOS) {configuration = PurchasesConfiguration('appl_xxxxxxxx);await Purchases.configure(configuration);}bool esPro = false;try { CustomerInfo customerInfo = await Purchases.getCustomerInfo(); List<String> entitlementIdentifiers = ["Monthly", "Annual", "Six Months"]; for (String id in entitlementIdentifiers) { if (customerInfo.entitlements.all[id]?.isActive == true) { esPro = true; break; } else { esPro = false; } }
How to detect automatically when InAppPurchase subscription expire or is cancelled by user ?My app show some feature on the home page and I want to display them only for subscribed users.If the user cancel the subscription in an other device how to detect that ?Firebase claims seems to not be automatically updated...I’m using flutter.
Hi there 👋🏻I am trying to use SubscriptionStoreView(for: offering) that is mentioned here:https://www.revenuecat.com/blog/engineering/storekit-views-guide-paywall-swift-ui/#h-using-with-revenuecat But I am not able to find this view, although I have imported both RevenueCatUI and RevenueCat.What am I missing?
Can someone help me with this ? I have attached two versions, one on my iphone 13 pro with ios 18 and another one on my old iphone 7+ with ios 15. I don’t understand how to control the font size and wraping that is happening on the older iOS version
I am trying to update my Android app but now getting following error on play store console Your app currently uses Play Billing Library version AIDL and must update to at least version 5.2.1 to make use of the latest monetization features on Google Play And its blocking me to create a release. Today I upgraded revenuecat sdk to ```implementation 'com.revenuecat.purchases:purchases:7.0.0'```And I have also added ```implementation "com.android.billingclient:billing:7.0.0"``` But Google play console not allowing me to create release. I am not sure what to do here. would appreciate any help. Thanks
Hi RevenueCat, I would appreciate some help here. I am developing an app in SwiftUI for iOS and using the RevenueCatUI PaywallView to display offers. When the paywall presents itself to the user, I would like to verify if the user has made an account with the app before allowing the purchase.Can you advise on how to make this change without altering the package dependency itself? I would ideally like to make an extension of the PayWallView or a superclass “CustomPayWallView” with custom functionality, but it is a lot of code to read through and edit.I understand if this is a big ask, but any pointing in the right direction would be a great help. Thank you! Edit: I would also appreciate a link to the PayWallView API Reference, I can’t seem to find one. Thanks!
In the apple I configured - introductory offer - “$17.99 every month for the first 3 months”How in the paywall I can get this “3 month” or length of introductory period?{{ sub_offer_price }} for first {{ sub_offer_duration } return$17.99 for first 1 month
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.