Get help with anything related to RevenueCat.
Recently active
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 ?
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 😅
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.
Hi there,I am using flutter to build my app and I have been using the Revenue Cat paywall functionality for making purchases.I have both consumable and non-consumable in app purchases. I am currently testing using the Google Play store. My products are set up like this:Consumables do not have entitlements, non consumables do have entitlements. I have an offering that contains several consumable options and I have separate offerings for each non-consumable option. I present these to purchase using Revenue Cats paywalls. The issue I am having is that once a purchase has been made, it cannot be made again. This is expected for the non-consumables that have entitlements, but how do I allow the consumables to be purchased over and over again?The documentation states that on the Google Play store purchases are consumed by Revenue Cat immediately but that doesn’t appear to be what is happening. Can someone help point me in the right direction?
Hi,I have an annual subscription product with a 7-day free trial.I want to be able to give the user a possibility to get a 20% discount (promotional offer, as they now are a subscriber), after they have started their trial. Like a “You have started a trial period, but if you convert now you can save 20%”. Do you know if this is possible? Br.Jakob
Above is the error message I get when cancelling the purchase (I cancel either pressing back button or by clicking anywhere else to dismiss the pop up). I am not sure why app crashes here. It is within the try catch statement and I have catch statement to handle error cases. Help would be appreciated. Thanks!
While investigating an account I expected to be closed in our system, I noticed that the expiration webhook had failed with a 403 (The dashboard says 6 out of 6 attempts but I only see the last result I assume).What I want to know now is how often this happens and if its a one off or a recurring problem, however I can’t see a centralised place to view webhook events & failures (Unlike Mandril for example that has a dedicated webhook section and shows you all the recent failures).If this data exists then where is it? Or is there a custom report somewhere I can run to get this data?
We set appUserId with custom id and invoke getCustomerInfo each time app is opened and set the state with info of either subscribed or not and unlock the pro content accordingly. So if you had previously uninstalled the app and reinstall, the invoke of getCustomerInfo would solve the issue of knowing whether subscribed or not.However app store wants you have ‘Restore Purchase’. How do I best use of this in this scenario?
I’m using the sandbox testing on web, and don’t seem to find any docs on how to test, so I am using stripe’s approach to use a card 4242 4242 4242 4242. However, I end up with this error:Thing is, the screen prior clearly shows that it is in sandbox mode. Why is the request failing?
Is there any way to set up an email notification to be sent to the software vendor (author) any time a purchase or subscription is made via RevenueCat? I already receive the weekly summary, but I am interested in also getting email notifications on every purchase/subscription. Thanks.
I got rejected several times by appstore: We found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, in-app purchase page loaded and error message occurred. Please review the details and resources below and complete the next steps..What should I do?
hi, I have a question about restoring a purchase.We don't want the B account to be able to subscribe to the service if the A account is subscribed to it.So we set the Transfer setting to 'Transfer if there are no active subscriptions'. Then, when I tried to subscribe to account B in RevenueCat, it threw a 'RECEIPT_ALREADY_IN_USE' error and prevented the payment from going through. Very nice.The problem is that this error code response has no clue as to which account is subscribing (e.g., Account A).From a user perspective, it would be nice to see a message that says "You are subscribed to account A and cannot subscribe" rather than just "You are subscribed to another account and cannot subscribe", but I couldn't find a way to do this. Is there anything in RevenueCat that would allow me to do this?
Hi,I’m getting an error when trying to obtain offerings for a specific platform using the v1 offerings endpoint if I use the secret API v1 key instead of using an app-specific API public key. I’m sending the X-Platform header properly as indicated in the docs.Here’s the endpoint I’m using:https://api.revenuecat.com/v1/subscribers/{app_user_id}/offerings Error:{ "result": { "code": 7000, "message": "Invalid Platform." }}If I set the auth header to the app-specific API key it returns properly.Is that the intended behavior? I’ve obtained the endpoint usage information from:https://www.revenuecat.com/docs/api-v1#tag/offerings/operation/get-offerings Thanks in advance!
It would be amazing to be able to add different images for a paywall on iOS when the app is on iPads vs iPhones (compact width (iPhone) vs regular width (iPad)) . I am looking at doing my first A/B test where i will be using a Paywall (template 4) vs my own custom view and unfortunately whilst looking great on iPhones, the image and template are pretty poor on iPads. Keep up the great work.
I've developed a Flutter app tailored for both Android and iOS platforms. Within the app, we've implemented a subscription mechanism utilizing RevenueCat to manage our in-app subscriptions. One of our primary goals is to provide our users with a seamless experience, such that their subscription status remains consistent across multiple devices or platforms. To put it simply, if a user subscribes on an Android device and later logs into their account on an iOS device, their subscription status should be synchronized, reflecting their active subscription.With this intent in mind, we've configured RevenueCat to utilize a custom user identifier, specifically using the user's Firebase authentication ID. We believed that this would facilitate the synchronization of subscription status across platforms.Our next endeavor is to introduce promo or offer codes into our application. These codes, when redeemed, should be tied directly to a user's account, ensuring they benefit from the promotion re
My application got rejected due to:Guideline 1.1.6 - Safety - Objectionable Content We noticed that your app’s in-app purchase products are mislabeled as Apple Pay, which could confuse and mislead users.To clarify this further, when they tapped to purchase the item, my app initiated Apple Pay [payment sheet] instead of In-App purchasing!!!I have updated my app to Revenue Cat, I am not doing anything about this the sheet is showing automatically by the app store, not from my side. I have tested via Test Flight and it shows the right sheet: any idea why this happened?
I have just published on stores my Flutter app with the new subscriptions, but it is still on sandbox, and when i try to make a purchase, the bottom modal has the Testflight text.How to switch to release env?thanks
I want to further clarity on my understanding. I hope to get a response.My question is regarding the 1% commission when sales are above 2500 USD. Does this revenue sum only apply to the products i link to revenue cat? I have only linked my subscriptions and not my one time payments where I handle them myself.any help and clarification on this will really be appreciated. Thank you!
I'm trying to refund a user's subscription, but I can't seem to find such an option. What could be the reason for this?Of course, it’s from Play Store
Using RevenueCatUI.presentPaywall() how do I present a specific paywall for a particular offering identifier? Can’t find this anywhere int he docs. For RN. Thank. you.
When trying to fetch the offering from revenue cat [Error: There was an unknown backend error.]. I am getting this error suddenly. I even purchased some products. Suddenly I got this error. Any idea what to do?
Good day, This is my first time using RevenueCat. I wanted to use it to allow anonymous users to buy 1 all access package for a fixed price. Currently my app supports android only and I am assigning a device bound unique Id in my configuration (see snippet). This is a hexadecimal string unique to each combination of app-signing key, user, and devicePurchases.configure({ apiKey: APIKeys.google, appUserID: Application.getAndroidId(),})My question on the matter is that I was wondering what prompts the Restore Purchases functionality. Is it the google play account that completes the purchase initially? If so what happens if a user is logged into multiple accounts. I’ve tested it for myself by buying the package on an emulator using my GmailA account. Then on my real device press the restore purchase button with GmailA logged in. This worked. even though the appUserId Is not the same (since it’s a different device). Hence the question if it is managed by RevenueCat’s backend using t
I have successfully setup paywall in my app. Pricing etc. everything is in place.I can see the localized versions of the paywall as a preview in paywall setup screen of revenuecat website. However in my own smartphone I can only experience english version.
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.