Get help with anything related to RevenueCat.
Recently active
I have a Flutter app, using the Firebase extension and it works for Android, but on iOS, nothing happens (nothing gets updated in Firebase) after the purchase has been made. Tested on real devices, with testing card credits.
Hi there,We have an initial_purchase_event webhook where the event_timestamp is roughly 25th May but the purchased_at timestamp is roughly 2nd May. Do you have any insight as to how this can happen and whether it is a common thing? For some extra context they didn’t open the app between 2nd May and 25th May so it looks like them opening the app on 25th somehow triggered the webhook that for some reason failed to fire when they made the purchase on the 2nd. Thanks,Lydia { "api_version": "1.0", "event": { "aliases": [ "XXX" ], "app_id": "XXX", "app_user_id": "XXX", "country_code": "US", "currency": "USD", "entitlement_id": null, "entitlement_ids": [ "premium" ], "environment": "PRODUCTION", "event_timestamp_ms": 1653492042121, "expiration_at_ms": 1683048830000, "id": "XXX", "is_family_share": false, "offer_code": null, "original_app_user_id": "XXX", "original_transaction_id": "XXX", "period_type": "INTRO", "presented_of
Hello - does anyone know how to actually edit this? The app was previously created, and I can’t see on this page how to actually edit this. I have the JSON file ready to put in.Thanks in advanceEDIT: I have now figured it out. Just needed to click ‘view’. Sometimes the simpliest!
Hello community,I am new to RevenueCat and to swift programming. I am trying to get my first app up and running on the store but am having trouble with making a test purchase. Wondering if someone can help by looking at the debug log.CN_235_Monthly2992022-05-29 18:24:59.214531+0300 CASAFlightData[56957:3007853] [Purchases] - DEBUG: ℹ️ No existing requests and products not cached, starting SKProducts request for: ["CN_235_Monthly299"]2022-05-29 18:24:59.253793+0300 CASAFlightData[56957:3007853] [Purchases] - DEBUG: 😻 SKProductsRequest did finish2022-05-29 18:24:59.253996+0300 CASAFlightData[56957:3008278] [Purchases] - DEBUG: 😻 SKProductsRequest request received responseThe code I’m running is here:class PurchaseService { static func purchase(productId: String?, successfulPurchase: @escaping () -> Void) { guard productId != nil else { return } print(productId!) //Perform purchase //Get the SKProduct Purchases.shar
What happens to an anonymous user’s ID if he buys a subscription on device A, then restores on device B.Will device A still be logged in?I found it in the documentation:Transfer - If a user buys a subscription with an anonymous ID ( account A) and then restores with an identified user (account B) as long as they are logged in with the same underlying store account the store receipt will transfer to account B and only account B will have access to the subscription. how to understand it for different devices?Will the subscription be available for deviceA and deviceB or only for deviceB?
My purchasing code seems to work fine for the majority of users, but I have a small portion of them who for whatever reason either have entitlements for a period of time and then lose them, or for whom the entitlements are seemingly never granted, even though the purchase was successful.When checking their customer info in the RC dashboard, it shows no entitlements.Any ideas for how to troubleshoot this? Here’s my code for completing a purchase:if let package = self.offering?.availablePackages[1] { Purchases.shared.purchase(package: package) { [self] (transaction, purchaserInfo, error, userCancelled) in if let error = error { self.present(errorAlert(message: error.localizedDescription), animated: true, completion: nil) } else { if purchaserInfo?.entitlements["Lifetime Access"]?.isActive == true { entitlementsGranted = true saveUserData
We have noticed that Android subscribers in certain states are being charged sales tax on their subscription. For example, our monthly set price is $6.99, but the subscriber is being charged $7.48 ($.49 in tax). Does anyone know if this is related to us setting up business/tax documents wrong, or if Android users need to pay sales tax based on their state laws? We are providing a basic subscription app service and not selling digital goods. I have tried editing the tax settings in Google Play, but some states are uneditable so Google’s preset is taking priority. Thanks for any assistance here!
I would like to run the Revenue Cat demo project on a 2013 Mac running Catalina but receive the error that the nimble package requires Swift tools 5.4.0 and the installed version for Xcode 12.3 (which is the highest version supportable on my hardware) is 5.3.0. XCode 12.5 includes Swift tools 5.4.0 but will not run on Catalina. Is there a workaround for my current hardware?
I have a requirement that I want to set a temporary entitlement for the user, (not through in-app purchase), like this cutomerInfo.entitlements[@"temp_access"].isActive = YES
I am writing an app with the choice to subscribe to premium features on a monthly or yearly basis. I’ve been wondering if I need to store webhook data that comes from revenuecat into my database. What would be the benefit of this? I thought that the revenuecat API (i.e. javascript API) lets us see if a user (i.e. alex@mywebsite.com) is subscribed to our iOS/Android/Stripe app. Maybe I’m missing the point somewhere here. If I did store the data in a SQL db, how would the schema be best designed? I see @ryan from RevenueCat replied to a similar post but I’m not 100% sure how to implement this best. I see the /subscriber endpoint docs mention a subscriber object, entitlement object, subscription object, non-subscription object, subscriber attribute object - would I want SQL tables for each of these?
Hi, I received BILLING_ISSUE and CANCELLATION webhook event when I changed our subscription plan in the Manage Subscription page on iOS. (I changed my plan from monthly to yearly)‘cancel_reason’ in CANCELLATION webhook is ‘UNKNOWN’.I received a PRODUCT_CHANGE webhook 1 minute after CANCELLATION Why are these webhooks being sent? I'm testing in a sandbox environment.
We are migrating from application created in Account A to application created in Account B. So need to export data from application created in Account A and import it in Account B. Exporting customers data does not have all required fields as below:app_user_id receipt (the raw receipt file) product_id price introductory_price (if not a free trial) currencyWe need to do export data from Account A and need to import in Account B for one specific reason.In 2019, Apple introduced Mac catalyst but at that time no way to unlock app by purchasing in app purchase from iOS. So we integrated RevenueCat and it done really nice job. Both iOS and Mac app has different bundle id and both have different in app purchases. Purchasing on one platform will unlock features on another. As we migrating from one account to another account, it might be like if user don’t update on other platform it might lock user’s unlocked feature as it will not get chance to sync receipts to new account. So better is to im
Hi,We have received a GDPR request from a user for insight into their data, and as such we also need to provide them with the data sent to RevenueCat about them.What tool in RevenueCat will allow me to export all data about a user?GreetingsHans
I was build an appplication by Flutter, when I release it to Android it is run well, when I put it to TestFlight it also run well,but when I release it to appstore(iOS) it will load subscriptions list fail.what am I missed? help me! my Application name 「幸いな人」
Hi there,We have started seeing a really weird issue on our production app since about mid April where sometimes the offering data is returning 7 under the introPrice.periodNumberOfUnits value for ios. As far as I understand it is impossible to get a 7 for this value from the app store because Apple only offer certain distinct introductory offers as shown in the screenshot I sent. Currently for the product being displayed it should be a 1 week free trial and some of the time it is returning 1 as expected but sometimes it returns 7. This started happening after no changes on our side suddenly about in the middle of April (according to our data). I was wondering if your team has been making any changes around this as we just dispplay the value that we get from Revenuecat SDK, we don’t fiddle with it or hardcode any values.Thanks,Lyia
Hi, I'm testing in the Play Store sandbox environment.When I receive a BILLING_ISSUE webhook, its expires_date and grace_period_expires_date is 2 weeks later. (The grace period is set to 2 weeks on on the Play Store)However, I receive an EXPIRATION webhook 15 minutes after BILLING_ISSUE. Is this a sandbox specific issue? Or am I configured incorrectly?I want to receive the webhook after the end of the grace period. Thanks
Hi. There are other posts about transferring apps, but they don’t have enough details and don’t answer my questions.I’m going to transfer my app to another App Store account and I’ll have access to it as a developer or even as an Admin. When should be a new App Specific Shared Secret created? How can I update the Shared Secret? What else should I do?Could you provide me with step by step guide? Thank you.
Hello,We have set up our apps perfectly with RevenueCat and are currently testing in the SANDBOX mode.A customer purchases an in-app subscription from the app andAfter sometime cancels it directly from the app store / play store. Re-subscribes it directly it from the appstore.In both the cases revenue cat is informed by S2S notifications but still these events are not updated in revenue cat.Are we missing something? How do we do this??
Hello,I have a question.What is the difference between ‘total revenue’ and ‘proceeds’ in the revue chart?Why are there so many differences between the two? Thank you.
Hi all, I could not find much information regarding syncPurchases in SwiftUI.I am releasing a big upgrade to my app and have changed my RC SDK from V3 to V4 to take advantage of StoreKit2To make the transition smooth I wish to sync my users purchases and am doing so via my AppNameApp.swift file .onAppear method.is calling Purchases.shared.syncPurchases {} on the first launch of my upgraded version sufficient for this? Thanks so much
When I test the /subscribers/{app_user_id} endpoint on the API reference page using my public key, I get a 200 response.However, when I run the same code from my Node cloud function, I consistently get back a 401.Any ideas as to why this is?
Error 404 When I try to access the sample using android java
I’m submitting an update that add subscriptions. We offer full price, and sale price. A user only sees 1 at a time, controlled by our logic. So when Apple tests, they will only see full price.Do you have any advice how to get Apple to approve? I’m concerned that they will reject the subscription at the sale price that they won’t be able to see in the app. (This is an app that already has many approved IAPs.)Do I need to submit with 1 of the subscription IAPs, get approval, and then submit again with the other subscription IAP? (I can control server side which price point they see.)thanksMark J
Hello RevenueCat community!I work in a company where we are integrating RevenueCat in our React Native application. I have a scenario where a user are able to buy a monthly subscription, but also several products. At the moment a user adds items (can be consumables or subscriptions) in a cart and then does a checkout. This flow results in us looping over all items in the cart and using PurchasePackage(package) for each individual item in the cart, this flow causes one popup (on iOS) per item which in a UX world is quite annoying. My question is: Is there a way to do some kind of a bulk purchase so that the user only has to accept on the pop-up once instead of “times equal to products in cart”?Best regards,Emanuel
I’m building an iOS app with a backend providing user accounts. Not sure what the best practice to integrate it. Each user is supposed to have an active subscription (with a free trial in the beginning). I set this up in App Store Connect. The backend includes a webhook that is triggered by RevenueCat. When anything happens, I refresh the latest customer info and update the User table. In the iOS app, I use the RC API to retrieve the customer info and active subscriptions. I set the Transfer behavior to Block to make sure one subscription is good for one user account only. Whenever the user logs in, I updated the RC id with the proper user id. Do I miss something? How to properly handle Restore purchase?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.