Get help with anything related to RevenueCat.
Recently active
Hey there, I was wondering what the best way to keep track of (have a unique id) non-subscription purchases is, that is usable both in frontends, and in webhooks. When accessing purchaser info after making a transaction in javascript, it gives a `revenueCatId` for each transaction, and no transaction id. However the webhooks only return `id` and `transaction_id`, with the former seeming to be related to the webhook event, and none of these ids matching each other. Because of this we have no way of knowing if an event from a webhook is the same transaction as is in someone’s app. Is there any way of getting a unique id for a transaction everywhere?
Hey,I can see in my app (iOS) that users who become premium users (subscribers) and then claim for a refund, they still considered to have isActive true in their entitlement. To check that - When I start the app (in the appDelegate), I use the PurchasesDelegate to check what the current status of the user when he enters the app:if purchaserInfo.entitlements[Constants.entitlementID]?.isActive == true { // USER IS PREMIUM} else { // USER IS NOT PREMIUM }Hence, I assume that if a user asked for a refund he will no longer be entitled to be active, but I can see that users are still getting isActive true. What am I doing wrong? Is anyone else encountered that?Or, is there other if statement that I can do which is more accurate? Thanks!
Hi,I’ve been seeing a lot of errors in my analytics where no product is returned fromPurchases.shared.productsalthough the provided string identifier is valid. I’ve double checked everything, the product identifier, the app name, the code and RevenueCat’s config as well.This doesn’t happen all the times, since some of our clients are still able to buy the product. Could someone point me towards a possible explanation? Thanks for reading! Sofia
I’ve noticed that for iOS, the takehome percentage is always listed as 0.7, even though I believe for many apps it should now be 0.85. Is this hardcoded on RevenueCat’s side, or is it retrieving this value from Apple in some way?
We’ve just issued an update to our app yesterday.We’re getting support requests every hour from customers who were on a subscription or free trial. Their subscription is not applied to the app after the update, so they are angry and think we’ve taken their subscription away!To fix it, we just ask them to do a restore purchases. Works every time.Can anyone think why this is happening?What can we do to fix it so we don’t get hammered on support?
I stated my first experiment 7 days ago and I can see it’s allocating people to A or B variants based on data in App Store Connect but no data is showing in Revenue Cat. I still see ‘Data for this experiment will be available in 24 hours.’ Does Revenue Cat only show data from purchases, and not free trials? As that might be the case if it waits 24 hours after the first payment because currently people are on the free 7-day trial. Although I haven’t read that anywhere.
How can i switch my app from test to live mode?
Hi, I’m trying to keep a everyday history of the user, so I use webhook to determinate when is on trial, optout, billing issue, normal, renew, etc.I’m seeing some events from the future, for example I received an event that is a renewal trial convertion today at 8 PM, when we receive the event we fetch RevenueCat API, and it indicates that the user purchase date is tomorrow at 4 AM. This information is also like that in the webhook event itself: "event_timestamp_ms": 1633207743275, → Saturday, 2 October 2021 20:49:03.275 "purchased_at_ms": 1633233485000, → Sunday, 3 October 2021 03:58:05 "is_trial_conversion": true, "type": "RENEWAL"The thing is now I’m setting on our internal db that the Saturday, 2 October the user change from trial to normal subscription with a purchase the date Sunday, 3 October.Now I don’t know when the user actually paid or when is a normal subscription.We could write that all was done the Sunday, 3 October, the thing is that at midnight I make a sn
Hey,Today, I’ve had a rejection from Apple. My app is already live, and it’s the first update to it. I haven’t touched IAP-releated code since the initial release. Anyway, I tried to reproduce the issue - I couldn’t. I’ve checked both Google Analytics and RevenueCat sandbox, and I didn’t find any trace of the purchase allegedly made by them.I’ve received a general “next step”, namely:When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple’s test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code "Sandbox receipt used in production," you should validate against the test environment instead. According to RevenueCat docs, it’s something already taken care of. I know it’s probably not RC-related, but I still feel like posting this as someone may have had similar experiences. My follow-up
Hi, I am just finishing my initial setup with RevenueCat and my Flutter app. I believe all is set with the exception of how to handle promotional offers.I have a Free 1 week promotional offer that is setup in App Store Connect for both a Monthly subscription and an Annual subscription. This requires 4 product codes as you have to include the same promotion for both subscription types. So I have two promotional offers, one for the Monthly and the other for the Annual.I have also created two In App purchase keys, one for Monthly and one for Annual.How do I configure the App Store configuration when you can only add 1 Subscription p8 file?Once I get this resolved the documentation on “Implementing iOS subscription offers” does not have details for Flutter developers. What do I do?
I have added my self (my main email id that is on my android device) as a licensed tester and also as internal tester. But when I try to make a purchase It shows my actual credit card as payment method instead of Google Test Card. My app is upload as internal testing release at Play Store. What am I doing wrong here?
Hello,As shown in the title, it seems that after moving the app to a new Google account, it is not possible to get the purchase history from RenueCat. After moving the app, is there any action required in RevenueCat? Also, a user made a premium purchase after I moving the app, but it doesn't work properly in premium mode, so she’s going to restore the purchase. However, there is an error message 'There's no purchasing record' because there is no purchase history in RevenueCat. How can I restore her purchasing?Thank you.
I have two iOS products in my app.One I do not want to use any longer so I deleted it from app store connect.Next step is to delete it from the products in my app in revenuecat. So I click “Products”, then select the product from the list and on the bottom of the page I click the big red “Delete product” button.Then press “Confirm” on the “Are you sure?” warning.Result: Product still there….Tried this in Safari and Firefox.Any clues?I think this may also be the cause of the WARN: Could not find SKProduct for ( that I keep getting when I try to test it on my actual device. The products that I have in Revenuecat do not match the products that I have in the app store. I tried re-adding the product to the app store but apple won’t let me do that because I already used it previously. Edit: I just tried it again and then I noticed the brief popup on the top of the screen with the text: “There are transactions in the system using this product.” I’m not sure what this means yet but I’m going
Hello everyone, I am facing an issue with the flutter SDK that im not sure how long its been happening but I noticed because i needed to trigger an event based on successful subscription. This is working perfectly on IOS, however on Android I get the following message and cant do what I want. SDK is 3.4.5W/BillingHelper( 5733): Couldn't find purchase lists, trying to find single data. The subscription works, but billing helper is returning that and the confirmation never happens. Any ideas?
When changing a Stripe subscription the entitlement_ids in the PRODUCT_CHANGE webhook are always null. But all Stripe products are mapped to entitlements.The webhook:{ "api_version": "1.0", "event": { "aliases": [ "uQw121nienNLn6WAMns2abjPMAl2" ], "app_id": "app6e36463a7d", "app_user_id": "uQw121nienNLn6WAMns2abjPMAl2", "country_code": null, "currency": "EUR", "entitlement_id": null, "entitlement_ids": null, "environment": "SANDBOX", "event_timestamp_ms": 1632605983882, "expiration_at_ms": 1635186961000, "id": "061D6082-0653-41F8-ACF0-5575F696B4FA", "is_family_share": false, "new_product_id": "prod_K9as7Q7v8AdiUJ", "offer_code": null, "original_app_user_id": "uQw121nienNLn6WAMns2abjPMAl2", "original_transaction_id": "si_KIGFeHwEFeth5c", "period_type": "NORMAL", "presented_offering_id": null, "price": 0, "price_in_purchased_currency": 0, "product_id": "prod_KAFcPrBfELJ4cX", "purchased_at_ms": 1632594962000, "
Greetings,is it possible to use a single membership purchased on ios or android in your application on both sides?
I am implementing Promotional Offers in a flutter app. Everything works exactly as it should until just after you have approved the purchase, then I get the purchase did not go through, contact the developer.error handling shows "One or more of the arguments provided are invalid." but both arguments are correct product and correct paymentdiscount.Is this possible to test in flutter? Since documentation is not available for flutter, I have followed react native.Does it matter that I test in the sandbox?
we are working on a flutter app that uses firebase authentication and each user has his own unique user id , first we setup the revenuecat on the lunch of the app using this await Purchases.setup("public_sdk_key");secondly when the user logs in we use its unique user id in : await Purchases.logIn(uuid);thirdly and when the user logs out we use await Purchases.logOut();is this the best practice and how can we handle if the user terminated his subscription while using the app
Hello, can we get IDFA or UDID list from revenue cat to build look a like audience for Facebook and tiktok ads We have subscribers to our app and we would like to utilize current or past subscribers to build look a like list Thank you in advance
I want to grant premium access to some users with offer codes and present Redeem page with this method: Purchases.shared.presentCodeRedemptionSheet()It works fine ,but:After redemption how can I verify the results(e.g entitlement ,days remaining ,etc )and how can I test it with in sandbox environment ,is it possible?I have my appstore connect side configured but I need some recommendation on revenue cat please.
I am stuck with a problem.I am using the consumable In app purchase through RevenueCat to achieve in app currencies.The payment page is displayed in modal view pageSheet style. When I press the purchase UIButton, the process starts.After the process ends, I am saving the payment record in Firestore.And in cloud functions, the save method triggers adding currency in users data document.It is working fine using normally. But, if the view is dismissed quickly after the payment UIButton is pressed,the process will go trough and purchase alert shows up in the other view(is not a bad thing) but,the code after purchase (saving purchase data in Firestore) doesn’t work (=think because the view is already dismissed?). I thought of cancelling the process if the purchase view is dismissedbut could not find a way to observe the purchase transaction. Ofcourse displaying the view in fullScreen will resolve the problem but want to try it in current circumstances.Can any one help?? Any suggestions?
Hi there!We have been using RevenueCat for about a month now with great results. However, I discovered an issue that appears to be incorrect behavior, although chances are I am missing something on my end.We have a recurring Stripe product registered in RevenueCat, and have connected the customer.subscription.updated webhook which are all sending successfully. Using the /receipts route we have associated and synced several hundred Stripe subscriptions which works well.The issue is with one subscription that had been paid for (no free trial) that the customer cancelled earlier today. It was cancelled until the end of the billing period, so it still shows as Active in the Stripe dashboard, but it displays that it will be cancelled at the end of the billing period on Sept 14, 2022 (we have yearly plans). However, RevenueCat no longer shows the subscription or the granted entitlement when the customer is queried with the Get or Create Subscriber route. The RevenueCat dashboard shows the fo
Hi!I have an iOS user that paid for an annual subscription. I cannot find her as a paid user in RevenueCat, given that situation, she was asked by the app to pay again and she paid for a monthly subscription.She now has two active subscriptions but none of them are recorded by RevenueCat and she cannot still access the paid features in the app. I don’t know how to proceed because that’s the first time this happens to us with RevenueCat. Any help will be greatly appreciated.
Hello,I was looking at the Subscription Retention chart and, when looking at total of Subscription activated, I saw more activations than the ones that Apple Connect shows me.So I thought it could due to the fact that RevenueCat aggregate both users that has firstly activated a subscription and the ones that have activated it after the grace period, or with another payment method (billing retry), or even that have reactvated the subscription.Unfortunately though, I haven’t find any guide to understand how RevenueCat manages and groups this kind of events.May someone help me please?Many thanks.
Hey, I’m having an issue with receiving webhooks in RevenueCat from AppStoreConnect. We’ve been using these webhooks successfully for quite a while, but I’ve been testing today and haven’t been receiving anything. I took a look at the App config and it says that we haven’t received a webhook from Apple since 2021-09-16 8:06 PM. I tested the AppStoreConnect side by pointing their webhooks at a local server and I am able to receive the webhooks so it’s not on their end. Did something change on the 16th that would have broken this? Thanks. Edit: One thing worth noting, I’ve been testing out the behviour with transferring purchases between users. Perhaps RC thinks that the webhooks belong to the old user that the purchases were transferred FROM. I guess that wouldn’t explain why the UI reports 5 days since last webhook received.
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.