Get help with your SDK implementation.
Recently active
I found this annoyingly difficult so I made a free gist… so you don’t have to be annoyed. Use at your own risk etc etc...https://gist.github.com/JavascriptMick/233358b6a00d6d733ed9a630db587c2d Using https://github.com/openapi-ts/openapi-typescript to talk to the RevenueCat Rest API in a typesafe wayHow I created the schema file download the OpenAPI Schema from https://www.revenuecat.com/docs/redocusaurus/plugin-redoc-0.yaml run the followingnpx openapi-typescript plugin-redoc-0.yaml -o ./revenuecat-api-v2.d.tsdependencies "openapi-fetch": "^0.13.4", "vitest": "^1.3.1"
Hi! I am setting up the new paywall for an android app, and I like how it goes so far, however one thing throws me off - Revenue Cat automatically shows AlertDialogs not styled accordingly and with non user-friendly error messages. I would want to be able to show completely custom dialogs for each needed usecase with my own styling and wording. (The one you see on the attached screenshot is for example when the internet connection is turned off).The listener provided to paywall is not invoked in any of the callbacks. i.e. onPurchaseError is not called etc. I would want to either pass custom dialogs to the paywall or just handle all these cases via callbacks myself.please let me know if it’s possible and i’m missing smth.Additionally as you can see on a screenshot I am using a custom overlay for the back button and “Redeem code” button. And I would want to disable these when there’s an operation in progress. However I don’t believe that the paywallexposes such isInProgress and isLoading
I want to display the amount based on the Product information obtained from Offerings. However, when I check it on the actual iOS device, "Price String" is displayed as "XXX 120.0" etc., and the currency part is not displayed well. Andorid's device will display "¥ 120" without any problem.AppStoreConnect information is set at ¥120 as shown in the screenshot.
Preface: Not sure if this is from the recent corrupt index issue. I’m running into an issue where when testing in testflight sandbox, when I go an purchase an in app subscription it says that I already have a subscription when I I don’t.The account/phone i’m testing with did have previous subscriptions of the same plan on both prod and test flight however, they are both expired, and previous testing, I would get a prompt to repurchase again. Would love some insight on this, and love to provide more information if needed. Thanks!
I'm stuck with this issue for 2days without any luck in solving it…## Environment- React Native (Expo)- iOS/App Store Connect- Development environment- Real-device “iPhone”## IssueGetting configuration error when fetching offerings:“There is an issue with your configuration. Check the underlying error for more details. There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect” What additional configuration steps might I be missing? Looking for a checklist to verify my setup.please check the attachments
I’m currently using Unity's IAP package for my in-app purchase system, but I’d like to use RevenueCat in Observer Mode.In the documentation, I found the following example: // Observer mode can be configured through the Unity Editor. // If you'd like to do it programmatically instead, // make sure to check "Use runtime setup" in the Unity Editor, and then: Purchases.PurchasesConfiguration.Builder builder = Purchases.PurchasesConfiguration.Builder.Init(<api_key>); Purchases.PurchasesConfiguration purchasesConfiguration = builder.SetUserDefaultsSuiteName("user_default") .SetObserverMode(true) .SetAppUserId(appUserId) .Build(); purchases.Configure(purchasesConfiguration); However, the method SetObserverMode(true) doesn't seem to exist, and I get an error saying the method is not found.Am I missing something? Is this method removed or replaced? And is this all I need to do to enable Observer Mode programmatically, or is there additional configuration required?Thanks in advance!
I have tried both “getOfferings” and “getProducts([“<productId>”])”. All i get are the consumable items, i can’t get my auto renewable subscriptions in the application code, even though i can see them in the revenue cat dashboard.P.S: currently my app is only setup for ios, i am testing on iOS 17.5 simulator.
I have 4 apps in production from the same source of code. they are different only in JSON files used as sources.two of the apps fails with the same error (BOTH production!!! and sandbox)failing apps is for BY (Belarus) and RU (Russia) regionstwo others works fine:they are for KZ (Kazakhstan) and UK (the Ukraine) regions.Is it some kind of sanctions from Revenue cat? this is so critical because people loosing money and customersUnhandled error happened: Error Domain=RevenueCat.ErrorCode Code=2 "There was a problem with the App Store." UserInfo={NSLocalizedDescription=There was a problem with the App Store., NSUnderlyingError=0x301b43060 {Error Domain=StoreKit.StoreKitError Code=2 "Не удается выполнить запрос"}, readable_error_code=STORE_PROBLEM, source_file=RevenueCat/StoreKitError+Extensions.swift:43, source_function=asPurchasesError}but the most crazies moment here is that the same builds works fine on other devices:it fails on my iPhone 13 Pro with 18.2.1 but it works on my iPad Pro
Hi,I have configured revenuecat in react native. I am able to call getCustomerInfo. But when I call const offerings = await Purchases.getOfferings(); it returns nothing. No error or no response at all.I have created products and offerings as well.Can someone help. thank you :)const offerings = await Purchases.getOfferings();
I followed the official tutorial for my app, however its been more than 36 hours and I can’t get past the Credentials need attention Permissions to call subscriptions API (working) Could not validate inappproducts API permissions (Not working) Could not validate monetization API permissions (Not working) I am not sure where do I check and what should I do next. ? Where can I follow up on this. ?
Hello, I am encountering an issue while setting up RevenueCat for my Expo app. I am stuck at step 5 of the process, which is “Make a Test Purchase.” I am using a physical iPhone 12 running iOS 18 for the test and have followed the documentation to test with a sandbox account. However, despite my efforts, the Apple ID for the sandbox account never appears in the relevant section. I’ve carefully followed all the steps in the documentation but still can’t make any progress. I’m feeling a bit lost at this point and unsure of what to try next. Could you please provide any advice or solutions to help me resolve this issue? Looking forward to your helpful response,Thank you in advance for your assistance!
I do use Expo but when I try to initialize revenue cat SDK, I got ‘LOG {"error": [TypeError: Cannot read property 'setupPurchases' of null]}’ error.my code just like that; await Purchases.configure({ apiKey: 'x' })I’m using andorid, in real device and emulator.
Hi, When I’m trying to build the project I’m getting this error, Tried to see if I can change it to @import to #import, but these are written in swift, so it won’t work, Almost tried every possible solution available on internet to solve this but no luck, Please help me with this.
Taken from this SO postFrom the docsIn certain cases, iOS may prewarm your app - this essentially means your app will be launched silently in the background to improve app launch times for your users.If you are not using RevenueCat's anonymous IDs as described above, and are instead providing your own app user ID on configuration, do not call configure in application:didFinishLaunchingWithOptions:. Instead, call the configure method in your root view controller's initialization method.I am struggling to understand the implication of this for a flutter app. Is it alright if we initialize Purchases from the main method before runApp is executed or do we have to do it in the initialization method of the application.So would it work if we do something likeFuture<void> main() async { await Purchases.configure() runApp(MyApp(...)) }Or do we have to do this in MyApp initializer likeclass MyApp extends StatefulWidget { const MyApp({super.key}); @override State<MyApp> createS
Our testflight apps and local dev app works just fine. The android version of the app works without any issues. Apple approved the app but not the subscriptions yet and now our app bricks on production but works just fine on test flight. The app gets stuck at a white screen on load. What more information could I provide to help with troubleshooting?It appears the app bricks when Purchase.setup() fails, but I don’t know the exact reason for the error when I cannot get it to reproduce locally.
I have created a Paywall using the template editor, but when I have it display the introductory offer, it says it is “14 days” even though my actual introductory offer at the App Store is six months.It is displaying the monthly subscription price correctly ($4.99), so RevenueCat seems to be communicating with the app store, but it’s getting the introductory offer details wrong. I could just hard code the value, but there appears to be a deeper issue here. Can someone please advise? Screenshot of the template editor below showing the display of the incorrect value.
Hi. I use FlutterFlow for developing the app. I have a custom paywall. As I understand, prices get from Apple/Google Store. Why some prices has icons, but some texts, especially on local language? Is this managed by stores or by RC? USDUAHFF says its not on their side.Thanks!
I’m building frontend logic to either:Show eligible users an offer with a 3-day free trial (a promotional offer) Show ineligible users a paywall without the trial offer.I know that checkTrialOrIntroDiscountEligibility exists for ios. But there isn’t a similar function for android devices. So I’m trying to build a workaround with allPurchasedProductIdentifiers in the CustomerInfo object. My question: I’m wondering if free trials and introductory offers are added to the allPurchasedProductIdentifiers array when the trial starts. If so, then I can simply check to see if the length of allPurchasedProductIdentifiers to determine which offer to display. If not, are free trials and introductory offers recorded somewhere else that I can check on android?
Hi,I am working on an app that doesn’t have user account management and is already integrated with RevenueCat for some existing features. We’re introducing a new feature where users can purchase digital stickers.There are thousands of sticker packs, and new ones are added regularly. Therefore, creating individual products for each sticker pack isn’t practical. Instead, we’ve categorized the stickers into pricing tiers: for example, product_sticker_tier_1 and product_sticker_tier_2, which are set up as consumables on Google Play and the App Store. Each sticker is associated with a unique ID, such as:sticker_a: associated with sticker_tier_1 sticker_b: associated with sticker_tier_1 sticker_c: associated with sticker_tier_2When a sticker is purchased, the app must send an API request to our backend to deliver the sticker to the user. However, I need to ensure that the server can validate whether a user (identified only by an anonymous ID) has purchased the corresponding sticker before al
purchases_flutter: ^8.3.2purchases_ui_flutter: ^8.3.2 When I configure RevenueCat using PurchaseConfiguration(“key"), the application’s back button handling is overridden and stops working. When I press the device back button from navigation or even use the back gesture, I get the following log in the console. D/RevenueCatUI(21343): Paywalls: Close paywall initiated
Hi everyone,I am encountering an issue (which I should have tackled a long time ago) with a limited number of users. In my apps, I usually set the RevenueCat App User ID to the Firebase notification token that is received from Firebase. I noticed a few users having their subscription expired on a User ID, only for it to be transferred over to a different User ID, only to then be transferred back to the old User ID (so it would expire on the new user ID), and the cycle keeps on going. These are users with more than one device, who are buying on one device, and restoring on a second device.According to https://www.revenuecat.com/docs/getting-started/restoring-purchases,“For example, if UserA buys a subscription, then UserB logs into your app on the same device and restores transactions, UserB would now have access to the subscription and it would be revoked from UserA.”This explains the behaviour I am seeing, but I found it to be unexpected, since I would expect the subscription to be l
Hello everybody,After the incident of a few days ago where RevenueCat was not accessible in China, we have deployed the recommended fix as quickly as possible, however it doesn’t seem to be working.We keep receiving messages from users that they cannot access paid features nor see the paywall because of a “network error”. Our error reporting tool logs error related to the SSL verification:Error Domain=RevenueCat.ErrorCode Code=10 "A network error has occurred. 请求超时。" UserInfo={source_function=init(_:dnsChecker:), NSLocalizedDescription=A network error has occurred. 请求超时。, NSUnderlyingError=0x300e8b120 {Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={_kCFStreamErrorCodeKey=-2103, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <8F169AC4-0EF6-4C8D-85B4-001912B77290>.<1>, _NSURLErrorRelatedURLSessionTaskErrorKey=( "LocalDataTask <8F169AC4-0EF6-4C8D-85B4-001912B77290>.<1>"), NSLocalizedDescription=请求超时。, NSErrorFailingURLStringKey=https://api.re
What is the difference between using a delegate (used in the Magic Weather sample app), vs calling Purchases.shared.getCustomerInfo or Purchases.shared.customerInfo() as shown here? Should you use both at the same time, or only one per project?
Hi team,Is there a way for us to get access to the underlying `appAccountToken` of a transaction?It looks like the SDK always adds it when a StoreKit2 product is purchased, but so far it seems the id is only available in the Purchase method callback, specifically as part of the StoreKit2 transaction itself.it would save us a significant amount of work if `appAccountToken` was available in `CustomerInfo` (in our specific case, for `NonSubscriptionTransactions` if it makes any difference).Thanks in advance!
On test subscription phase, Does RevenueCat send events on first subscription expire and then for renewal? I'm worried because is there any time window between expiration and renewal when user will loose premium access temporarily?I have a subscription plan on Google Play console with auto-renewal on. However, infrequently I see the paywall is prompted on my app (which I’m triggering when isActive is false) and when I try to re-subscribe, it says subscription is already active. I'm suspecting this is due to the expiry (which starts my Paywall fragment) and later renewal event, which restores the subscription.What could be possibly done to avoid this? I also have grace period enabled, though I’m not handling it anywhere in the code to check subscription status. Is this could be a test subscription quirk?
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.