Get help with your SDK implementation.
Recently active
Hello there!I have noticed that the revenuecat events differentiate in behavior for android and ios but i did not find a specific explanation for that. If a subscription is canelled and a user purchases again, a renewal event is sent for ios but an initial_purchase is sent for android. Is this correct behaviour?Ive seen that initial_purchase events are sent for first subscriptions or if a “lapsed” user resubscribes. What exactly is a “lapsed” user? The documentation says an active user is someone who interacted with revenue cat in the past 28 days. But then again android is sending initial purchases. I have not come to a conclusion with this. I hope anyone can help me out, thanks!
I have verified that I can purchase products in the Amazon AppStore Live App Testing using the Unity SDK in version 6.9.3.https://github.com/RevenueCat/purchases-unity#amazon-support> This version of the SDK doesn't have support for Amazon Store. If you would like to use our SDK with Amazon Store, use the version tagged amazon-latest and follow the AMAZON-INSTRUCTIONS.md docs to get set up.However, the GitHub readme says I need to use the version tagged "amazon-latest".Is the information in the GitHub readme out of date?
When trying to upgrade an existing Play Store subscription in our React Native mobile app, I often get a "The device or user is not allowed to make the purchase" error, and the upgrade fails. Eventually, using another payment method, the upgrade succeeds. I’m unsure if this is an error with my payment method, RevenueCat code, or something else.Steps taken on a Samsung Galaxy A14 in a live production app with real purchases:Purchase sakura_gold_v1a:monthly-5-autorenewing subscription with Apple Card credit card info entered into Play Store - succeeds. Upgrade to sakura_diamond_v1a:montly-19-autorenewing subscription with Apple Card - fails. Retry - fails. Apple card shows no declined transactions that require approval Play Store app is up to date Play Store “Require authentication for purchases” is on Google payments activity shows Declined transaction Error logged in app: code: 3, message: The device or user is not allowed to make the purchase., name: Error, nativeStackAndroid:
Fetched all offerings with accurate details Create a closed testing release with testers (Successfully published) Using a real device with logged in email in the play store that is included in the testersAll of the necessary steps to test the subscription feature have been done but still I’m getting : D/[Purchases] - DEBUG(10299): ℹ️ Vending Offerings from cacheD/[Purchases] - DEBUG(10299): ℹ️ Checking if cache is stale AppInBackground falseI/flutter (10299): PurchasesErrorCode.productNotAvailableForPurchaseErrorI/flutter (10299): The product is not available for purchase.
I’m working on the best way to handle errors in my app, referencing the revenuecat error documentation.It seems to me that there are broadly four classes of error:`PurchaseCancelledError` - which is simple enough to handle in the UI `NetworkError` - in which a purchase definitely didn’t go through, and I can give my users a chance to retry the purchase Errors related to my code and configuration - in this case, I should display an error message, send an alert to our error logging system, and not allow the user to proceed. And `StoreProblemError`The last category of error I find puzzling - `StoreProblemError`. The documentation says that “If everything was working while testing, you shouldn't have to do anything to handle this error in production. RevenueCat will automatically retry any purchase failures so no data is lost.” So if I’m reading this correctly, the user will not have an active subscription made immediately, but they will have a subscription made eventually because the rev
Just launched my app with subscriptions on Monday.On Tuesday I had an iOS user successfully subscribe to a Monthly plan.Now, Wednesday morning, I’m seeing this error in my Sentry dashboard. Not quite sure what to make of this. Clearly things were working well enough ~12 hours prior that someone was able to subscribe - and I haven’t touched/changed anything since.Only the one error / one user so far - but I’m concerned it could continue.
How does RC recommend anyone already using mobile to get the existing purchases and subscriptions for users on a Flutter Web app given no RC Flutter Web SDK. I want to ensure subscribers on Mobile can log in on Web and their subscriptions are retrieved. I see there is the Revenue Cat API, and also Firebase Integrations. I want to understand what the best practice is. Thanks
IntroThis vulnerable can be used on all app uses revenuecat subscriptions verification. All code here wrote on JavaScriptEntitlement’s bugThis vulnerable based on getting entitlement’s s from server, exampleconst params = {url: "https://api.revenuecat.com/v1/product_entitlement_mapping",timeout: 5000,headers: $request.headers}delete params["headers"]["x-revenuecat-etag"]$httpClient.get(params, function(errormsg, response, data) {if(errormsg) {err(errormsg)}else{mapping(data)}}) SSL pinningSSL pinning is mechanism to stop sending response if traffic was capturing .Recommendation: add SSL pinning to all app requests
I have added the latest RevenueCat dependency (purchases_flutter: ^6.26.0) in my Flutter project. However, when I try to run my IOS project I am getting the following errors. Failed to build iOS appError (Xcode): double-quoted include "LaunchReviewPlugin.h" in framework header, expected angle-bracketed instead/Volumes/Data/Projects/demo/ios/Pods/Target%20Support%20Files/launch_review/launch_review-umbrella.h:12:8 Error (Xcode): 'Flutter/Flutter.h' file not found/Users/abc/.pub-cache/hosted/pub.dev/launch_review-3.0.1/ios/Classes/LaunchReviewPlugin.h:0:8 Error (Xcode): (fatal) could not build module 'launch_review'/Users/abc/Library/Developer/Xcode/DerivedData/Runner-ffencdqrnvwqyfcxfawlmzddeskh/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/launch_review.build/VerifyModule/launch_review_objective-c_arm64-apple-ios12.0-simulator_gnu11/Test/Test.framework/Headers/Test.h:0:8 Error (Xcode): (fatal) could not build module 'Test'/Users/abc/Library/Developer/Xcode/DerivedData/
For a non-subscription purchase, is there a way to do it in flutter client, serverless case. Get information such as the actual price paid by the user and the country.
Hello everyone I am hardstuck with this issue since 1 week,Products are loaded on play store(i can buy subscription start free trial use promocode etc correctly), but on IOS on a real device, running the development build, with a sandbox user offerings are not loading and I get this errorThere 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 information: https://rev.cat/why-are-offerings-empty]I already triple-checked everything inside thishttps://community.revenuecat.com/sdks-51/why-are-offerings-or-products-empty-124paid app agreement is signed and is in the “Verifying” state, the subscriptions are in "ready fro submission", bundle id matches everything is setup correctly, but still I can't make this work, and keep getting this error.The credentials
Hi,I am trying to fetch APP Store IAP products using the API Purchases.getProducts, however, it is returning no products. After looking at various post it seems that I need to pass second argument to the method Purchases.getProducts as the default value is “subscription” and my product is not Subscription.I am struggling to pass the second argument which is ENUM in the latest SDK and not a simple string like “sub” or “iap”. I don’t know how to import these enum values so that I can use it as argument in the function call.Could you please help me with some sample code to pass the second argument? Thanks in advance. Thanks,Kapil
There are two subscription setups:Identifier: tier1:monthly1, Subscription Id: tier1, Base Plan Id: monthly1Identifier: tier2:monthly2, Subscription Id: tier2, Base Plan Id: monthly2When changing the plan from tier1:monthly1 to tier2:monthly2, the following error occurs for a specific user:PlatformException(4, One or more of the arguments provided are invalid., {code: 4, message: One or more of the arguments provided are invalid., readableErrorCode: PurchaseInvalidError, readable_error_code: PurchaseInvalidError, underlyingErrorMessage: Couldn't find existing purchase for SKU: tier1, userCancelled: false}, null)In testing locally, this error is not reproducible, and the cause of the error is not apparent. The product_id of the subscription for the user where the error occurs is as follows, with tier1:monthly1 set:{ "app_id": "", ... "product_id": "tier1:monthly1", }The code for changing the plan is as follows:final currentEntitleInfo = (await Purchases.getCustomerInfo()).entit
Hey everybody,I started to implement RevenueCat today into our existing Flutter app and so far I’m really enjoying is. The only thing I’m wondering right now is, is the following debug message that shows up all the time: [Purchases] - INFO: ℹ️ Purchases instance already set. Did you mean to configure two Purchases objects? What I’m doing so far in my code is to initialize the Purchases like that: Future<void> initSubscriptions() async { await Purchases.setDebugLogsEnabled(true); if (Platform.isAndroid) { // TODO Setup Google // await Purchases.setup("public_google_sdk_key"); } else if (Platform.isIOS) { final bool revenueCatAlreadyConfigured = await Purchases.isConfigured; if (!revenueCatAlreadyConfigured) { await Purchases.setup("<my_api_key>", appUserId: "SIMULATOR-TEST-CLIENT"); print("iOS setup finished"); } else { print("RevenueCat is already configured"); } } else { print("Platform doesn'
Hello,Just asking some quick clarification questions publicly in case they help others, these are specific for Flutter but I would assume that they’re applicable for other SDKs.1. I am invoking:PaywallResult paywallResult = await RevenueCatUI.presentPaywallIfNeeded("Premium", displayCloseButton: true);I would assume that the only thing I can do to “react” to whatever the user did would be to switch on the enum - no other subscription details bar PaywallResult (notPresented, cancelled, error, purchased, restored) are returned?2. Related but I also noticed that you can hook into subscription changes like this: Purchases.addCustomerInfoUpdateListener((customerInfo) async { });Would you do this in a centralised place (like where we are initialising the SDK), to listen for all subscription changes for a user and then “observe” these using a ChangeNotifier or similar?
I use RevenueCat in apps developed with Flutter. It does not show up inside the IOS Runner Privacy Report. I use the last version purchases_flutter: ^6.25.0Is this an issue or is as intended?
The image aspect ratio recommended for the Template 4 - Persian Paywall is stated as 19.5:9 - https://www.revenuecat.com/docs/tools/paywalls/creating-paywalls#uploading-images Is this correct? the image width is over twice as big as the height?
// or if you need to present a specific offering:const paywallResult: PAYWALL_RESULT = await RevenueCatUI.presentPaywall({offering: offering // Optional Offering object obtained through getOfferings});This code is not working properly , always return the default offering
I am getting another random error in Production when I fetch my products. Is it better to hardcode my 2 offerings: Monthly & Annual instead of relying on RevenueCat `getOffering()` API which is resulting in errors too often? None of the errors happen locally, only in production. Logging is useless.
While I’ve previously (as of February?) been able to make sandbox purchases in my iOS app, they are now all failing. I initially get a “purchase was successful” message but then get: There was a problem with the App Store. Problem communicating with the Store when trying to validate the receipt. After the initial purchase attempt, these receipts get cached on the device and the verification is re-attempted on each start-up, with the same error. In addition, I’ll then see: Error computing offline CustomerInfo. Will return original error.Creation error: Unable to compute offline CustomerInfo when purchasing consumable products. I am testing on multiple devices (iOS 16 & 17). I am using Xcode 15.3. I’ve updated to the latest purchases-ios package (4.40.0 -- was previously 4.34.0). I’ve created new sandbox accounts. (This is the only way to get rid of the “cached receipts” above.) I’ve tried with the device logged into my Apple ID and App Store logged into sandbox (this is how it worke
When i try to open a paywall the apps crashes without returning any error.With Flipper Crash Reporter i can see the error :FATAL EXCEPTION: mainProcess: com.dev12br.coupleGame, PID: 19923java.lang.IllegalStateException: ViewTreeLifecycleOwner not found from android.widget.FrameLayout{b1c81c V.E...... ......I. 0,0-0,0} at androidx.compose.ui.platform.WindowRecomposer_androidKt.createLifecycleAwareWindowRecomposer(WindowRecomposer.android.kt:352) at androidx.compose.ui.platform.WindowRecomposer_androidKt.createLifecycleAwareWindowRecomposer$default(WindowRecomposer.android.kt:325) at androidx.compose.ui.platform.WindowRecomposerFactory$Companion$LifecycleAware$1.createRecomposer(WindowRecomposer.android.kt:168) at androidx.compose.ui.platform.WindowRecomposerPolicy.createAndInstallWindowRecomposer$ui_release(WindowRecomposer.android.kt:224) at androidx.compose.ui.platform.WindowRecomposer_androidKt.getWindowRecomposer(WindowRecomposer.android.kt:300) at androidx.compose.ui.platform.Abstr
Hi RevenueCat Team,I am getting the below error while fetching offerings only for some users and for most of users it’s working fine and payments are going through, “PurchasesError(code=ConfigurationError, underlyingErrorMessage=There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store. More information: https://rev.cat/why-are-offerings….”We did fetched some details from the devices it is happening.They are completely valid model with latest Android versions.And also they do have Play Store installed with latest version.Also checked if they are eligible for a payment using callback provided by RevenueCat and it’s showing true.Any help would be greatly appreciated
I am good so far up to the point of being able to display the paywall, however, I don’t see any examples of how to handle the results once the user makes a selection.
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-emptyand in app:Error 23: There is an issue with your configuration. Check the underlying error for more details Previously I’ve added a StoreKit Configuration file whilst working in simulators.I still face the Error 23 issue in TestFlight as many of my testers have reported. I’m running my code on device, not simulator to try debug this, and have not selected a StoreKit config file in my schema. I have also tried deleting my StoreKit config file as well. My subscriptions and in app purchases have the status “Waiting for Review” in app store connect. Error on my device endSchema run options
Google Play now supports in-app products with more than 1 quantity. Can’t find how to specify quantity via the RevenueCat Android SDK. Is it not implemented yet?
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.