Discussion and help from anything related to RevenueCat.
Recently active
To replicate:Using latest Flutter plugin 3.4.1 and the ‘purchase_tester’ example projectAdd an ElevatedButton that calls canMakePayments() eg replace the ‘UpsellScreen’ build method with this@overrideWidget build(BuildContext context) { return ElevatedButton( onPressed: () async { bool _storeAvailable = false; try { print("Checking availability"); _storeAvailable = await Purchases.canMakePayments(); print("Store available? $_storeAvailable"); //This line never prints } on PlatformException catch (e) { var errorCode = PurchasesErrorHelper.getErrorCode(e); print("Error was $errorCode"); } }, child: Text("Check Store Available"), );}On Android the call never returns (on iOS it works as expected)Expected result:bool returned within a reasonable time (or an exception)Testing info:This function was working correctly on vs 3.3.0 of the plugin.Tested on Android Pixel 4aFlutter (Channel stable, 2.2.3, on macOS 11.4 20F71 darwin-x
We have the grace period enabled for subscriptions. With iOS users, if they have a billing issue they enter the grace period but then their subscription gets canceled at the same time. However, for android, the grace period is working just fine. They enter the grace period without canceling their subscription until the period has ended. Is there something we need to do differently on iOS?
Hey,Today, I’ve had a rejection from Apple. My app is already live, and it’s the first update to it. I haven’t touched IAP-releated code since the initial release. Anyway, I tried to reproduce the issue - I couldn’t. I’ve checked both Google Analytics and RevenueCat sandbox, and I didn’t find any trace of the purchase allegedly made by them.I’ve received a general “next step”, namely:When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead. According to RevenueCat docs, it’s something already taken care of. I know it’s probably not RC-related, but I still feel like posting this as someone may have had similar experiences. My follow-up
Hi, I am just finishing my initial setup with RevenueCat and my Flutter app. I believe all is set with the exception of how to handle promotional offers.I have a Free 1 week promotional offer that is setup in App Store Connect for both a Monthly subscription and an Annual subscription. This requires 4 product codes as you have to include the same promotion for both subscription types. So I have two promotional offers, one for the Monthly and the other for the Annual.I have also created two In App purchase keys, one for Monthly and one for Annual.How do I configure the App Store configuration when you can only add 1 Subscription p8 file?Once I get this resolved the documentation on “Implementing iOS subscription offers” does not have details for Flutter developers. What do I do?
Hi, I am getting following error when I try to load the application; E/[Purchases] - ERROR(26785): 😿‼️ Error performing request.E/Purchases(26785): Error fetching subscriber data: Error performing request. Please help.
I have added my self (my main email id that is on my android device) as a licensed tester and also as internal tester. But when I try to make a purchase It shows my actual credit card as payment method instead of Google Test Card. My app is upload as internal testing release at Play Store. What am I doing wrong here?
Hello, We are experiencing delays on Dashboard data that we have not been having before. For example the “installs”-metric has been quite reqctive to small changes and seems quite real time. Now however it changes on steps of 10 installs and only like once in an hour. We see from other analytics-solutions that there is constantly installs. Maybe the yesterdays Major outtake is still effecting the reporting?
We noticed some unusual behavior. This seems to happen when there is no clear error and we are unsure if this was intended or not. Consider the following code: [[RCPurchases sharedPurchases] offeringsWithCompletionBlock:^(RCOfferings* offerings, NSError* error){ if (offerings.current) { ... } else if (error) { ... } else { // this branch actually gets executed! ... }}];Both offerings.current and error are nil in some cases. Usually it has something to do with running on iOS simulator or when the IAPs aren’t setup properly (which can be seen in the logs), but the implication in the call is that error will never be nil. Luckily we were able to identify this issue quickly and patch our code with a workaround, but maybe the SDK team might want to revise that behavior. We haven’t tested if other calls have the same issue or if other platform SDKs have it.
Anyone had this crash? Fatal Exception: java.lang.IllegalStateException: Reply already submitted at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:164) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.success(MethodChannel.java:238) at com.revenuecat.purchases_flutter.PurchasesFlutterPlugin$5.onReceived(PurchasesFlutterPlugin.java:584) at com.revenuecat.purchases.hybridcommon.CommonKt$restoreTransactions$2.invoke(common.kt:187) at com.revenuecat.purchases.hybridcommon.CommonKt$restoreTransactions$2.invoke(common.kt) at com.revenuecat.purchases.ListenerConversionsKt$receivePurchaserInfoListener$1.onReceived(listenerConversions.kt:127) at com.revenuecat.purchases.Purchases$retrievePurchaseInfo$1.invoke(Purchases.kt:846) at com.revenuecat.purchases.Purchases$retrievePurchaseInfo$1.invoke(Purchases.kt:98) at com.revenuecat.purchases.PurchasesKt$sam$java_lang_Runnable$0.run(Purchases.kt
Hello,As shown in the title, it seems that after moving the app to a new Google account, it is not possible to get the purchase history from RenueCat. After moving the app, is there any action required in RevenueCat? Also, a user made a premium purchase after I moving the app, but it doesn't work properly in premium mode, so she’s going to restore the purchase. However, there is an error message 'There's no purchasing record' because there is no purchase history in RevenueCat. How can I restore her purchasing?Thank you.
I have two iOS products in my app.One I do not want to use any longer so I deleted it from app store connect.Next step is to delete it from the products in my app in revenuecat. So I click “Products”, then select the product from the list and on the bottom of the page I click the big red “Delete product” button.Then press “Confirm” on the “Are you sure?” warning.Result: Product still there….Tried this in Safari and Firefox.Any clues?I think this may also be the cause of the WARN: Could not find SKProduct for ( that I keep getting when I try to test it on my actual device. The products that I have in Revenuecat do not match the products that I have in the app store. I tried re-adding the product to the app store but apple won’t let me do that because I already used it previously. Edit: I just tried it again and then I noticed the brief popup on the top of the screen with the text: “There are transactions in the system using this product.” I’m not sure what this means yet but I’m going
Hello everyone, I am facing an issue with the flutter SDK that im not sure how long its been happening but I noticed because i needed to trigger an event based on successful subscription. This is working perfectly on IOS, however on Android I get the following message and cant do what I want. SDK is 3.4.5W/BillingHelper( 5733): Couldn't find purchase lists, trying to find single data. The subscription works, but billing helper is returning that and the confirmation never happens. Any ideas?
I am using purchases_flutter: ^3.4.5 and I am getting this error: “We've detected this app uses an unsupported version of Play billing. Please upgrade to Billing Library version 3 or newer to publish this app. Learn More about Billing Library 3.” What version of this package should I use so I can upload a Google package?
When changing a Stripe subscription the entitlement_ids in the PRODUCT_CHANGE webhook are always null. But all Stripe products are mapped to entitlements.The webhook:{ "api_version": "1.0", "event": { "aliases": [ "uQw121nienNLn6WAMns2abjPMAl2" ], "app_id": "app6e36463a7d", "app_user_id": "uQw121nienNLn6WAMns2abjPMAl2", "country_code": null, "currency": "EUR", "entitlement_id": null, "entitlement_ids": null, "environment": "SANDBOX", "event_timestamp_ms": 1632605983882, "expiration_at_ms": 1635186961000, "id": "061D6082-0653-41F8-ACF0-5575F696B4FA", "is_family_share": false, "new_product_id": "prod_K9as7Q7v8AdiUJ", "offer_code": null, "original_app_user_id": "uQw121nienNLn6WAMns2abjPMAl2", "original_transaction_id": "si_KIGFeHwEFeth5c", "period_type": "NORMAL", "presented_offering_id": null, "price": 0, "price_in_purchased_currency": 0, "product_id": "prod_KAFcPrBfELJ4cX", "purchased_at_ms": 1632594962000, "
Greetings,is it possible to use a single membership purchased on ios or android in your application on both sides?
This error has been occurring frequently for the last few weeks:There was a problem with the App Store I know that this error can occur and what it means, but between January and June 2021 this error occurred 0 times. Since July 2021, about 2-3 times per day. We never do test purchases at this frequency, nor can I believe that Apple is so unstable. Is there a general increase in these error messages or what could explain such a high frequency?
I have implemented webhook for revenuecat in .net core C#. But for some reason I am getting 400 badrequest with empty response. I am mostly sure that I am not getting the json response in webook through revenuecat for any of the event occurring.I have also added endpoint on revenue cat webhook with authentication. I have tried several time and as I have not way to test this on local machine. I need help from revenue cat team to provide some reference doc with sample implementation just to get proper json response. Below is the code snippet that I am using to get json response from the webhook endpoint added in revenuecat. var webHookSecret = _configuration[Constants.RevenueCatWebHookSecret]; var headerAuthorization = HttpContext.Request.Headers["Authorization"].ToString(); #region Check authorization if (webHookSecret == headerAuthorization) { json = await new StreamReader(HttpContext.Request.Body).ReadToE
Hello! We’re about to release an app using RevenueCat (via the React Native SDK) on iOS. Our app has options for monthly and annual renewing subscriptions, plus a lifetime purchase option. The lifetime option is implemented as a non-consumable purchase in the App Store.The issue we’re having is that once a user has purchased a lifetime subscription in the sandbox, there seems to be no way to ignore that purchase in the future without also ignoring other purchases with the same entitlement. I can manually grant an entitlement for a user, but when I call getPurchaserInfo() in my app, entitlements.active.xyz will contain the sandbox purchase, not the one I granted - the sandbox purchase seems to be taking priority. So either I have to treat sandbox lifetime purchases as valid, or add client code to ignore lifetime purchases made in the sandbox. But if I ignore sandbox purchases, this would seem to have the affect of also ignoring non-sandbox purchases for the same entitlement.This is a co
I am implementing Promotional Offers in a flutter app. Everything works exactly as it should until just after you have approved the purchase, then I get the purchase did not go through, contact the developer.error handling shows "One or more of the arguments provided are invalid." but both arguments are correct product and correct paymentdiscount.Is this possible to test in flutter? Since documentation is not available for flutter, I have followed react native.Does it matter that I test in the sandbox?
we are working on a flutter app that uses firebase authentication and each user has his own unique user id , first we setup the revenuecat on the lunch of the app using this await Purchases.setup("public_sdk_key");secondly when the user logs in we use its unique user id in : await Purchases.logIn(uuid);thirdly and when the user logs out we use await Purchases.logOut();is this the best practice and how can we handle if the user terminated his subscription while using the app
Hello, can we get IDFA or UDID list from revenue cat to build look a like audience for Facebook and tiktok ads We have subscribers to our app and we would like to utilize current or past subscribers to build look a like list Thank you in advance
I want to grant premium access to some users with offer codes and present Redeem page with this method: Purchases.shared.presentCodeRedemptionSheet()It works fine ,but:After redemption how can I verify the results(e.g entitlement ,days remaining ,etc )and how can I test it with in sandbox environment ,is it possible?I have my appstore connect side configured but I need some recommendation on revenue cat please.
Hey guys, In the main screen I see the revenue for the last 28 days. If a user make a refund will this money automatically excluded from the total revenue?
Sorry, title should be Xcode 13, cannot edit this anymore Hi, I am using purchases-ios via Swift Package Manager with the latest version 3.12.4. After downloading Xcode 13 my app builds and runs both on device and simulator.When I try to archive the app in order to upload it to the App Store, I receive the following message:Command CompileSwiftSources failed with a nonzero exit code.The line before saysremark: Incremental compilation has been disabled: it is not compatible with whole module optimizationThere is no other message before or after which gives an indication of what the error could be.The minimum target is iOS 13.I tried to clean the build folder, restart Xcode, restart the Mac, downloaded the project manually from the repository and set it up newly, nothing worked.I am clueless, what can be the problem here?
Hey guys!First of all, I am a new customer of RevenueCat and I like it a lot! I upgraded my iPhone to iOS15 and since then I have slight problems with stuff which worked before.When I buy the pro subscription plan in my paywall screen I can’t see the results in the rest of the app using getPurchaserInfo() unless I restart the app. It seems that RC is receiving the info from the cache and for whatever reason it is not cleared with the purchase. Here are the logs:[Purchases] - DEBUG: ℹ️ Products request finished.[Purchases] - DEBUG: 💰 Retrieved SKProducts:[Purchases] - DEBUG: 💰 inv_v03_basis_199_1mo_7d - <SKProduct: 0x282bf4a20>[Purchases] - DEBUG: ℹ️ 1 completion handlers waiting on products[Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: baHJxaHGJdPe9GDjQmkgsxo4cbf2[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request POST /receipts[Purchases] - DEBUG: ℹ️ API request started: POST /v1/receipts[Purchases] - DEBUG: ℹ️ API request co
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.