Discussion and help from anything related to RevenueCat.
Recently active
Hello,I’m using the latest Revenue Cat SDK (8.4.0) and i’m trying to do the following use case in Sandbox :Subscribe to a monthly subscription Immediately refund it from Revenue Cat dashboard Open the app and see that the premium content is no longer available for the userI’m callingPurchases.sharedInstance.getCustomerInfoWith(fetchPolicy = CacheFetchPolicy.NOT_STALE_CACHED_OR_CURRENT) { customerInfo -> checkStatus(customerInfo) }And always get this Logs : Retrieving customer info with policy: NOT_STALE_CACHED_OR_CURRENTℹ️ Checking if cache is stale AppInBackground trueℹ️ Vending CustomerInfo from cache. Something weird here, is that AppInBackground is always returning TRUE. This means that the cache will not be stale before the 25 hours delay and never within the 5 minutes delays for foreground application. Then the cache is never updatedI’m initializing my Purchases only once in the onCreate of my Application classif (BuildConfig.DEBUG) { Purchases.logLevel =
How to display paywall in flutter app?
Hi RevenueCat Community,I'm working on a mobile app written in Flutter and I'm looking to implement a referral program to assign an influencer identifier to app users. The goal is to track purchases made by users assigned to specific influencers, allowing us to share the profit with those influencers each month (ex. 25% of sale).Here's what I've planned so far:Assign an influencer identifier to the RevenueCat/app user using the method below: Purchases.setAttributes({ "custom_group_id" : "influencer_A_id" }); Manually generate a raport in RevenueCat at the end of each month with sum of purchases made by users attached to a given influencer.I would like to attach a given influencer ID to a user by allowing the user to redeem a promo code (that user received from influencer) in the app that unlocks extra content. This will help in assigning the user to the influencer effectively.However, I'm uncertain about the best way to configure RevenueCat to generate a report at the end of each mon
How can I implement discount code in a way to let user enter a code in the app and it can be applied directly from the app for subscription and not led user to App Store to redeem it manually. I’m using react native and I managed to implement full subscription model but now I cannot create any kind of discount code that will work like this:
Hi, I’m new to RC and this forum. I’ve searched but couldn’t find anything definitive on this topic but if there is, please let me know…Is there a way in StoreKit 2 (and in extension, in the RevenueCat SDK) to get an unique identifier for the current iCloud ID or user? I'm a bit worried about this part in the SDK docs:If you don't provide an App User ID when instantiating the Purchases SDK, RevenueCat will generate a new random App User ID for you and cache it on the device. In the event that the user deletes and reinstalls the app, a new random App User ID will be generated.I guess my question is: do I have to force the current user to sign in with their Apple ID if I want to prevent the quoted behavior?Edit: Or did I overthink everything again — maybe I should ignore the iCloud ID for my iOS/macOS-only app, and just rely on the RC-provided anonymous App User ID and the restoring purchases mechanism…?
Hi,We are developing language app where user selects their native language. Can you add a parameter to specify language code when displaying the paywall e.g. ```RevenueCatUI.presentPaywallIfNeeded( _defaultEntitlement, displayCloseButton: true, userLanguage: ‘en-GB’ );```that will try display the paywall in the specified language rather than using device settings(it will still be the fallback mechanism if userLanguage fails).Thanks!
I'm being told there should be a way to make a one-time payment to stat the membership. Then every five years there can be a required maintenance fee to continue the membership, is that doable? And would the play store and app store accept this in an app published there?
Hi,I'm currently dealing with an issue involving a user who purchased an annual subscription via Google Play in January and requested a refund shortly after. According to the Google Play app, the refund was processed successfully. However, RevenueCat shows no record of this refund, only indicating that the subscription expired in April and the account reverted to the basic version. Key details:Google Play app indicates refund processed. RevenueCat only shows subscription expired. The user can no longer access paid features. No refund record found on Google’s support page. I've advised the user to check with their bank and Google Support, but I need help understanding the discrepancy between Google Play and RevenueCat. Could this be a sync issue, or is there another cause? Any guidance would be appreciated! Thanks!
[RCPurchases.sharedPurchases getPromotionalOfferForProductDiscount:package.storeProduct.discounts[0] withProduct:package.storeProduct withCompletion:^(RCPromotionalOffer * _Nullable discount, NSError * _Nullable error) { if (discount) { } }];By calling the above method, I’m getting error message “ERROR: 🍎‼️ The User is ineligible for that action.”Please any suggestions?
Hello everyone, I have an app on flutterflow that is set to check on a customer subscription status every time it starts, so is updated in the app. This is causing my customer to keep his status until he opens the app again, even when he has cancelled the subscription before. Right now I thought that integrating my Firebase DB to Revenuecat could figured this out by updating instantly my db, but I noticed there's no “boolean” attribute on firebase when a customer is made. I was expecting something like “subscribed=true false” but there's only dates (on string) and useless data for me. Any idea how can I check a customer subscription status with firebase information instead of checking as an API in app?thx
Hello,I have a Flutter application using GetX for state management and a Laravel backend. My app includes a subscription feature, but it was rejected by iOS because I need to integrate in-app purchases. Can anyone help me integrate in-app purchases specifically for iOS? I successfully connected the application from the iOS side with Revenuecat, but I'm stuck and unsure how to proceed to complete the integration.
On the paywall when the user select the plan then below are the set of issue i see.Main Issue: The subscription bottom sheet for the password to complete the purchase appears and then it’s all set appears but then the user is not navigated to further screen on the app and remains on the same paywall screen, again selecting the same plan it gives “You are the same plan with the purchase time stamp” but checking the same on the revenuecat it’s neither on the customer history nor on the firebase subscription table that has been created by revenuecat official extension. For the few instance I see the data is capture on the revenue cat and table but still the user stays on the paywall There is delay when the revenuecat share the data on the firebase subscription table mostly 4-5 mins delay from the event occurred On the Test flight after plan successful purchase user has to wait for 20 seconds to navigate further app page example welcome pageAll the above issue are specifically on the Tes
I’m curious how the API to override a user’s current offering, and the new targeting rules interact.My understanding is the targeting rules override which offering is designated the current offering for a user. If the current offering was manually set via:https://api.revenuecat.com/v1/subscribers/{app_user_id}/offerings/{offering_uuid}/override ...does that still take precedence over targeting rules?
Hey,When I call the v1/subscribers/{app_user_id} endpoint, in the response there is an array under the “subscriber.non_subscriptions.product_name” key containing the purchases of that product. My question is if there is a limit on the number of purchases that can be returned there and if so what happens if that limit is reached? I see that the oldest purchases are returned first, so I’m worried if there is a limit, then I won’t receive the latest purchases. The documentation says nothing about pagination for this endpoint. https://www.revenuecat.com/docs/api-v1#tag/customers
Hi, Looking at the documentation for custom attributes, I cannot find any information about syncing attributes and offerings using the React Native SDK. Does this mean that it is not required to sync attributes and offerings after setting an attribute or that it is not possible to sync attributes and offerings manually? We are trying to create a targeting rule based on custom attributes set during the onboarding. Curious to learn what the best practice is here. Thanks in advanceAlexander
According to Revenue Cat, I made $151 with 24 transactions in June 2024. However, Apple only sent me a payment of $92.46 today stating 19 units sold. The previous month, Revenue Cat reported $44 in revenue and Apple paid me $37.29, so I know up until this month, Apple was paying me in full minus the 15% fee for small businesses. How can I figure out why Apple paid me less than usual. I have started receiving international payments, so my hypothesis is that Apple is not paying me for countries outside the US and Canada. If so, how do I start receiving those payments as well?
I can’t pass the App Store Reviews because of this error. I can't produce this case. But review team is keep sending me this. And I can’t pass the reviews for 3 days. On my side, everything works very well.
I’m using Ionic with Capacitor.The RevenueCat documentation recommends using a cordova plugin, but Ionic has been in the process of migrating away from Capacitor for the past few years, and this is now the only Cordova plugin in my app.There’s already a capacitor plugin on github but I was wondering if there are any plans to release an official Capacitor plugin as well.
Hi, when adding an image to the template no matter what size or aspect ratio I choose it crops the image to a small portion of the top centre of the image. Can you recommend the correct image size to use please?
I use BugSnag to capture my errors and report them in a way that can be quanitfied. This last week my top 2 errors all came from `Purchases` errors:Seen in the last 7 days:Errors Events getOfferings Error in Paywall • src/features/Paywall/index.tsx:165 There is an issue with your configuration. Check the underlying error for more details. 140 Purchase Error in Paywall • src/features/Paywall/index.tsx:197 No Package available to purchase. 34 Now, the typical response from RevenueCat is:Do you have logging enabled? YES ``` Purchases.setLogLevel(Purchases.LOG_LEVEL.DEBUG); await Purchases.configure({ apiKey: APIKEY }); ``` Can I replicate? NO So I ask RevenueCat this: is there a way to uncover the underlying issue? 140 errors in 1 week related to configuration is concerning. 34 errors of “no package available to purchase” is concerning. How else can I report errors to you so we can figure this out?
Hi!Main Flow:My backend listens to Revenue Cat webhook events. I listen to renewal to mark old subscription as in active and create a new active subscription with full in-app balance.Currently if user clicks on product he already purchased, Revenue cat react native client throws error with code Purchases.PURCHASES_ERROR_CODE.PRODUCT_ALREADY_PURCHASED_ERROR which is correct. But then I get webhook event on purchase. Question:Why this happens if Apple doesn’t let to re-subscribe to plan which hasn’t expired yet. From my understanding after client PRODUCT_ALREADY_PURCHASED_ERROR was thrown no webhook event should come to backend.
I have a user on Android in the UK (we are in US). He is saying that there is an error message persisting when he opens the app:error retrieving productThis likely would occur from await Purchases.getOfferings(); but I am unable to determine because the logs & stack trace are a dead end. Any ideas?
When running in debug mode in Visual Studio Code, the following error occurs when executing the line below:CustomerInfo customerInfo = await Purchases.purchasePackage(package); Error:E/[Purchases] - ERROR(22467): 🤖‼️ BillingWrapper purchases failed to update: DebugMessage: . ErrorCode: ITEM_UNAVAILABLE.nullE/[Purchases] - ERROR(22467): 🤖‼️ PurchasesError(code=ProductNotAvailableForPurchaseError, underlyingErrorMessage=Error updating purchases. DebugMessage: . ErrorCode: ITEM_UNAVAILABLE., message='The product is not available for purchase.')However, when I install the app from the Google Play Store, which is already published in the closed test track, and execute it, I can make purchases with a Sandbox test account.Is it not possible to test RevenueCat in debug mode? Do I need to upload the app bundle file to the closed test track every time to perform the tests?
i see Opted-out of renewal on the subscription history of our subscribers. does it mean refund?it’s too confusing. does it mean they paid the subscription but will not renew next year?
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.