Discussion and help from anything related to RevenueCat.
Recently active
I am having issues with the RC Web SDK. I followed the instructions to get setup, and have successfully added products to Stripe & added to my existing mobile app offerings. I can now view my paywall with products:Paywall successfully displays products from Stripe. The product identified is in sync between Stripe & RevenueCatWhen I click “continue” for either product it results in an error:error code 16The console shows a 500 error to the RevenueCat API:POST https://api.revenuecat.com/rcbilling/v1/purchase 500 (Internal Server Error)qr @ Purchases.es.js:6824postPurchase @ Purchases.es.js:7015startPurchase @ Purchases.es.js:4850ae @ Purchases.es.js:6398eval @ Purchases.es.js:6383Ei @ Purchases.es.js:100eval @ Purchases.es.js:1782cr @ Purchases.es.js:971eval @ Purchases.es.js:1782to @ Purchases.es.js:766lt @ Purchases.es.js:816ts @ Purchases.es.js:866rs @ Purchases.es.js:852ns @ Purchases.es.js:876When i close the modal this error shows up in the console:Purchases.es.js:4768 U
I am currently trying to implement subscription feature using `"react-native-purchases": "^8.5.0",` but when i enabled billing permission and upload to Google Play, i am getting error message saying i need to use Billing Library that is higher than version 6.0.1. any ideas to resolve the error?
In my Flutter app, I have multiple subscription plans, each with a ‘Subscribe’ button in the UI. After a user subscribes to a plan, that plan’s button instead shows ‘Active Plan’ so they can’t attempt to subscribe to their currently active plan again. Users may upgrade or downgrade, when a user downgrades, their current plan runs through until renewal. During this time I wish to display in my UI a plan is being downgraded to, so they have an accurate understanding of their current status and they can’t attempt to subscribe to a plan they are already downgrading to again, as that will just result in a popup saying it is already their current plan.How can I see if and which plan is being downgraded to in the app? I’ve tried using isActive and willRenew fields from getCustomerInfo(), however these fields don’t seem to provide useful information for this case, as multiple plans have ‘willRenew: true’ despite them not being active or renewing to. The index of items in the entitlements field
Greetings, I am facing this scenario in sandbox:-User A subscribes to Subscription Group A, it is a success. User A logs out. User B logs in (Purchases.login(NEW_APP_ID)) (same App Store account) User B subscribes to Subscription Group B, it is an error.ERROR: Product purchase for '<Subscription Group B>' failed with error: PurchasesError(error: There is already another active subscriber using the same receipt., userInfo: ["NSUnderlyingError": Error Domain=RevenueCat.BackendErrorCode Code=7102 "There is already another active subscriber using the same receipt. User A is now subscribed to Subscription Group A and Subscription Group B simultaneously (webhook is alternating between the two)How can I stop Group B’s subscription being given to User A? If “Keep with Original App User ID” is set, then User B’s subscriptions will be given to User A. If “Transfer with New App User ID” is set, User A’s subscriptions will be set for User B. But I need both to keep their current state and b
The recommended template is used, the default language is English and can be displayed normally;1 However, when I added a new language: Simplified Chinese, and set it as the default, the error occurred in the display.2 If the default language is English and I adjust the test region to mainland China, Chinese UI are not displayed. The interface still shows in English.
Hi RevenueCat Community,I'm having an issue with the RevenueCat paywall integration in my Android app. I’m using the PaywallActivityLauncher to display the paywall, and I set the flag shouldDisplayDismissButton = true in the launch options. However, the close (dismiss) button does not appear on the paywall.My implementation looks like this:paywallActivityLauncher.launchIfNeeded( requiredEntitlementIdentifier = Constants.ENTITLEMENT_ID, shouldDisplayDismissButton = true ) Context:I’m using the latest version of the RevenueCat SDK. My paywall template in the RevenueCat Dashboard is set to the default configuration. I’ve also checked for any possible theme or styling issues (e.g., the button not being visible due to color conflicts), but nothing seems to work.What I've Tried:Verifying my SDK version. Confirming that the paywall is being launched as a new Activity (which should display the close button by default). Checking the dashboard settings for any customization that might hide the d
When trying to crete a paywall using the new paywall beta builder, i can’t get the price to be shown, it always display the variable.Tried it 2 times, with entitlements and offerings from scratch, same issue. Is this a known thing, or I’m doing something wrong?Bonus: gradients’s don’t look like they look live as whiting the builder
I have a simple app which does not require user login (at present). Users can purchase a one-time lifetime ‘subscription’.Until now I have stored the purchase locally within the app local database.In moving to RevenueCat for purchase handling, I now have the question - should I continue to store the purchase locally, or check each time with RC? Related questions areWhich is the best option regarding the question of risk here (hacking the subscription)? is there an issue with second option if user does not have wifi/connected? Or possibly do both (but possibly overkill!)Thanks for any advice
Hi,so I’m using the multi tier paywall template.However, I’m not satisfied that the currently subscribed tier has no indicator, that the user is already subscribed to that tier. Now I found that there has been a big update for custom paywalls and it looks really nice. But there is no component to build it with for multi tier? Do I have a design error in my app in general? Also thought about displaying the different tiers on a custom screen and then opening a paywall for each tier when pressed on it. But out of conversion and usability view this just is an extra step for the customer. What am I missing?
Hi, I’m trying to implement a subscription system with multiple tiers in a Unity cross-platform app.My concern is if there is a way where a user that has activated a subscription in a platform can upgrade the subscription from a different platform.I have also seen that there is a “managementUrl” that can be used to guide the user to the correct portal in case that he wants to manage a subscription, but I cannot find that url in the Unity Revenuecat SDK.
Been getting this error after adding the service account credential JSON, I’ve made sure that I followed the documentation: https://www.revenuecat.com/docs/creating-play-service-credentials but haven’t been able to resolve this.
I have an app that offers annual, monthly and lifetime subscriptions. They all access the same ‘premium’ entitlement. If a new in-app user account is created and I restore purchases, I am able to successfully transfer entitlements between users, provided that the parent App Store Sandbox account is the same. I’m using web-hooks, so whenever a ‘transfer’ event is fired, I can update my database to make sure it is in-sync with RevenueCat. I remove any subscription information from the ‘transferred_from’ user, and apply it to the ‘transferred_to’ user. This is working perfectly for restoring monthly and annual subscriptions. But there are issues for lifetime purchases. Purchase a lifetime subscription using App Store account ‘x’. Sign out of Sandbox account ‘x’, and sign into a completely new, unrelated Sandbox account ‘y’ with no purchase history. Create a new in-app account using the new Sandbox account. Call restorePurchases. I would expect that nothing should happen, since Sandbox
Let’s assume I change my Terms of Service.At app start, I prompt each user to accept the new terms. Users who reject the new terms shall be denied access to the app.How do I handle users with a paid auto-renewing subscription?Is there a way to cancel this subscription? Or prevent auto-renewal? It seems illegal to deny access to my app, but continue to charge them. Not sure if it’s relevant for this question, but I use react native.
I have a question about the syncPurchases function when I have two users of my app on one Apple Id. What happens when I call syncPurchases after then calling logIn with another App User Id? I know that the restorePurchases function throws an error that the receipt is already in use (if I set transfer behaviour to not transfer), but syncPurchases does not do that. In fact, it doesn't do anything and I don't know what exactly is going on. Is it safe to call syncPurchases when users sign in to the app? Not on every startup but while calling my backend sign in function.
Hi folks,In the {{ product.price_per_month }}/mo section in Paywall V2, the price data always stays in USD currency. even though I have localized paywall for countries, the currency section is not localized according to the prices and currencies in the countries. But when I select the subscription package in paywall and continue, the currency is localized without any problem in the last confirmation section. Where do you think the problem is coming from? If you want I can show you in detail with screenshots?(I am trying all process on real device in testflight).
I just made a change to my v2 Paywalls, and the badges that I have are no longer rendering their backgrounds. This was working fine today, until I made and published an unrelated change, so it seems something may have broken today. Everything looks fine when viewed in the online editor. Images below - the ‘33% OFF’ text is the badge - the text can barely be seen in the after, but the purple background is no longer there. Before: After:
I am pretty new to Revenuecat. Sorry if this problem is answered a hundred times, but I could not find a solution. Here is my problem:I do have an iOS app and have a paywall view. The user can either subscribe for a monthly or annual payment (I managed to set this up in App Store Connect and Revenuecat and this all works fine), or he can select a free trial for 14 days.I know, that I can set up a free trial in app store connect, but as far as I understand, this automatically will start a chargeable subscription, if he does not cancel before the end of the trial period. So in fact the free trial is part of subscription and the user has to choose a subscription method at the paywall. This seems not very appealing to me.I rather would like to say: “Click here and have a look”. When the user clicks ‘here’ then(!) the free trial period starts (without selecting a subscription method). During the free trial I can present a counter: ‘X days left’. After 14 days the user cannot access the cont
Hello all,I have implemented the Stripe payments on our website using WP Simple Pay https://wpsimplepay.com/ and I also have set up webhooks from Stripe to RevenueCat.Once I pay (in test mode) via our website, the subscription is registered in RevenueCat but obviously it’s not assigned to the user with the email in the payment form on our website. From the docs I understand that I need to send the token but it’s completely unclear how to implement this on out website. Any help will be appreciated!Thanks in advance!
We're currently testing the new Paywall v2 feature in our React Native frontend. Everything works as expected except for the badges. We've tried all possible configurations—rectangle, pill, image background, colored background, etc.—but none seem to render correctly. The discrepancy between the Paywall Editor and the actual rendered Paywall on iOS persists.Has anyone else encountered this issue? Any insights or workarounds would be greatly appreciated!Current versions:"react-native-purchases": "^8.6.1","react-native-purchases-ui": "^8.6.1"“react-native”: "0.76.7" "expo": "52.0.36"Attached is a screenshot of different approaches in the Paywall Editor preview and how it gets displayed on device.
What could be the reason that I cannot access my Google Play subscription’s free trial offer from the SDK by calling `aPackage.product.subscriptionOptions?.freeTrial`? It is always null.This is a new subscription product which I created after reading through your migration guide from 5.x -6.x. It was suggested there that I should create new subscription products, so I did. I used to have two products, one annual and one monthly. I created a new single subscription with 2 base plans and an annual which has the free trial offer. With the old setup and 5.x version this worked, but now I cannot see the free trial in the new base plan at all. Any help is appreciated. All base plans and the new offer are active in Play console and the products have been added to RC packages. Also this annual base plan looks to be “backwards compatible”.This happens with the latest 6.3.0 version of the purchases SDK.
We are trying to implement hard paywalls with the flutter SDK, not luck so far.We have tried: RevenueCatUI.presentPaywallIfNeeded()RevenueCatUI.presentPaywallAnd honesty WE don’t see a big difference between them.Any of you have found a workaround?If anyone is interested the app is called Petme.https://www.petme.social/ https://apps.apple.com/us/app/petme-social-with-your-pet/id1663635642 https://play.google.com/store/apps/details?id=com.zerosgroup.petme&pli=1
I am adding a new package to our default offerings. An awkward situation I ran into is that my released version is designed to show all packages under my offerings, so that even when I’m still developing and change the ui for the new package, users can already see the new package in the released version.Of course I can workaround this issue, change my code to not show all packages first → after that is released → develope my new package. I was wondering it makes sense to add developer mode to offerings, and wondering if other people share similar thoughts.
Hi there, i am newbie and it is my first time when i do putchase based stuff, please excuse me if i ask dummy questions, so i testing webhooks and i dont understand why expiration_at_ms is always todays date ? It should not be the final day of expiration date ( in this case 12 march ) ? Products has 1 month duration. And why my purchased_at_ms also shows 1 day before, actually i purchased 3-4 days ago. Is it all because SANDBOX env. or i do something wrong ? I am getting this response ( ss attached ) on my backend and related to this values i do some stuff.
I’m new to RevenueCat and this might just be impossible to do, so I figured I’d ask.I have an app published in iOS and Android.I have a situation in which I need to see when a given user bought my app in their respective platforms.This is not about an In-App purchase, but rather, the App itself.Can RevenueCat do that? It seems like the answer is no, since this seems to only handle InApp purchases and subscriptions, but I wanted to make sure.Can I, by using RevenueCat in my App, get the exact date and time when a user actually bought (or acquired) the App (not InApp/subscriptions) for the first time in the AppStore/PlayStore?It seems to me like this is just not possible on android, regardless of the framework or library that I use. On iOS It seems possible.Thanks
I am using TestFlight, in production because I’m testing with production iCloud data. If I make a subscription purchase through the RevenueCat paywall, the App Store recognizes the purchase and does not allow me to make a second purchase, but in the app, RevenueCat does not recognize that I have Premium status and the RevenueCat Sandbox purchases still shows zero users.
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.