Discussion and help from anything related to RevenueCat.
Recently active
I am using Android SDK, revenuecat version 7.0, and this is my code (kotlin):Purchases.sharedInstance.getCustomerInfoWith( fetchPolicy = CacheFetchPolicy.FETCH_CURRENT, onError = { error: PurchasesError -> log("END with ERROR = $error") }, onSuccess = { customerInfo: CustomerInfo -> val purchased = customerInfo.entitlements["premium"]?.isActive log("END with SUCCESS: isActive = $purchased") })Consider following scenario:Before purchasing a product = getCustomerInfo properly returns no active entitlements (as I never purchased the product) After I purchase the product = getCustomerInfo properly returns existing active entitlement (as I just purchased product) After I refund my purchase in Play Console (including checked checkbox "Remove entitlement") = getCustomerInfo incorrectly still returns I do have active entitlements. Even after hours, even after I specifically used fetch pol
HiI’m trying to grant promotional with REST API.(https://api.revenuecat.com/v1/subscribers/{app_user_id}/entitlements/{entitlement_identifier}/promotional) docs: https://www.revenuecat.com/docs/api-v1#tag/entitlements But I received error with 404.[raw error message]{status: 404, statusText: 'Not Found', headers: AxiosHeaders, config: {…}, request: ClientRequest, …} What could be the cause of this error?[Already Confirmed Topics]User exists in project (with `https://api.revenuecat.com/v1/subscribers/{app_user_id}`) Entitlement exists in project (with `https://api.revenuecat.com/v2/projects/{project_id}/entitlements/{entitlement_id}`) Path is valid (A generic "Page not found" error message appears when adding an unnecessary character to a path.) The error does not occur only with a specific user. The error does not occur only with a specific entitlement.
Forgive me if this is a rookie question but I can’t seem to figure out how to customise the text of the subscription. Where can I set the text that will be displayed here (red highlight on screenshot)? Is is possible to show a different text for the Sandbox accountExample shows iOS but I also want to set this on Android. Thanks!
I have an offering with three packages. How do I set the package name & set a custom description for each package? There is only a limited number of things I can select from the drop down menu. I need to explain what each product is exactly in my paywall. Thank you.
Hi I’ve setup my Paywall successfully and integrated into my app. However I only see the english version of my Paywall. My sandbox user country is set to Germany. And I’ve edited the Paywall template for german.The data coming from appstoreconnect is correct since I see the description in german. But the Paywall template does not change. Did I miss something? I’m using React Native if that matters.Thanks in advance!
It would be great to have a direct Asapty integration. It’s possible via webhooks right now, but it would be so much nicer to just have a button. From my research, they seem like a fantastic ASA provider.
Hello RevenueCat Community,I'm encountering an issue where, despite setting up a closed testing program and adding my email to the list, I'm still being prompted for credit card information when installing the app on my phone. This behavior persists even though I've successfully joined the testing program through the provided link.Details:Platform: Android using flutter SDK Version: purchases_flutter: ^6.26.0 Testing Program Setup: I've created a closed testing program in the RevenueCat dashboard and added my email to the list. The program is configured to not require payment information.Issue: When I install the app on my phone using the same email, the system still requests credit card information. This behavior is unexpected since I'm part of the closed testing program.Steps Taken:I've ensured that the email used in the app matches the one added to the testing program. I've tried clearing the app's cache and reinstalling it to no avail. I've verified that the RevenueCat SDK is corre
When calling the https://api.revenuecat.com/v1/receipts endpoint I’m getting a 400 error as if I’m not sending the X-Platform header const revenueCatBaseUrl = 'https://api.revenuecat.com/v1/';const url = `${revenueCatBaseUrl}receipts`;const headers = { 'Authorization': `Bearer ${revenueCatApiKey}`, 'X-Platform': 'stripe', 'Content-Type': 'application/json'};const data = {app_user_id: uid, fetch_token: subscription}const response = await axios.post(url, data, {headers: headers});return response.status === 200;{code: 7000, message: "Invalid Platform."}Is anyone else experiencing similar issues?
Let’s consider a scenario where customer subscribed for monthly plan. But after few days, customer cancelled the subscription. Shouldn’t customer be allowed to access to the pro content till the period subscription ends ? Whats the right way of handling such situation ? Do we refund and immediately close the subscription or whats the best we do when user cancels the subscription ?
W/[Purchases] - WARN(13858): ! Unable to start a network connection due to a network configuration issue: https://api.revenuecat.com/v1/subscribers/gi61cjv4sSYwVJVm9YyqLJzJYet2/attributesE/[Purchases] - ERROR(13858): 😿‼️ PurchasesError(code=InvalidSubscriberAttributesError, underlyingErrorMessage=Some subscriber attributes keys were unable to be saved., message='One or more of the attributes sent could not be saved.')E/[Purchases] - ERROR(13858): 😿‼️ There were some subscriber attributes errors: [SubscriberAttributeError(keyName=$androidId, message=Android ID cannot be modified.)]
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?
While trying to create a paywall, I get this error, even though the above shows that each package has a product attached. Not sure what I’m doing wrong here 😅
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
Hello RevenueCat team,We are heavy users of your 3rd party integration feature: we do send events to Adjust and our custom webhooks to obtain realtime data, which is great.At this point, we are willing to send a unique event for the very first purchase of a user. This would be very valuable for many use cases, such as product analysis (first purchase CVR or cost-per-first-purchase are much more common metric in higher-IAP share games) and UA campaign network [esp CPE] optimization.Would you please let us know your thoughts on this? It would be an event like “first_purchase”, for example.Thank you very much and keep up the good work
Could I please get someone knowledgeable to confirm that I understand things correctly?I currently have an iOS app that has two subscription options: yearly or three months.I want to add a free trial.From reading the forums and the docs I think these are the steps I should take. Are they correct? If they are correct then several assumption I made about how this works are incorrect.Add an introductory offer to each of my two subscription options in App Store Connect. Wait for the change to propagate. Adjust my UI for users that’s aren’t subscribed based on what Purchases.shared.checkTrialOrIntroDiscountEligibility indicates. That lets me choose whether a free trial is mentioned or not.I’m also thinking this would be a good time to throw out my paywall and start using RC’s paywall feature.Thank you!
Hello,I've recently started using the fantastic paywall features in my Flutter app. However, I've noticed that the localization support for this feature is quite incomplete. This deficiency could potentially lead to a poor user experience and, consequently, lower conversion rates for purchases. Presently, it seems there's no option to display the paywall in a specific language upon request. As a result, if my app supports multiple languages and allows users to choose their preferred language in the settings page, the paywall page remains unaffected by these settings. Instead, the language is determined by the App Store's origin country. It would be preferable for the paywall to adopt the device's locale as the default language rather than relying solely on the user's country of origin. This would ensure a more accurate display of the paywall language in various situations. I'm hopeful for a solution to this issue.Thank you for your attention.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.