Discussion and help from anything related to RevenueCat.
Recently active
I am very new to Revenuecat so I may have missed something. Consider the following: SituationSuppose a user is currently using premium version A. Suppose it has decided to downgrade to premium version B - in the same Subscription group, and thus ‘purchased’ version B via the app, using the RevenueCat SDK. The downgrade will only become active when the current period of version A expires. In the RevenueCat dashboard I see the event: Changed their renewal preference to ‘Premium version B’. ComplicationAfter ‘purchasing’ version B nothing seems to change to the customerInfo object indicating that a downgrade to version B is expected to come. QuestionI’d like to inform the user that their renewal preference is changed to Premium version B, how can I achieve this if nothing of this kind is available in the customerInfo object? Additional infoI am currently testing only with purchases in the app store.
Hello!Could you please answer me if there is possibility to support Promoted in-apps in StoreKit 2 or we need still implement Original StoreKit observer https://developer.apple.com/documentation/storekit/skpaymenttransactionobserver/2877502-paymentqueue?On Apple Developer forums there is information, that we have to support both API https://developer.apple.com/forums/thread/706538?answerId=714432022#714432022Sorry that I ask question not about SDK :( But I think that you can help me with this question, because you SDK is very popular for purchases
We would like to import old receipts. Unfortunately they are not raw base64 but have been decoded into JSON. How would we import these into RevenueCat?
In the RevenueCat customer panel, if I wanted to view a list of users who:Currently have an active subscription Have turned off auto-renewWould this be the way to do it?
Hi, We are having issue with the Google Play Store setup.We’re seeing the following error: Invalid Play Store credentials.We’ve checked all the posts already regarding the issue.But we’ve also noticed that the RevenueCat Service Account doesn’t seem to be correctly linked to Google Cloud. We’ve followed the documentation and already granted access to the service account on the Play Store but it is still not appearing in the permission section of the service account on Google Cloud. Do you know where this issue could come from? Thank you,Damien
So I understand the basic idea of how the restore functionality works, but I dont see how this could become a problem in my application and thus wanted to ask if I am missing something here. My users can only sign in with their phone number and alle purchases are only possible after a login.Let’s say that a user changes phone, the user will get a new phone and sign in with the new phone but the same phone number - As the purchases are attached to the Play/Apple account and the purchases are also saved on their accounts within their app, they could switch phone and not lose any functionality. Is there any scenario missing here where I would need “Restore Purchases” ? Apple rejected by production app due this functionality being missing, but I dont see, why I would need this.
Hi,Im trying to keep my database in sync with each users current state.WebhooksFirst I tried to use web hooks data but I ran into multiple issues:The basic event from the documentation (above all other examples like initial purchase) has way more fields like a real promo code event. Im not sure what user ids to compare. original_app_user_id, app_user_id especially with use cases like “restore subscription”. The documentation calls for comparing original_app_user_id but isn't it wrong in cases of restore and to prevent to be both users entitled here? “expiration_at_ms” is not under entitlement_ids like in the REST API, is this not the entitlement expiration date? Thats because another event for the same app_user_id returns a not migrated state but just for example for the new purchase and I have to store all events right?I think there should be a way simpler web hook.RevenueCat detect a new event but instead of sending it, it checks the user state, do all the work and send the current s
I have gone through the whole setup. I am testing on a phone I have already made an in-app-purchase on. At the start I received CustomerInfo correctly, but now it is empty all the time. Any idea what is going on? For reference, the offerings are received correctly, and I can see the purchase in the dashboard. It seems to have another app user id though, for some reason.
Hello,My team is having difficulty integrating RevenueCat into our Unity based game (iOS and Android). Are there sample applications for Unity that illustrate use of RevenueCat for subscription billing.
I am using the webhook system to keep my user's subscription up to date and if there is a BILLING_ERROR I need to set some properties on the User object in my database so that the user is reminded when they sign into the app to fix the billing error.If there is a billing issue the webhook "CANCELLATION" webhook event is sent with the cancel_reason of "BILLING_ERROR".This is all working fine for helping me to alert the user when they have a billing issue but how does my server get notified when the user fixes their billing issue so that I can update my database accordingly?I was looking at the webhooks and it looks like it would be the UNCANCELLATION webhook event but I don't see anywhere in the documentation confirming this??Also would there be a UNCANCELLATION.reason on the event object?Does anyone know if this is the case?
so I was watching this video from RevenueCat Youtube channel and now I don’t know how I can request that free pay wall for me?
Hi,I am an absolute beginner when it comes to using the Revenue Cat SDK. So this might be a stupid question. I have set up my product in Appstore, Revenue Cat and installed the SDK. When testing the API I get all of the information about the product back correctly in the app, apart from all prices are in USD ( hoped for SEK, app localisation Sweden). I have tested both in a simulator and on a physical device( logged in to my account).After reading a few blog posts it seems that this (prices in USD) is what should be expected as long as the app is in a test environment but not a problem once the app is in production. So my question is have I understood this correctly or have I done something wrong?
I have implemented subscriptions which work fine when I test the app in testflight. When live it doesn’t work. I’m still trying to debug but because it only appears on the live app it’s a little difficult to debug. I’m putting a new version out where I send some firebase events to help me debug the state of things. But posting here in case there’s something obvious I’m missing… Thanks for any pointers on what to check Daniel
Hi,I’m, trying to upgrade my app to use Billing Library 4 for Android as per the new requirements for updates on Google. However, the new 4.0 version of the Revenucat SDK for React doesn’t run on a clean IOS build with the SDK installed - throwing loads of errors. So, two quick questions for you all:Q1: Does the Version 4.0 of the Revenuecat React Native SDK need me to upgrade my Xcode to 14? (i’m on Xcode 13)Q2: Version 3.3 of the Revenuecat React Native SDK works fine for IOS. However, does it use the Billing Library 4 that I need?Thanks in advance!Paul
I'm trying to add a free trial benefit to Android in-app billing. Is there an option to choose whether to offer benefits or not? We're trying to add a free trial benefit, not a promotion.What if you want to distinguish whether or not to give benefits based on specific conditions for the same product?I can set the Google console to give benefits only when I am a new subscriber, but I want to choose whether or not to give benefits in other cases.
Documentation indicates that getCustomerInfo is updated every 5 minutes in a sandbox environment, and similarly, in a sandbox environment, the maximum number of updates may be limited even for subscriptions. But does it work well in production? In other words, is it OK to call getCustomerInfo every time the user tries to access the content to check eligibility? ++The SDK caches the user's subscription information to reduce your app's reliance on the network. Users who unlock entitlements will be able to access them even without an internet connection. The SDK will update the cache if it's older than 5 minutes, but only if you call getCustomerInfo(), make a purchase, or restore purchases, so it's a good idea to call getCustomerInfo() any time a user accesses premium content. I read the above. Does getCustomerInfo mean that it is automatically updated every 5 minutes in case of purchase or restoration without calling it separately, and if not, it should be called and used every time to
My app is properly configured in the appstore, but it probably even doesnt matter because it just not start with the flutter purchases package from RevenueCat. XCode hangs after the debug log “DELEGATE SET” from purchases and I can only stop the process. Screenshot attached.However if I start it from VSCode it runs but nothing is returned from the API like getProducts returns empty list. I can however see entitlements from the getCustomerInfo().I’m trying to run on Simulator (iPhone 11).My env is the newest flutter SDK, newest flutter package. I integrated the RC package in Android with no problems at all. iOS seems to be a no go without your assistance.Hangs on that line as in the picture. Playing again cause restart and the same scenario.
Hello everyone, I have a photo filtering app, and it was working fine for few months. However, on my last update ı got a rejection due to the following screenshot.Between the last approved update, I only added some new images. I changed nothing about to app’s functionality. My guess is that when you accept the In-App Subscription deal it takes some time ( 4-5 seconds) to approve the transaction and close the Pay Wall Sheet. I don’t know why this delay is happening but this must be their cause of rejection.I am new to the iOS development and I constructed the In-App Purchases part of my app by watching the videos of RevenueCat. I don’t know where to start looking any help is appreciated.Thank you for reading this far have a nice day,Bora
Currently I am only using RevenueCat for iOS only. In the future I will have a web purchase that is redeemed on my app. Currently should I set up the App Store Server Notifications? Will adding that server address in my App Store Data “Production Server URL” section speed up the performance of authenticating purchases? Currently this week the authenticating feels very slow, minutes vs seconds.
Our iOS app works ok in TestFlight but subscription offerings is coming back empty once the app is approved by apple. Our steps arePost to TestFlight prior to review Launch app and go to subscription screen - works fine Send for Apple Review (set to manual release) App passes Apple Review Download with a promo code Launch app and go to subscription screen - no products! Try restoring purchases - no products!Obviously we’d like to make sure this works before we manually release, is there anything that might be stopping the offerings/products showing after the Apple Review. Is it the promo code? Or perhaps something else?Things we’ve checkedThe bundle ID is correct The in-app purchase entitlement is present There are products in the offerings Our products on the App Store have passed approval
Hi there,We have had multiple users complain about being billed for multiple subscriptions at the same time.After some investigation we discovered that if an Android user has a subscription paused in the Google Play Store, they are prompted to subscribe again because the SDK reports that they have no active subscription. The original paused subscription will eventually resume and the user will end up with multiple ongoing subscriptions.Re: RevenueCat/purchases-android"Subscription Paused" - This state won't be able to be directly detected through the SDK currently, but is already logged as a future feature. Google recommends providing a deep link for the user to manage their subscription. This can be accessed through the managementURL property on the Purchaser Info object and shown to users with an expired subscription.Is there an update to this? I wasn’t able to find anything. Being able to detect that a user has a subscription paused would allow us to not let the user subscribe twice
Hard to believe but the console added 2 non-subscription InApps to the project. In the screenshots they are CONAS & CLDAS. We have been selling this app for eight years with seven InApps including these two. Why the console added these two, I have no idea. Our intention is to sell monthly or annual subscriptions with the app.Any ideas on how this happened? How do you delete products? (If it was in the doc we won’t we posting here, please send a screenshot of how to delete these products as there is no delete option in our view, see screenshot)Thanks for any help.
When I run this command Purchases.purchasePackage(selected_package). I don't know where I am wrong. My Function : const {purchaserInfo} = await Purchases.purchasePackage(selectedPackage); Get this error from LogCat12-26 11:46:43.991 25754 26222 E unknown:ReactNative: Exception in native call12-26 11:46:43.991 25754 26222 E unknown:ReactNative: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter packageIdentifier12-26 11:46:43.991 25754 26222 E unknown:ReactNative: at com.revenuecat.purchases.hybridcommon.CommonKt.purchasePackage(Unknown Source:2)12-26 11:46:43.991 25754 26222 E unknown:ReactNative: at com.revenuecat.purchases.react.RNPurchasesModule.purchasePackage(RNPurchasesModule.java:148)
Trying to implement auto-renew subscriptions w Revenuecat.In the simulator, my Watch subscription purchases work successfully with [Environment: Xcode] showing up on the purchase. But no offers/product show up when running on a watch device, both in the Xcode simulator & Testflight.My app environment:RevenueCat dashboard:Bundle id.: com.app-name (but also tried com.app-name.watchkitapp) Xcode:Bundle id.: com.app-name, also tried com.app-name.watchkitapp App Store Connect:Bundle id.: com.app-name Note:I have a .storekit file generated from my appstore connect account, and it’s respective StoreKitTestCertificate.cer My error logs when running from Xcode on Watch Series 8 device: 2022-12-25 00:44:00.136043-0800 App Name Watch App[613:570522] [Purchases] - ERROR: 🍎‼️ SKProductsRequest took too long to complete.2022-12-25 00:44:00.137777-0800 App Name Watch App[613:570522] [Purchases] - ERROR: 🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsMa
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.