Get help with your SDK implementation.
Recently active
I have an existing subscription app that’s over a year old that has always used RC. I’ve tested purchasing and restoring in the past before. I wanted to give RC paywalls a go and overall it’s been very easy to implement. However, I’m hitting a strange situation that I can’t figure out: the restore button on the paywall isn’t working as expected.I was already displaying a sheet with my own paywall and I just swapped in PaywallView instead inside the sheet.If there’s currently not a sub active I can purchase (sandbox) either of the two subscription options I have via the paywall without a problem. When the purchase goes through the sheet containing PaywallView gets dismissed.However, when I click the restore link I get a popup that says “Purchases restored successfully!”. The paywall is NOT dismissed. When I close the paywall manually the app (correctly) acts as if no subscription is active since there was nothing to restore.If I put my paywall I created myself (which calls Purchases.
I get back results on V1 when I get customers but not on V2, V2 states “ONLY FOR WEB SUBSCRIPTIONS USING REVENUECAT BILLING”.Does that mean just keep using V1 to get customer subscriptions only, and if so, will V2 ever get discontinued or this added?ie:v1:api.revenuecat.com/v1/subscribers/useridv2:api.revenuecat.com/v2/projects/projectid/customers/userid
Is there a way to get this 33% discount text/percentage in the native SDKs? I’d like to show this discount percentage in my app’s other screens. It has a huge impact on the revenue
Setting the mixpanelDistinctId for the first time works fine, but when trying to set it again, an error occurs, indicating that the "MixPanel Distinct ID cannot be modified."However, after clearing the mixpanelDistinctId and then setting it again, it works fine.I'm not sure where the problem is. [Purchases] - DEBUG: ℹ️ Found 1 unsynced attributes for App User ID: $RCAnonymousID:xxx[Purchases] - DEBUG: ℹ️ Unsynced attributes: ["$mixpanelDistinctId": [SubscriberAttribute] key: $mixpanelDistinctId value: xxx setTime: 2024-06-03 03:38:51 +0000][Purchases] - ERROR: 😿‼️ Error when syncing subscriber attributes. Details: The operation couldn’t be completed. (RevenueCat.BackendError error 0.) UserInfo: [:][Purchases] - ERROR: 😿‼️ One or more of the attributes sent could not be saved. ["$mixpanelDistinctId": "MixPanel Distinct ID cannot be modified."]
Hello, I implemented paywall using revenue cat version 4.41.1 on iOS but on Iphone SE the paywall is not displaying correctly, image is not visible and title and subtitle are cut off.What should I do?Thank you!
My Apple Watch app has an companion iOS app, my steps are: Purchase subscription on iOS app (with a success) Try to call `restorePurchase` method on my Apple Watch app It always shows messages like “receipt not valid” I am using StoreKit to test on both simulator and real device, both doesn’t works and shows “receipt not valid” messageIf I don’t use StoreKit method to test, calling `restorePurcahse` or `purchase` always shows message telling me to login on iPhone Apple Watch app: Does anyone know how to correctly check if a user has purchased a subscription on Apple Watch (with a companion iOS app)? Thank you
I'm currently Promotional Offer using RevenueCat into my React Native app and encountering an issue with purchasing discounted packages. Specifically, I'm using the Purchases.purchaseDiscountedPackage(selectedPackage, paymentDiscount) method. During unit testing on a physical device, I'm consistently getting an error stating "couldn’t find package."Has anyone experienced a similar issue or have insights on how to resolve this? What steps can I take to ensure that the selectedPackage and paymentDiscount are correctly identified and processed during unit testing on a physical device locally?Additional Details:The selectedPackage and paymentDiscount are being correctly fetched and displayed in the app. Regular purchases without discounts work as expected. The issue only arises when trying to purchase a discounted package. Testing is being conducted on a physical device locally.Code Snippet:if(selectedPackage.product.discounts.length > 0) { const paymentDiscount = await Purchases
How to show Paywall in Java implementation. I’m trying to implement RevenueCat via Java and can’t find the docs to show Paywall. Kindly guide me
Hi people,first of all to creators, thanks for the awesome product! Just keep up with good work!I have a question about, what happens if we clear our purchase history in our AppStoreConnect?I saw this post but I wanted to clarify what happens when we go in AppStoreConnect to:Users and Access → Sandbox → Test Accounts → Edit → Clear purchase history?Would this clear purchase history in RevenueCat Sandbox data too?
Hello. I granted my Google account a promotional entitlement from the RevCat console for testing in my app during development (running in an emulator). I canceled it 7 days ago, but RevCat is still returning the promotional entitlement as Active. (I have run the app countless times over the past week.)This is what the dashboard shows for my user: And this is what RevCat is showing when the app runs: The Flutter code pulling in the above data is simply:customerInfo = await Purchases.getCustomerInfo(); Can someone explain why this is happening, and how I can ensure that my app is pulling in the correct entitlement data?Thank you.
Asking this again since comments have been closed and not clear update has been provided. When does the RevenueCat Billing and Web SDK support multi-currency? Documentation states:Only USD is currently supported (multi-currency support will follow later) I understand it’s on the roadmap but we need a clearer timeline please.
I’m trying to test a new introductory offer but it’s proving to be a bit more difficult than anticipated.I’m running my scheme using a StoreKit Configuration file in the simulator (although the same happens without the file on a device with sandbox user). When testing for eligibility, I get “unknown”. I’ve tried deleting the user from the dashboard and deleting the StoreKit transactions from Xcode > Debug > StoreKit but it doesn’t change the outcome.The only thing that works is to force StoreKit 2 with .with(usesStoreKit2IfAvailable: true) which I know is deprecated.This is problematic because now I’m wondering if my app is showing introductory offers correctly to my live users. Any guidance on this would be greatly appreciated! 🙏 As a side-note, this is made more complicated by the fact I’m deploying that intro offer using targeting and custom attributes. When deleting a custom attribute (or a customer), it looks like it’s no longer possible for my app to set a value for those
So , I've been trying to get the paywall_ui working in my Flutter project. Using:purchases_flutter: ^6.29.2purchases_ui_flutter: ^7.0.0-beta.1I’m able to show a paywall perfectly fine. So, after the set-up, I was hoping to use PaywallVIew to call some methods based on events. But the specified options, like “onPurchaseCompleted,” didn’t exist for this version of the plugin, which seems odd. In an attempt to resolve the issue, I reverted to purchases_ui_flutter: ^6.29.2, which does include the options I needed in PaywallView.Now the problem is that while trying to build the project I get this error and the build fails.e: file:///Users/apple/.pub-cache/hosted/pub.dev/purchases_ui_flutter-6.29.2/android/src/main/kotlin/com/revenuecat/purchases_ui_flutter/PurchasesUiFlutterPlugin.kt:96:16 This declaration needs opt-in. Its usage must be marked with '@com.revenuecat.purchases.ui.revenuecatui.ExperimentalPreviewRevenueCatUIPurchasesAPI' or '@OptIn(com.revenuecat.purchases.ui.revenuecatui.Exp
Context:We are currently facing issues with our in-app purchases that have not yet been approved and are still in the "Ready to Submit" stage in App Store Connect. We are currently using the getOfferings method from the React Native IAP library, react-native-purchasesCurrent Setup and Observations:StoreKit Configuration Testing: When testing with the StoreKit configuration on the Simulator, transactions go through successfully and are visible in RevenueCat. This indicates that our setup and integration with RevenueCat are functioning correctly in the simulator environment. App Store Connect Sandbox Testing: When testing using the App Store Connect Sandbox, by navigating to Settings > App Store > Sandbox Account > Test Transactions, the subscriptions appear in the test accounts as expected. However, these sandbox transactions do not show up in the RevenueCat Recent Transactions. This is a critical issue for us, as we need to ensure that transactions are correctly logged and v
Hi,I have an existing Flutter based, iOS and Android app which I am now working on deploying to Web. Since RC Flutter purchase SDK unfortunately does not support web, I integrated Stripe and am now working on connecting/syncing the Stripe purchases to RC since RC validates in app that a user has an active subscription.My app offers both in app one time purchases as well as subscriptions. I have created both in Stripe and linked in RC. I installed the RC App for Stripe as documented.Now I am uncertain about the following:Will any purchases (one time AND subscriptions) automatically snyced to RC via the RC Stripe App? If yes - Does this only work in Live Mode? How would I go about testing it best if Stripe TEST Mode is not supported? Setting all products to 0$ or 1 Cent seems misleading. If No - If the RC App for Stripe does not do so and I need to implement my own webhooks and inform RC via their Webhook, than I would not understand what the RC App for Stripe Does. Just to make sure:
I have a quasar app that uses capacitor to create iOS apps. I am new to Revenuecat and trying to figure out the installation flow. The only relevant docs I see are the react or iconic/capacitor apps. I would think I need a vue flow, though. I see this, but the link to the vue doc goes to the Iconic/React docs.
purchases_flutter: ^6.29.0purchases_ui_flutter: ^6.29.0platform :ios, '12.0' (Podfile, pod install issues if trying to raise to ‘15.0’) Too much space above packages, how can I get rid of it? Seems to be some padding? Template 5 (was forced to set title + 1 feature): Code:void presentPaywallFooter(BuildContext context) async {final offerings = await Purchases.getOfferings();final offering = offerings.current; showModalBottomSheet(context: context,builder: (BuildContext context) {return PaywallFooterView(offering: offering,onPurchaseStarted: (Package rcPackage) {debugPrint('Purchase started for package: ${rcPackage.identifier}');},onPurchaseCompleted: (CustomerInfo customerInfo, StoreTransaction storeTransaction) {debugPrint('Purchase completed: ${storeTransaction.transactionIdentifier}');},onPurchaseError: (PurchasesError error) {debugPrint('Purchase error: ${error.message}');},onRestoreCompleted: (CustomerInfo customerInfo) {debugPrint('Restore completed');},onRestoreError: (Purchase
Is there any way to set a custom attribute(e.g. email) to a customer via Web SDK?
I am trying to integrate Revenue cat in my React native android project but cannot get rid of this error [TypeError: Cannot read property 'setupPurchases' of null]please provide me steps to solve this error as i have gone through all the above steps read articles watched videos implemented example and in every thing this error is common please help on this @React native team , @ Revenue cat community
I’m trying to test making a purchase on iOS but the purchasePackage method just hangs and does not resolve or throw and error. I’m currently using a physicial device with iOS 17.4.1, I’m using capacitor in vue 3 with @revenuecat/purchases-capacitor 7.5.9. My xCode is 15.2. I’m able to get the offerings no problem and pass it to the purchasePackage method but nothing happens, the payment sheet does not appear. I left if for like 10 minutes and it still did not appear or throw an error. Any help would be appreciated
I have the following error when I run the SwiftUI application on the devise (iOS) or via the iOS simulator:---🍎‼️ Error fetching offerings - The operation couldn’t be completed. (RevenueCat.OfferingsManager.Error error 1.)There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used). More information: https://rev.cat/why-are-offerings-empty---How I initialise the RevenueCat SDKimport SwiftUIimport RevenueCatimport RevenueCatUI@mainstruct SpeedApp: App { init() { Purchases.logLevel = .debug Purchases.configure(withAPIKey: "...token...", appUserID: "1") } var body: some Scene { WindowGroup { ContentView() } }}My setup:RevenueCat and AppStore App configuration have same bundle ID. Product id for the subscription in RevenueCat and AppStore the same (I’ve loaded the products in RevenueCat via the App Co
Directly after initializing the RevenueCat SDK in my AppDelegate.didFinishLaunchingWithOptions method, I call `Purchases.shared.appUserID`. I briefly looked into the implementation and saw that `IdentityManager.currentAppUserId` (which is used by `Purchases.shared.appUserID` to retrieve the actual id) uses a `fatalError` when no cached app user id is present:``` var currentAppUserID: String { guard let appUserID = self.deviceCache.cachedAppUserID else { fatalError(Strings.identity.null_currentappuserid.description) } return appUserID }```My setup:```Purchases.configure( with: Configuration.Builder(withAPIKey: "...") .build())Purchases.shared.delegate = selflet appUserId = Purchases.shared.appUserID // <- safe?```I assume, that the initialization process via `Purchases.configure` is synchronous and that I can safely call `Purchases.shared.appUserID` as shown in the code snippet above. Is this correct or are there any scenarios in which
Hello, I'm getting “something goes wrong error” on Android. It was working in the past but started not working suddenly. What I have and I have tried so far:My app is live, was released on Google Play Store I went through the Checklist I tried to set a new application on RevenueCat but it’s still the same. I can get all the products on the app I tried to buy a product both on development & live it gives the same error. I tried a different account (in case my account can be problematic), it’s the same When I run logcat, it gives me these two things I don’t know what to do now and I don’t get if the problem is on RevenueCat side, my Google Play Account or the code. I’d appreciate any help
Hello !I’m using Flutter & RevenueCat for my app since a few months, and I’m on my way to make my app available for multiple countries.I followed the docs to add localizations on both store, and everything seems to be good on my side.In my app, the device’s locale is used as default language but I leave the choice to the user to change it in the application settings.By doing that, I noticed that the informations fetched from revenue cat was still on the original language. I was wondering if it’s possible to change it on runtime ? How could I handle this scenario ? I found a related topic but I’m not sure if the answer is still up to date or relevant. If you have encounter the same situation, can you give me some hints ?Thank you for your time !
Currently react-native-purchases library works great for both iOS and Android. On the other hand whenever we implement react-native-purchases-ui, it will only work for iOS but fails in Android with this duplicate class error:com.atlassian.commonmark:commonmark:0.13.0) and jetified-commonmark-0.21.0 (org.commonmark:commonmark:0.21.0) Duplicate class org.commonmark.internal.HtmlBlockParser found in modules jetified-commonmark-0.13.0 (com.atlassian.commonmark:commonmark:0.13.0) and jetified-commonmark-0.21.0 (org.commonmark:commonmark:0.21.0) Duplicate class org.commonmark.internal.HtmlBlockParser$1 found in modules jetified-commonmark-0.13.0 (com.atlassian.commonmark:commonmark:0.13.0) and jetified-commonmark-0.21.0 (org.commonmark:commonmark:0.21.0) We’ve tried everything from downgrading libraries, upgrading our react builds, etc. That error just does not seem to go awayWe’ve searched our project and arent using any commonmark packages or anything anywhere. Has anyone had this issue?
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.