Discussion and help from anything related to RevenueCat.
Recently active
Hello, the flow I’m trying to implement is the following:✅ user might or might not have downloaded and logged in on the app ✅ user visits my website and by following a stripe payment link they purchase a subscription through a stripe checkout session ✅ stripe sends the purchase to revenuecat through server to server notifications ✅ revenuecat creates an anonymous user with an anonymous user id ✅ user gets in the app, logs in with their email (same email as they used for stripe) ⚠️ what i’d want to do at this point: call loginUser with revenuecat, a user with the same email is found and they have a stripe subscription attached, in the app i get identified as that user and with access to the revenuecat offering.i think there are two blockers i’m not finding a solution for:revenuecat is not setting the email field in the user metadata (of the anonymous user it creates) when it receives the server to server notification, this is somewhat necessary because it’s the only way i have to connec
I have set $phoneNumber attribute in react-native-purchases. - Purchases.setAttributes({ onBoardingTypePurchase: 'default_onboard', $phoneNumber: '1_new',});$phoneNumber not showing this attribute in revenue cat dashboard
Prevously my appsflyerID in revenue cat events integrations would be set to the user ID as I did not set it manually. As of March 25th this stopped happening and the integration is broken as the appsflyer id is required for it to work. Why did the appsflyer IDs stop auto populating?
I set the duration incorrectly in product web billing, but I cannot edit it after editing. Please advise. Do I have to recreate it? I hope editing will be supported in the future.
Is there a workaround to the problem described here?
Hi there, I'm reaching getting the error message below upon trying to add more webhooks:“This project has reached the max number of webhook integrations.”I have 5 webhooks currently and will need a lot more to handle all the different event types. What is everyone's approach to this? I haven’t seen anything relating to this issue. In the docs it does not say anything about the limit. Any insights would be appreciated. Thank you!
Curious how others handle this. I’m showing my paywall early in the onboarding and I don’t require a login for my app.. it’s a game you can play against the computer if you don’t want to play online opponents (The game: Upwords). If you do want to play online I do require a login to keep track of the games, pair people etc.I have a back end server and thinking I could try a couple of thingsWhen a user starts a trail send the original RevCat anonID to my server along with days till trial ends and their push notification token (firebase messaging). I’d have to make sure a user agrees to push notifications when I do this. I could also have a dialog that allows them to enter an email for the reminder if they aren’t logged into my app. .. all this info gets sent to my server.. have a cron job on the server that collects any entries in the DB that are ending in 2 days and send out emails/push notifications If they do create a new account later, which is email based, I could search for the
Hey RevenueCat team!I love what you’re doing, amazing work! 🙌I just wanted to ask if you’re planning to build a RevenueCat Android app anytime soon? It’d be super helpful to have quick access on the go.Thank you.
For some reason the old setup I had months ago still persists and nothing I do gets rid of it. I can’t see the latest version only of the features.For some reason, these ones update immediately:The main content Packages Call to action Footer links Close buttonHowever, the features do not update no matter what.This is what I’ve tried:Getting the latest flutter sdk, current version in pubspect.yaml is `^3.7.0` Getting the latest versions of purchases_flutter and purchases_ui_flutter Cleaning the build folder and running the app again Clearing the apps cache, storage and uninstalling the app. Publishing a release build to the internal test track and installing it on google play console.I’ve attached screenshots of the device and the preview in the dashboard for side by side comparisons. I don’t know what else to do and it’s been frustrating me for months. Minor nitpick: It is such a pain to scroll down on the Paywall editor to see the entire preview on the right.
Looking over the consumer proguard rules for the purchases library on Android, I noticed the first line is `-keep class com.revenuecat.** { *; }` which ends up causing most of the SDK to be kept when using R8. This totals over 9100 methods (as of the latest version). Is there a reason that the entire SDK is kept? Can you relax the rules so that some of the unused code can be stripped?
I tried out the metrics API and I noticed something strange:All my revenue is in GBP, yet for the item “Monthly Recurring Revenue in GBP”, the value is returned as 0 and the unit still shows as $. Only the “Monthly Recurring Revenue” item returns a value, but it’s in $.My account “Date and Region” set up also has GBP selected, but I’m getting £0 as my MRR. Is there a way to get the actual value of GBP back? I don’t really want to do a conversion as it will be inaccurate due to currency fluctuations (and that means a conversion to USD and back to GBP which can cause even bigger discrepancies).As an example, if I had £100 in revenue and RevenueCat uses a rate of 1.31 to convert it to USD (Monday’s rate), it would show in the API as $131. If I convert it back to GBP using a rate of 1.35 (today’s rate), the value of $131 would convert to £97. As I will be receiving my funds in GBP, this is quite inaccurate and I want to find something that can tell me my actual revenue instead of a do
Hello,We are in the process of developing a so-called “web2app” onboarding for our iOS app.Currently, all purchases are handled by Apple using IAP:s. Soon, some purchases will be handled by a third party, before the user has even opened our app. In this case, the user will go through a web flow to create their account and pay for our product, after which a webhook is posted to us with some information about the user and their purchase. At this point we will create a record for the user in our system.Now, to my question:The 3rd party payment processing entity will generate a user id, which they will use when posting information about the premium purchase to RevenueCat and to our system (using webhooks). After the user downloads the app, they will be able to authenticate as the user we have created in our system. However, we want to alias the user id given to RevenueCat (generated by the 3rd party), with the user id in our system.Is there a way to achieve this using the RevenueCat iOS SD
I configured my revenue cat in main.dart file ,then I called my profile api,I got my user data then set my user ID in revenue cat login function.I did my purchase logout from mobile also used revenue cat logout function.Then I logged in using different account,but I am getting old subscription data...
purchases_flutter: ^8.10.0purchases_ui_flutter: ^8.10.0 If a user is on Android is not logged into their Google account, the paywall shows “Error 2: There was a problem with the store”. This pop-up blocks interactions and the ok button does not work. Furthermore there is no way to customize this message for example to say “Please login to your Google account”.On top of this, the Paywall does not have a good cache invalidate method, its often updated in the Rev Cat UI, and no updates show up for hours on App? Additionally the Paywall edit screen is buggy, changing text inside the ReveneuCat dashboard is often not reflected in the preview, even days later.
Hey there!I want to pass some custom variables to my paywall like {{ user_first_name }}, how can I do that with RevenueCat?Thanks!
Is there a way to disable some of the emails described here? https://www.revenuecat.com/docs/web/web-billing/lifecycle-emails I would like to disable them while testing because they spam my inbox (due to the short renewal periods). I’d also like to be able to disable some of them, like the renewal emails.
The RevenueCat SDK (5.25.3) cannot be built in Xcode 16.4.The error message is as follows:```Failed to find a suitable device for the type IBSimDeviceTypeiPad3x (com.apple.dt.Xcode.IBSimDeviceType.iPad-3x) with runtime iOS 18.5 (18.5 - 22F77) - com.apple.CoreSimulator.SimRuntime.iOS-18-5```
My revenuecat id is “app99d60b4027”at the sandbox mode is working fine butI got this error when try to purchase on “live mode”3D Secure 2 is not supported for the specific transaction.I was try both of my credit card, all is same error.Step to reproduce:1. goto https://pay.rev.cat/lkdqglryuptczslh/userprodtest-0012. choose package and fill credit card form3. press “Pay Now” buttonnote: userprodtest-001 just a random mocking idResult:Thank you.
How can i delete an ongoing subscription from app store if I no longer want to have it , i want my app to be free
Scenario: a user subscribes on one platform with a free trial, it expires or is cancelled and then the same user goes to a different platform and subscribes again - is there a way to prevent the user accessing another free trial via RevenueCat?
I am participating in the bolt.new hackathon and working to integrate RevenueCat into my React Native Expo mobile app, however I am encountering issues. Primarily, if I understand correctly, the Expo Go app does not include support for `revenue-cat-purchases` library, so I would need to create a development build of the app to integrate RevenueCat into the app. Part of the hackathon terms are to primarily use Bolt.new to build the app, and I don’t believe bolt supports expo development builds (only Expo Go). Has anyone had luck building a subscription based app in Bolt.new? I greatly appreciate any guidance or suggestions.Thank you!
I have done research on the best way ti monitize my app and it seems that displaying a Paywall before onboarding or just after is a recommended approach. I think I will use this approach but have a question on how to implement. I plan on using a RevCat paywall that is displayed right after the install. The paywall will offer two plans (Yearly and Monthly) and will have a free Trial of 7 days. This would be accomplished using the Apple store and Google Play built in functionality. The paywall will also have a Cancel button. The question I have is what is the recomened approach if a user clicks the cancel button on this initial paywall? Do you still give them access to app for 7 days anyways? I’m thinking this would be the way to go and I will setup a diiferent Offering (Yearly/Monthly/Paywall) that does not have free trial (through the stores and a Revcat Paywall) and give access to the user to purchase a subscrition in the app. I would also track the install date and present th
I have tested from three different browsers (Safari, Chrome, Firefox) and two different operating systems (one macOS and one Windows), but I still encounter an error that prevents me from uploading or dragging and dropping files.I reviewed similar issue posts, and I hope your customer support won’t provide generic responses like restarting my browser or computer, or even my Wi-Fi router.I’m unsure whether your Sentry wrapper is throwing an error or if it’s related to cookie access.
I have created 4 products weekly, monthly, annual and custom. when i try fetch it only gets custom one i cant get them all. what should be problem? I have one “default” offering and add them all in.
I’m using @revenuecat/purchases-js within React Native for Web, and I’ll trigger RevenueCat’s purchase page to be displayed, which has a back button. If I press that back button, the purchase page disappears, but most of my app is covered by a black div, with the exception of my header. Weirdly, I can’t select the div with the element selector in developer tools. Is there a way to address this? Is there an option to open the purchase page in another window, by chance? I couldn’t find one in the docs. Thank you.
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.