Discussion and help from anything related to RevenueCat.
Recently active
Hi there,I am very into this purchase-subscription-use-everywhere-thing. What I have read and learned so far:A user with his Apple ID is and a custom App User ID (so he is logged in to RC and can be identified across platforms) is purchasing a subscription. In my RC dashboard config for the app ‘Transferring purchases seen on multiple App User IDs’ is set to ‘Transfer to new App User ID’. So in case, if this user (still working with his Apple ID) is (been) logged out and logs in again using a different custom App User ID, the subscription will be transferred to this, and the last App User ID will loose the subscription. Right? The user has a second iOS device (let’s say an iPad). As long as he is using this device with the same Apple ID and the same custom App User ID, he can ‘restore purchases’ and can use the subscription. Right? Now let’s say he adds an Android device. Of course, this is not used with an Apple ID, but a Google ID. The user logs in to RC with his custom App User ID a
Hi,I will try to do my best but this issue is pretty weird but yet, REALLY important. It's related to https://github.com/RevenueCat/react-native-purchases/issues/777 and https://github.com/RevenueCat/react-native-purchases/issues/627Sometimes, for a reason I don't understand, the `login` and `setEmail`/`setPhoneNumber`/`setUserName` functions seem doing nothing. This results in unidentified users that have subscriptions not linked to our backend because the `app_user_id` will be the anonymous one and not the custom one we are using.Then, when the app is killed and opened again, the functions will work correctly (sometimes yes, sometimes no).My login function is pretty simple : const login = async (token) => { updateAuthToken(token); await storeAuthCookie(token); const user = await fetchUser(); await Purchases.logIn(user.id.toString()); await Purchases.setEmail(user.email); await Purchases.setP
Credentials need attention Valid key format The App Store Connect API credentials are not valid or do not have sufficient permissions to list apps. Make sure the key has at least the App Manager role. The App Store Connect API credentials are not valid or do not have sufficient permissions to collect information about your subscriptions. Make sure the key has at least the App Manager role. I followed these steps:Went to App Store Connect. Under “Users & Access’ > ‘Integrations’ > ‘App Store Connect API’ > ‘Team Keys’, I created a new key with ‘App Manager’ access. Downloaded the P8 key file from App Store Connect and uploaded it to RevenueCat. I’ve also double checked Key ID, Issuer ID and Vendor Number. Everything is correct. But, I’m getting the above error.Please help me resolve this problem.
Hi. I want to run a pricing A/B/C test. It appears that only A/B tests are currently supported by RC, but I understand I can run multiple simultaneous experiments. Would the recommended approach be to set up A/B, A/C and B/C experiments, with customer enrollment set to 40%, 30%, 30%? I am a little unclear on what the enrollment splits are actually doing in the presence of multiple experiments - my audience for each experiment would be “any audience”, so would each individual, newly-enrolled user be placed into a single experiment’s bucket? e.g. user 1 goes into the A/B experiment, user 2 goes into the A/C experiment, etc?
I’m just getting started with the REST API, and whilst looking through the docs and the getting started guide for v2 and v1, I noticed that there doesn’t seem to be anything that actually tells you the root url to call. All the endpoints are there and you could guess it might be ‘https://api.revenuecat.com’ but it would actually be really useful in the getting started guide to say something along the lines of “The base url request path is xxxx”I think the only place it actually shows is on the “getCustomers” example an even then if you’re using dark mode it’s not visible.Just a little bit of feedback
I generated promo codes for a one-year annual subscription in my app and used them for promotion. However, RevenueCat tracked the revenue from these promo codes as real purchases, displayed it on the dashboard, and generated an invoice of $110, which is incorrect.Here’s some background:On December 24, I generated some in-app purchases and subscriptions, then configured and uploaded the In-App Purchase Key following the guide. However, after that, I created new subscriptions and in-app purchases for promotion, which RevenueCat mistakenly tracked as real revenue.Today, I generated a new In-App Purchase Key Configuration and uploaded it again. Please help me resolve this issue.
I have distributed a bunch of promo codes for my IAPs. When these promo codes are redeemed, they appear as normal purchases in revenue cat console. I can’t tell them apart from actual purchases. Is it possible to discern one from the other in the console?
Hello I was wondering if anybody could help me, i’m trying to implement subscription testing into my app and in doing so I’m following the steps on RevenueCat on how to implement the StoreKit.When doing this, it does not allow me to create a new product in my StoreKit file (Step 3: https://www.revenuecat.com/docs/test-and-launch/sandbox/apple-app-store) I’ve tried editing the JSON and that completely corrupts my project.I’m not sure what to do / how do get round or even avoid this step, if anyone can help it would be greatly appreciated.
Hi,I upgraded the SDK from version 7.6.0 to version 7.15.0, and got this message when publishing on the Google Play Store: This release includes the com.google.android.gms.permission.AD_ID permission but your declaration on Play Console says your app doesn't use advertising ID. You must update your advertising ID declaration. Our app does not include advertisings and does not use this permission, but using the SDK adds it to our manifest.Is this expected? Is there any way to avoid this?I confirmed this is caused by the SDK upgrade, as reverting back to SDK 7.6.0 solves it and allows publishing on the Play Store.Thanks!
Hello,I have an Expo app running on iOS successfully for sometime. I wanted to add Expo Metro Web but I keep getting blank screen. I think it is because of an uncaught error. Google Chrome Console says… Uncaught Error: The package 'react-native-purchases-ui' doesn't seem to be linked. Make sure: - You rebuilt the app after installing the package- You are not using Expo GoDoes anybody know how I can resolve this?Thanks..
I’m wanting to implement like a ‘Launch Discount’ feature in my app. I have implemented everything and it works well, to find out that the user (even though they are eligible) aren’t getting their free trail. I wanted to offer this promotional offer with a free trail. So after their trial ends, they are charged for the promotional offer for the first year, then the usual price the year after that. Currently when they try to purchase this promotional offer, they’re only offered to purchase straight away. Cannot find anything online in regards to this, so I’m assuming this is not possible?
Hello. I’ve only recently been flagged for the missing Restore button on my app.I’m experiencing the ‘Receipt Missing’ error for the restore action. I’ve been pulling my hair out for 2 days on this issue. I’m using Expo and have limited access to error logs. I’ve read EVERY existing post, github issue and document and none are helping my scenario.I’ve added the requisite code in your documentation for my react-native implementation.try { const customerInfo = await Purchases.restorePurchases(); if (Object.entries(customerInfo.entitlements.active).length > 0) { return true; } else { return false; }} catch (e) { return e}I”m testing my app on Testflight and using Sandbox accounts, and making a purchase (which has been working for over a year in RC), before trying the restore button.My Restore button displays the prompt for my sandbox account. On submit I get an error: “Error: The receipt is missing”Here’s my testing flow (as crazy the following appe
Hello!On production - Paywall using only default English language. I have configured Ukrainian language on Paywall setup page, but still - even if region and language is set to Ukrainian, it still localized as English. Reproducibple for all iOS users.Product title is correctly returned from AppStore (in Ukrainian), but text under offer and all buttons are in English: I am using such lib versions in ReactNative:"react-native-purchases": "7.24.0","react-native-purchases-ui": "7.24.0", My questions:1. Maybe there is some option for paywalls to directly pass the desired language?2. Maybe I just need to update lib version? 8.X.X as it seems to has breaking changes, I would like to be sure if that version has the fix. Or what minimum version has the fix?My app is for learning english for begginers, and users may not even understan that default language texting.I see a lot of similar question but don’t see the actual fix.ps. It is working fine on Android.Thank you!
I ran iOS app promotions using promo codes, but RevenueCat incorrectly tracked them as revenue. This is not accurate, as promo codes do not generate actual sales. I can provide my App Store proceeds as proof. Please help me resolve this issue as soon as possible and let me know the next steps to follow.
We are in the process of gradually migrating our payments flow over to RevenueCat. In fact, we may end up with a hybrid scenario for the foreseeable future (using parts of our own system, and parts of RevCat, namely for in-app purchase management).I know the traditional way to consult entitlements is through the RC SDK, but we were hoping to be able to rely on the webhooks to update the appropriate models in our backend which currently dictate user entitlements (i.e. when to show our existing paywall).I saw in the documentation that webhooks could take 5-60 seconds to fire after the event occurs. This is concerning to the workflow we had imagined: 1. User completes IAP, 2. We get a near-immediate webhook event from RC which we use to update our database, 3. All future requests from that user are no longer blocked by our paywall (based on our own logic consulting our own database).Is this bad practice? Is the surest / fastest way to get this information to consult RC SDK for it? If the
are the “latestExpirationDate” from the SDK or the “expiration_at_ms” from webhook events equivalent to the renewal date? I can't find a dedicated renewal date field, and I wonder if these fields are updated each time the subscription is renewed.
Hi there,I am trying to implement the RevenueCat paywall into my project, I’m getting past the paywall in my app and its unlocking all the features, great!I check the debug log, i am getting the INFO: 😻💰 Purchased product log, great!However, nothing is showing up on my dashboard or even in my StoreKit transaction list...I am pretty new to this so it could be a very easy thing I am not doing, but I’ve been stuck on this for 2 days trying to fix it so any help would do at this point!Thanks.
We previously had a hard paywall, meaning when users started their trial, they also accepted that they would automatically convert to a paid sub unless they cancelled beforehand. This triggered the rc_trial_started event, and later rc_trial_converted event.We decided to experiment and move this hard paywall as we saw drop-off from people not wanting to commit. Now users can start a trial, and at the end of the month they’ll be prompted to upgrade to a paid sub (if they want). The issue is now rc_non_subscription_purchase event is triggered when they start their trial, which is throwing off all of my reporting, particularly trend analysis for trial conversions. Is there a way to continue using the rc_trial_started event so I have continuity in my reporting?
Hi, I need to check whether user is able to use the service with his current subscription and I found that there is “expires_date” in the response of the API.Is it ok to only check this field for validation? Will it be updated once refund or other intermediate stops happen?
Hello! when user make purchase new alias created, even on Webhooks there is only 1 alias and original app user id is no correctI am losing subscribers right now and getting refund because I cannot update the user as premiumPlease check screenshots I perceive that my sdk version were 5.6.0 when I update it it updated to 5.20.0 maybe that was the issue ?
Hi, You guys do a great job with the State of Subscription App report, but there is no definition for `high priced`, `mid priced`, `low priced`. Do you have specific ranges for these? Even if they are by category.
The subscription part of my app charges users per week and the initial purchase gives users a 2 week trial period, which means they have 2 weeks before the initial subscription expires.I submitted my app for review and I got a rejection:Guideline 2.1 - Information NeededWe are not able to continue our review because we need access to a demo account with an expired subscription to review the entire purchase flow.Next StepsTo resolve this issue, provide a user name and password for a demo account with expired subscriptions in the App Review Information section of App Store Connect.The issue is when I make a sandbox test purchase, the expiration date is 2 weeks from now. How can I force a faster expiration date? If I can’t, then I have to wait 2 weeks until I can give this to the reviewer.Here are the purchase printouts from RevenueCat latestPurchaseDate= 2023-11-05 22:14:03 +0000originalPurchaseDate= 2023-11-05 22:14:03 +0000expirationDate= 2023-11-19 22:14:03 +0000 I went to App Store C
Hi,I have set up the Customer Center offer (refund + cancellation offer), but on Android, I have some strange feature. Customers are able to subscribe the refund offer on the Paywall (without any refund request, and hand-made paywall with the SDK).Looks like Revenue Cat doesn't exclude offer with `rc-customer-center` from the list of offer. Do we have to add the `rc-ignore-offer` tag too on Android ?It's not a big mess for now, but the way promotional offer works is really strange…At the moment, looks good for iOS.Regards,Platform: React-Native
Hello, the documentation for Facebook https://www.revenuecat.com/docs/integrations/attribution/facebook-ads#5-send-revenuecat-events-with-the-conversions-api says we should prefer using the Conversions API integration now. However, when searching through Integrations in our project settings, there is no Facebook Conversions API integration. There is only the old Facebook Ads api integration.
I am using Flutter RevenueCat plugin for my App.I just release a closed testing and distributed to some of the users for Android.Surprisingly, a couple of users complain that from Paywall they have got their real money deducted which is true. However this is not for all users.To my understanding there is no test or production environment to set for RevenueCat. Kindly help with probable reasons. I ensured that the user email ids a included in license testing in Google Play console.Thanks in advance.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.