Get help with your SDK implementation.
Recently active
I have an Android app in production (Play Store only) and I have no idea what the issue is. One of my users messaged me that the offerings does not show up and the Toast shows the message above. (I don’t have a stacktrace right now, because Crashlytics does not de-obfuscate properly.) I’ve checked similar issues around here, but most issues revolve either around Amazon Store or Emulators, so the issue is not fitting. One similar comment was this: This only happens with some users (some of them have already subscribed). Can anyone help me how to solve this or to get more info about this? I don’t know how many users are experiencing this issue either
Hello!I’m using the revenue cat for my game to handle all purchasing process…RevenueCat is working perfectly on iOS but not on Android… I added all products for both store and revenue cat dashboard but in android, offers are returning null… Here are the errors I got:Error: Code: 23Message: There is an issue with your configuration. Check the underlying error for more details.ReadableErrorCode: ConfigurationErrorMyRevenueCatManager:GetOfferingsCallback(Offerings, Error)Purchases:_getOfferings(String)Exception: NullReferenceException: Object reference not set to an instance of an object.MyRevenueCatManager.GetOfferingsCallback (Purchases+Offerings offerings, Purchases+Error error) (at <00000000000000000000000000000000>:0)Purchases._getOfferings (System.String offeringsJson) (at <00000000000000000000000000000000>:0)Is there is a possible reason for this?Thanks for help, in advance...
I am building an App in Flutter, previously I was using official In app purchase package for iOS and Android. There after purchase we were getting transaction Ids/OrderId but there’s no var available n PurchaserInfo object after purchase has been made.
Hi, we are really loving the new paywall function, would love if it was possible to use the same code for web, Android and iOS (which many of us with Expo projects have) in the react native sdk (react-native-purchases). Right now we have a custom paywall with a lot of potential unnecessary code (because we need to handle Stripe products on webapp outside react-native-purchases). Stripe kinda feel like a second class citizen with RevenueCat, and we think that is a shame since onboarding on web has been really good for us (avoids the Google/Apple tax and you can create a user very quickly directly from the landing page before downloading the app).All in all RevenueCat has been a blessing and not having to deal with App Store Server Notifications and Pub/Sub on Google Play has really cut our costs and increased development speed. So would just like to say we love what you are doing!
I have two monthly subscriptions, everything set up well. Purchasing work well. issue is I am trying to subscribe to two cards using sandbox account, then everything works well but checking the subscription status becomes false for card 1 and true for card 2. Please see the codeTracking the status of card 1 and card 2 in my HomeView(earlier) then passing it to my Premium_View. The isSub_b_card1 and isSub_b_card2 are Bendable vars.HomeView: PremiumCard_ListView PremiumCard_ListView - If the No subscriptions. Show BusinessCard_Offers_View to get subscription for the specific Card. BusinessCard_Offers_View Card View Model
Hi, I just started looking into RevenueCat and had a question regarding the Paywall feature.Is there a way to set event handlers to the paywall so that we can detectUser cancelled Purchase Successful ErrorWe currently have analytics around these events and would like to retain the behavior. We can migrate our existing paywall to use the purchase API directly. However, Paywall seems to provide an easy way for us to experiment with different designs..etc. This should be relatively easy to implement. Can it be added?
I have two subscriptions and two RevenueCat paywalls are attached for each subscription. Now i want to show the paywall for each product in my .sheet () modifier passing the entitlement and offerings in SwiftUI.can i do achieve through this.presentPaywallIfNeeded(requiredEntitlementIdentifier: "", offering: Offering(identifier: "", serverDescription: "", availablePackages: []))
Hello! While testing my RC integration in React Native, I noticed that my call to Purchases.getCustomerInfo is retrieving different data for customerInfo.entitlements.all for the same user across my iOS and Android emulators. I do know that Android has some emulator issues but the call isn’t failing or anything.Initially I thought maybe getCustomerInfo is specific to the platform it’s being called on, but I’m actually seeing the same Stripe entitlements in customerInfo?.entitlements?.all on both platforms. It’s really just on Android that I’m not seeing the iOS entitlements that I see on iOS. I confirmed that both responses have the same originalAppUserId. This is introducing issues in my backend because I’m setting subscriptions as inactive in my database if they’re not present when sending this entitlements response to my backend which I’m using as the source of truth. i.e., in this case, my Android response isn’t seeing the iOS entitlements so I’m setting them as inactive. But then
Can we expect a release for the Unity SDK near the iOS/Android release, or will it come later?
I’m developing an app with a feature (that involves a request to the backend) that I would like to allow all new users 10 free uses of. After those 10 uses are used, the user would need to subscribe to a monthly subscription that confers unlimited usage. I’ve tried implementing this by keeping track of this on the backend based on the app user id, but it appears that while I can validate whether a given app user id has subscribed to a paid plan, there is no way to prevent the client from faking an app user id (i.e. by reinstalling the app or by directly talking to the backend API with randomly generated app user ids) to seem like a new user and replenishing their 10 uses. Is there a way to get a stable (anonymized?) app store ID that persists across re-installs?Another approach I’ve considered is making the 10 uses opt-in by requiring the user to start a free trial--but from my research it appears that on the App Store trials can only be time-limited? I’m not sure how I’d implement 10
Hello RevenueCat Community,I'm reaching out for assistance with an issue we're encountering in the integration of RevenueCat and Firebase within our Cordova app, which operates on both iOS and Android platforms.We have set up accounts on Firebase, Google Analytics, and RevenueCat. The integration process has been initiated in RevenueCat, and we have successfully installed the Firebase Cordova plugin as well as the RevenueCat Firebase extension. Despite this, we're facing a challenge: purchase events tracked by RevenueCat are not appearing in our Firebase analytics.Has anyone else encountered a similar issue? Any insights or guidance on how to ensure that these purchase events are properly communicated and logged in Firebase would be greatly appreciated. We are looking for any advice or best practices to troubleshoot this problem.Thank you in advance for your help!
If you are receiving ProductNotAvailableForPurchaseError even after the subscriptions are active in Google Play and RevenueCat, try to create new subscriptions which are in format [subsription]:[base-plan], import these products to RevenueCat and update the product codes in your app.This solved my issue after migration to the new RevenueCat SDK.
Looking to integrate paywalls in React Native SDK: https://www.revenuecat.com/docs/paywalls#react-native-beta-installation Am I wrong or is the docs missing for react native displaying the paywall using the SDK?
This is on iOS only. I had a version of my app that only had one-time purchases for the “pro” features access. I made some major updates and transitioned to subscriptions, but decided to honor any previous lifetime purchases in the new version, while no longer offering that particular product for future users. In RC I’m achieving this by using the same entitlement but my current offering no longer includes the old product.The problem is that occasionally I see a new transaction in RC dashboard where the customer info shows they made a previous purchase of the old pro product, followed by them making a purchase of the current product and an entry that says a new alias for them was created. My assumption is that the user is either re-installing or maybe using a new device? In my app, ideally I’d like to avoid this by checking if a user has the old product entitlement already, even if they’ve deleted and reinstalled or switched to a different device. I do have a “Restore” button on my pay
I'm new to RevenueCat. I've successfully integrated the SDK for our app's in-app subscription. We have added offers to the subscription, but in the subscription options, we are only seeing the base plan and not the offers. Can you please assist with this?
I am experiencing this error when I initialize products. in flutter using Revenuecat. i don’t know how to resolve it it. W/BillingClient( 4521): getBillingConfig() failed. Response code: 2E/[Purchases] - ERROR( 4521): 🤖‼️ Billing is unavailable. App is in foreground. Won't retry.E/[Purchases] - ERROR( 4521): 🤖‼️ Error getting billing config - DebugMessage: An internal error occurred.. ErrorCode: SERVICE_UNAVAILABLE.2E/[Purchases] - ERROR( 4521): 🤖‼️ PurchasesError(code=StoreProblemError, underlyingErrorMessage=Error getting billing config - DebugMessage: An internal error occurred.. ErrorCode: SERVICE_UNAVAILABLE., message='There was a problem with the store.')E/[Purchases] - ERROR( 4521): 😿‼️ Error fetching offerings - PurchasesError(code=ConfigurationError, underlyingErrorMessage=There are no products registered in the RevenueCat dashboard for your offerings. If you don't want to use the offerings system, you can safely ignore this message. To configure offerings and their pro
In my app I have a button for managing sunscription. When this button is clicked the management url is taken from the customer info object and if the user is on the same platform(ios or android) as the subscription, then the app store or google play is opened. If the user is on ios, and the subscription was purchased on android, then the google play subscriptions page is opened in vebview.The problem is when the user is on android and the subscription was made on ios, the vebiew that opens takes the user to an itunes page where it says download apple music. I have 2 questions:Is there a way for a user to manage his subscription that was purchased from an ios device, on an android device? (the management url does not work) If it is not possible what would be the best way to manage this scenario?
Thanks for developing and operating a great product. Syncing Subscription StatusWebhooks are commonly used to sync a customer's subscription status across multiple systems. Because different webhook events contain unique information, we recommend calling the GET /subscribers REST API endpoint after receiving any webhook. That way, the customer's information is always in the same format and is easily synced to your database. This approach is simpler than writing custom logic to handle each webhook event, and has the added benefit of making your system more robust and scalable. The webhook documentation recommends calling the REST API after receiving a webhook.The reason for this is to avoid having to create custom logic, etc. However, when we want to receive only the common fields of the webhook event and synchronize it with our own DB, we think that the REST API processing is unnecessary. This is because the json data received by the webhook is sufficient. Even if we only plan to use t
Thanks for operating the best product. It has really helped me a lot. Syncing Subscription StatusWebhooks are commonly used to sync a customer's subscription status across multiple systems. Because different webhook events contain unique information, we recommend calling the GET /subscribers REST API endpoint after receiving any webhook. That way, the customer's information is always in the same format and is easily synced to your database. This approach is simpler than writing custom logic to handle each webhook event, and has the added benefit of making your system more robust and scalable. It is recommended to call the REST API after receiving the webhook. If you follow the recommendation and refer to the latest REST API v2 documentation, the `GET/subscribers` entry is not present. The v1 documentation had a `GET/subscribers` entry. Does this mean that v2 cannot retrieve customer information based on user ID? If I want to get customer information based on user ID, do I have to use v
Hi everyone,I am integrating Paywall in an iOS app. Looking for suggestions/recommendations. My use case is that I want to show users of the app a paywall and then create and update related records in my backend database throughout the subscription lifecycle. I want to do this so that I can check subscription/consumption status from the database when API calls are made to the backend. Below are my questions: How do I create these records in my backend service? This (very detailed and awesome blog) https://www.revenuecat.com/blog/engineering/ios-in-app-subscription-tutorial-with-storekit-2-and-swift/ gives an example of making an API call to the backend on successful purchase. Is there a way to do something like this when using Paywall? I am thinking to create the first subscription record this way and then manage updates by exposing a webhook Are webhooks reliable and real-time? Is there any recommendation to use them (or not) as compared to forwarding apple’s server notifications from
My paywall has three options:1. Weekly subscription, auto renew2. Monthly subscription, auto renew3. 24 hour “battlepass” (pro features for only 24 hours), one time consumableIn Apple and Google I’ve modeled the battlepass as in app consumables because there is no way to create a 1 day non-renewing subscription (iirc Apple just didn’t provide that as an option).So, my question is, what is the cleanest way to implement this? Right now I’m planning on just having a second “battlepass” entitlement. Then, clientside, I check if the user has the entitlement, and, if so, how much time has elapsed since the purchase time.
Hello, I was wondering if RevenueCat has the Paywall feature’s React Native SDK? I couldn’t see it on the documentation.
I'm using the latest purchases_flutter: ^6.5.0. All setup is done for Android, Apple consoles, and RevenueCat console, and the testing account is properly configured. Subscription purchase works correctly on iOS, but on Android, it displays the following error: PlatformException(5, The product is not available for purchase., {code: 5, message: The product is not available for purchase., readableErrorCode: ProductNotAvailableForPurchaseError, readable_error_code: ProductNotAvailableForPurchaseError, underlyingErrorMessage: Error updating purchases. DebugMessage: . ErrorCode: ITEM_UNAVAILABLE., userCancelled: false}, null) I have tried the following methods, but they all result in the same error:var customerInfo = await Purchases.purchasePackage(package!); var customerInfo = await Purchases.purchaseStoreProduct(package!.storeProduct); var customerInfo = await Purchases.purchaseProduct("tv_basic_annual"); There are other threads where the same issue is reported, but the solutions are fo
I’m following the RC docs for Stripe. I had one questions. After calling the RC POST receipt endpoint, will RC fire a webhook to my server with the subscription and or trial start event?
I don’t know if paywalls do not work in objective-c or if I’m doing something wrong. Well it currently doesn’t work that way and crashes on initialisation:RCPaywallViewController *paywallController = [[RCPaywallViewController alloc] init];[self presentViewController:paywallController animated:YES completion:nil];
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.