Discussion and help from anything related to RevenueCat.
Recently active
Hello, I need help. My paywallscreen does not generate the Apple Store Connect purchase receipt in the Testflight environment and it is hindering the approval of my application on Apple. I thought it would be because the signature was in review status, but Apple support informed that the status is only approved when the application has the approved binary following the guidelines. However, our binary will never be approved because it does not generate the Revenue Cat receipt. What can we do? I need urgent support because I am thinking of removing the Revenue Cat implementation to resolve this error as soon as possible. And the following error appears: 'Unable to complete the purchase. Product ID not mapped'
Environment: iOS app using the latest RevenueCat SDK Subscriptions set up in a single Subscription Group in App Store Connect Monthly subscription (Level 2) and Annual subscription (Level 1) In Sandbox Steps to Reproduce: User purchases the Monthly subscription. Before the Monthly period expires, the user purchases the Annual subscription. RevenueCat webhooks are received in this order: PRODUCT_CHANGE RENEWAL CANCELLATION (with product_id corresponding to the Annual subscription) Observed Behavior: After upgrading, the CANCELLATION webhook references the Annual subscription, causing our backend logic to treat it as if the new subscription itself was canceled. When the Annual subscription naturally reaches its expiration date, it does not auto-renew, confirming that the annual plan’s renewal has indeed been disabled. Expected Behavior:CANCELLATION should reference the Monthly product (old plan). Annual subscription should continue auto-renewing at each billing
Hi community,I’m stuck with the subscription product change before expiration. How to implement it in my android app (preferably in java)? All other operations are well executed through the paywall, except the product change. Unfortunately, it charges the new chosen plan at full price (instead a calculated pro rata up to the expiration date) and does not cancel the prior one. I asked to chatGPT, but there were a lot of issues with their suggested codes. I gave up with AI after more than 6 hours trying their codes. Each of their corrections generate new issues.Is there someone here who can help me?Ben
I have two views in my app: HomeView and ResultsView.Both of them have a navigation bar button which opens Paywall using fullscreencover. Paywall uses RevenueCat PaywallFooter. Now when purchasing from HomeView onPurchaseCompleted is called, however when we purchase via ResultsView onPurchaseCompleted is never called even though purchase goes through.Im guessing it has something to do with the fact that ResultsView is further down the Navigation Stack. But its super odd.
Followed the instructions on setting up for google play store, Created a closed release, with one active subscription, and added a testerIAM, service accounts, got all three validations(Note, when I tried to redo the steps with a different json, I couldn't get a single validation). But from Google Play Store “Test notification couldn't be sentMake sure that you've entered the topic name in the correct format, Google Cloud is set up correctly and that you have the required permissions”
I recently realized I can use paywalls for consumables, the token packs in my game, which is great. But I can’t get the ideal config I’d like. My current home grown store has a buy button for each pack which I find more intuitive in this case than selecting a pack and one buy button for the whole group. I think that works great for subscriptions/lifetime where you just want one option, they all do the same thing, it’s just the terms that are different. In my paywall you can hit the buy button next to each pack or tap on the packs image (which would also be nice but would be fine if I couldn’t do that). As far as I can tell this isn’t possible but just making sure. If not would be great to have this. Attached is a screen of what my home grown paywall looks like. Additionally I have a badge showing % off compared to the base pack, I haven’t tried to generate that with the current tools, I’m not sure if it’s possible.. of course I can bake it into the images but ideally it’s dynamic a
Similar post https://stackoverflow.com/questions/72245004/add-an-offer-to-an-already-existing-user-subscription-in-my-android-app-google We offer a monthly subscription and want to incentivize users who attempt to cancel by presenting them with a discounted renewal of the same plan. We use a developer-determined offer for the same monthly subscription, applying it to replace their existing subscription.And trying to apply offer like this. /// switch subscription Future<CustomerInfo> switchToOffer(SubscriptionOption option, String oldProductIdentifier) async { return Purchases.purchaseSubscriptionOption( option, googleProductChangeInfo: GoogleProductChangeInfo( oldProductIdentifier, prorationMode: GoogleProrationMode.deferred, ), ); }While attempting this switch, the store returns an error: “Something went wrong on our end. Please try again”I am trying to figure out whether this approach is even possible, and—if it is—what we might be doing i
I'm getting rejected from the App Store for my kids app that's using the latest revenue cat API version 5.21.2 due to the inclusion of the AppTrackingTransparency framework. my app 100% does not import this framework, the only place that does is the RevenueCat package. here is the comments from apple: - Your app implements the App Tracking Transparency framework, which is used when apps collect data about users and share it with third-parties for tracking purposes. Since Kids Category apps are not allowed to collect, transmit or share identifiable information with third-parties, you should not implement App Tracking Transparency in your app. Next Steps To resolve this issue, please remove this functionality or revise your app so that no personally identifiable information or device information is sent to third parties.
Hello community,I hope that everyone is doing really great.So, I am reaching out for a very severe blocker, having for last couple of days about the Apple (iOS) Redeem Code functionality. My app has the following flow:User signup with either Google / Apple or Email. At this point, we have the user email and I have used Purchases.configure({ app_user_id: ‘’ }). I have also verified through Purchases.getUserAppId() and seems like I have the correct userId. Next screen after signup is a paywall and user can Redeem Code from here as well. I am using the RC’s suggested way (to redirect the User to App Store via URL instead of displaying Apple Sheet). User gets redirected and when user Redeems the offer there, App store asks the user to `Open App` and when user do so, I have the watcher for that and I call `Purchases.logIn(userId)` and `Purchases.syncPurchase()` the problem is that my Webhook is always getting `Anonymmous Id` despite of me having set the correct app_user_id. My backend is he
Hi there!Is there a way to cancel subscriptions from the RevenueCat Dashboard?I tried navigating to Customers → Tap on a customer and under Entitlements, the three dots have only the “Refund” option.We removed a certain feature from our mobile app and we need to cancel the subscription for those who opted in for that feature. Regards, Florian Nistor
I'm using RevenueCat in a Flutter app to manage in-app subscriptions. On iOS, the subscription products load and display correctly when running in debug mode on a real device. However, when I upload the app to TestFlight, the products fail to load — I get an empty list or no products shown at all.
Hello everyone,We recently launched a new paywall experiment designed to display our updated v2 paywalls. However, a subset of users were shown the legacy v1 paywall—which still advertises a trial we’ve discontinued—and were subsequently billed during what should have been their free trial. In an effort to stem support ticket volume amid our active marketing campaign, we removed the v1 paywall entirely. Now, we’re seeing users presented with a paywall configuration that doesn’t even exist in our dashboard (see attached image). Has anyone encountered this behavior on React Native with RevenueCat’s new v2 paywalls? We’d greatly appreciate any insights or urgent fixes, as this issue is impacting our current marketing efforts.We’re on:expo 52.0.36react-native-purchases 8.9.1react-native-purchases-ui 8.9.1react-native 0.76.7 const handlePurchaseStarted = useCallback(({ packageBeingPurchased }: { packageBeingPurchased: PurchasesPackage }) => { posthog.capture("onboarding_paywall_purchase
ssss
Hi,When I tried to create a new App Store app, I’m getting “Account permissions are invalid for this request.” when I tap “Save Changes” button. This account is owner of the project.Anyone else encountered the same problem?
Hi, are there any plans to make the Paywalls v2 feature available with the Capacitor SDK? Would be really nice if it was :)Thanks!
My purchase events dont seem to be being sent from revenue cat. I have been monitoring when new purchases happen and never seeing any events populated in the integration view on my project dashboard…
I want to show paywall conditionally based on some app logic, how to do it? Thanks.
Hello community. I use RENEWAL webhook event to receive renewals data from iOS and Android apps. There are cases when price and price_in_purchased_currency are 0. Period type is NORMAL and this happens in production. In the docs this is the info for price field:“The USD price of the transaction. Can be NULL if the price is unknown, and 0 for free trials. Can be negative for refunds.”For INITIAL_PURCHASE event type and TRIAL period the price is always 0, but why on renewals tho?Thank you for help.
I want to offer two options: lifetime and monthly. As far as I understand, the lifetime option has to be a non-consumable in-app purchase. Is it possible to enable introductory offers to this type of product? I would like to offer a free trial for both options. Or are there any other ways to offer a lifetime unlock with a free trial? Thank you
Hi RevenueCat team,I'm running into an issue with the management_url returned by the v2 REST API for purchases made via web billing.Scenario:A user makes a purchase on the web (using RevenueCat's web billing). The management_url returned by the API points to our customer portal, as expected. Later, the same user restores their purchase on our iOS app (since we're sharing purchases across platforms). After this restore, the management_url for this purchase changes to the App Store subscription management page.Problem: This doesn't make sense for our use case, because:The purchase was made on the web, not the App Store. The App Store management page can't actually manage or cancel a web purchase. Our users can't manage their web purchase from the App Store page.Questions:Is this the intended behavior? Is there a way to ensure that the management_url always points to the correct portal based on the original purchase platform, even after restoring on another platform? Am I missing somethin
Hello everyone,I don’t understand why all status is canceled? I also subscribe to my app and I can see the my subscription is canceled also?What is reason of the issue?
Hello.I have an issue with firebase integration. the events sent from revenuecat to firebase with paramenters correctly. but I can’t see the parameters in the firebase or google analytics?So any body can help in this issue?
I've integrated RevenueCat into my visionOS app. The issue I'm encountering is that the paywall always displays prices in USD, rather than the user's localized currency.For example, I'm testing the app via TestFlight while based in Australia, with my App Store account set to Australia. In the app, the RevenueCat paywall consistently shows prices in USD. However, when I tap on a product and the Apple subscription popup appears, it correctly displays the price in Australian Dollars.This discrepancy is concerning, as users might feel misled when they see different prices. Is there a setting or configuration in RevenueCat that ensures the paywall always shows the same localised currency as Apple’s subscription popup?
When i delete a sandbox customer in the dashboard, by selecting the the customer and click on “delete customer”, the customer still appears in the dashboard customer list.Also when i call customers with the api,https://api.revenuecat.com/v2/projects/{project_id}/customersthe deleted customer is still in there. However when i want to open one of the deleted customers in the dashboard customer list, i get a little popup saying:“No customer found with that App User ID. Please note that it's an exact search” However when i delete a sandbox customer with the api,https://api.revenuecat.com/v2/projects/{project_id}/customers/{customer_id}the customer still appears in the dashboard, but it is gone when i call customers in the api. I don’t know if the problem has anything todo with the customer email.In the dashboard customer list, they are all listed by email.If have used the same email when i created those customers through the weblink, but with different appUserID’s.
Hi,For the V2 API, what is the max page limit we can pass?, I tried 100000000000000000 it works. Is there any max limit or we can pass whatever value we need?I saw this post - The response is just addresses the infinite loop bug but doesnt explain if there is a max limit or not?Thanks
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.