Get help with your SDK implementation.
Recently active
We have a Node server that uses axios to communicate with revenuecat’s REST api. We are hitting the ‘Get or Create Subscriber’ endpoint, using our private key, and no X-Platform header from within our server. For exampleOur Express Server has an endpoint ‘/billing’When a user hit this endpoint, our server hits revenuecat’s https://api.revenuecat.com/v1/subscribers/app_user_id endpoint to get the user’s info and returns it. Everything works great when /billing endpoint is hit from Postman. When /billing is hit from mobile, we get a 429 too many requests error. We can log the request right before axios sends it with axios interceptors, and the requests from postman and mobile are the exact same. There is only one request being created, so the 429 error makes no sense. Everything about the request is exactly the same as our server is the one performing the request, it is just initiated through our REST endpoint from mobile instead of Postman, which axios and revenue cat should have no ide
I’ve implemented moving from paid → subscription in one of my apps and I’m not seeing the version numbers I would expect in PurchaserInfo. Here are 3 examples from Production users: "original_application_version": "1", "original_purchase_date": "2021-03-01T03:46:37Z",Version 1 of this app was never released, this should be version 2. "original_application_version": "4", "original_purchase_date": "2021-10-25T12:46:48Z",Version 4 of this app went live on 1st Feb 2022, this should also be version 2. "original_application_version": "2", "original_purchase_date": "2022-02-02T04:56:03Z",Version 2 ran from 20th Oct 2020 to 26th Jan 2022, this should be version 4.This is currently causing me to grant free access to users that shouldn’t have it and not grant free access to users that should!!Should I just be using originalPurchaseDate?
We have an app that requires the users to login before making a purchase.We’re observing (in our sandbox testing) that occasionally a users subscription gets transferred from one of our users id’s to an anonymous id. What's quite frustrating is this is happening very infrequently and we haven’t been able to recreate it predictably.Here is an example event (id: 0a5fc80d-ca5a-451a-8a31-cb16b95a3a92){ "event_timestamp_ms": 1643816650712, "store": "APP_STORE", "transferred_from": [ "ce3873cc-10a7-46d0-9463-43364f6b2cb8", "$RCAnonymousID:6a5e992f89a44858b2a8effa6996f257" ], "transferred_to": [ "$RCAnonymousID:a0490b63949a4b6e99a3bf372b3da781" ]} Our touch points with the React Native SDK are rather light:We have an useEffect() that calls Purchases.setup(key) with our keys in our main App.tsx as per the examples. When a user logs into our app we call Purchases.logIn(user.id) using the response to set our initial local subscription state. To keep things up to date we call Purch
Hello, in the iOS SDK theres information about the renewal of entitlement, but not in the REST API. Is there a reason for this? we are validating the subscription on backend and need full information to also serve back subscription information to the user. Also how can I detect user chose to downgrade to lower subscription in the same group on next renewal? Thanks
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
Hey everyone! We just switched from Unity’s native IAP to RevenueCat for all kind of IAP/subscription operations. We completely deleted Unity IAP from the project and installed RevenueCat as stated in the document. Although everything looks perfectly fine, we get this error while trying to upload the archived bundle to App Store Connect: ERROR ITMS-90206: "Invalid Bundle. The bundle at 'APPNAME.app/Frameworks/UnityFramework.framework' contains disallowed file 'Frameworks'."This issue has started to occur right after the Revenue Cat integration. Additional Info:Unity 2020.3.25f1 xCode 12.5.1 Cocoapods 1.11.2 (latest) EDM4U 1.2.169 (latest)Thanks in advance!
I set up everything as in documentation, waited for 5 days, removed extra spaces from JSON credentials, and still getting that error “Invalid Play Store credentials“ after making a purchaseWhat should you recommend I do next?
Hello, I hope all is well. I’ve implemented checkTrialOrIntroductoryPriceEligibility in my iOS app to be called whenever the annual product is successfuly retreived and we’re about to show the user the prices. When testing with Xcode, everything runs smoothly, but in TestFlight a sign-in to your Apple ID prompt will appear everytime it’s called. This prompt is not shown when you download the same build from the App Store, only when it’s downloaded from TestFlight. This has been happening since I’ve added the code in mid-December, but now I would like to add test users to TestFlight and do not want to show this prompt everytime. I’ve seen that there’s been other posts about this, with only one of them having a workaround. I was wondering/hoping if there has been any new developments on this or anything else that we should try? Using CocoaPods and Purchases 3.13.2. Any advice is greatly appreciated. Thank you in advance!
I'm not seeing my offerings show up when I try to fetch offerings through the RC Amazon SDK.The SDK is configured using AmazonConfiguration.Builder I've enabled the products in the Amazon Developer Console I've setup the Amazon Live App Testing I've added products to RevenueCat and add it to my Offering and Entitlement I've followed everything on this postEvery time I open the paywall I get: DEBUG: ℹ️ No cached Offerings, fetching from network. No errors, but no Offerings showing up either when querrying through Purchases.getSharedInstance().getOfferingsApp works fine in regular Google Play mode.Would it be possible to get step-by-step instructions on how to actually setup the Amazon SDK?
Last month I installed RevenueCat via Swift Packages in one of my SwiftUI apps and everything was working great until today when I tried to install a new package (Firebase) and I ran into issues installing it. I’m not 100% but I think my issue with RevenueCat started when I accidentally clicked on the `Update to Latest Package Versions` in Xcode. After that I started seeing a message that said something like…Dependencies could not be resolved because no versions of 'purchases-ios' match the requirement 4.0.0..<5.0.0 and root depends on 'purchases-ios' 4.0.0..<5.0.0. Then I removed the RevenueCat package and reinstalled the version suggested in the documentation (3.12.6 < 5.0.0, I actually used 3.12.6 < 4.0.0 since I could’t change it to < 5.0.0), after this new version I started getting errors within my code, for instance I’m getting the following error message… import RevenueCat Purchases.shared.restoreTransactions { (purchaserInfo, error) in // code here
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
Hi, I have a problem with restore transition on my MacOS simulator. A fave steeps to reproduce this issue:Buy a subscription on my iOS app in simulator Open my app’s MacOS version with the same iCloud account (debug mode) Try to restore transaction in my MacOS app and receive an error (Unexpected backend error when posting receipt)I am able to buy a subscription in my MacOS app, but can not restore it as well. Any suggestions?I use SDK release/4.0.0-rc.1
Hi running into this error when using the Refund and revoke a Google Subscriptionhttps://api.revenuecat.com/v1/subscribers/{app_user_id}/subscriptions/{product_identifier}/revokeI’m getting a Response code of 400 with this body { "code": 7227, "message": "Content-Type not application/json"}I can confirm that the transaction did go through here’s the sandbox log Now here’s my requestNote: I’ve removed the token for security purposes Hope someone can help!!
I have some promotional subscriptions with introductoryPriceAmountMicros (for example: $9.99 first 12 months, then $19.99) and I have to show permanently what subscription has the current user and at what price was purchased (for example: Premium - $9.99). But after the purchase is made, introductoryPriceAmountMicros from SkuDetails is zero, and then my text will be “Premium - $0.00” which is wrong because the user did not purchase the subscription for $0.00. So, my questions are: what is happening with introductoryPriceAmountMicros after purchase? Where is the data lost? Is there another way in RevenueCat to get this information?
When a user tries to purchase a subscription on my app, Amazon acknowledges a successful payment in the form of dialog box. Upon closing the dialog box, loader continues and app gets stuck.RevenueCat SDK throws the following error:PurchasesError(code=OperationAlreadyInProgressError, underlyingErrorMessage=null, message='The operation is already in progress.')Kindly look into this.Thanks,
Hi,I’m trying to include RevenueCat plugin as an observer to our subscriptions code that uses flutter in_app_purchases flutter plugin v 2.0.1. But our code is failing because the difference in undelying BillingLibrary SDK versions of the plugins. I’m having a hard time finding a version of the RevenueCat plugin that uses the same or compatible version of Android’s BillingLibrary SDK version, can someone help me with that?Thank you,Luka
Hi there, I am newbie about RevenueCat. I want to request my issue. I added two products in one entitlement. And then, I made purchase both these two products using sandbox testing. In returned purchaserInfo object, one product identifier of this entitlement does not included in entitlements object. But, this product identifier included in Active Subscriptions parameter. In addition, the transaction for this product does not included in non-Subscription Transactions objects. But, I can see the transactions of this product on dashboard.So, does an entitlement show just only one product in purchaserInfo object? And, Does I need to separate another entitlement for the product that did not included in entitlements parameter.Please help me out! Thanks.
I am based in the U.S. and recently a beta tester in Canada reported that he was seeing U.S. prices for IAP, but during checkout he saw completely different (probably Canadian) prices. For example, the US price was $24.99; during checkout he saw $34.99.For IAP price strings, we use `Purchases.Package.localizedPriceString`.Is it possible to test price localization? I tried changing region in Xcode run scheme; had no effect.I had assumed `localizedPriceString` would just work, but perhaps I need to set the locale myself?Is this a glitch associated with TestFlight?
I’m making the transition from one-time purchase app to free with in-app purchase for my app currently on Mac app store/iOS app store.I’m trying to grandfather all users who bought the app before into premium of the app by using originalApplicationVersion the SDK provides in purchaserInfo. Whoever bough the app before the transition will have the originalApplicationVersion be lower than the to-be-released version of the free with IAP app.However, there are quite a number of users who bought the app before but then requested refund.Can I know whether a user had requested and received refund before using RevenueCat SDK?Thanks for helping 🙏
please someone help me? how to get latest receipt info in webhook after verification done by revenuecat?
Your documentation says we can access Expiration Date using EntitlementInfo but no code is given in how to call this object in React Native and I am having trouble to get this information.-> https://docs.revenuecat.com/docs/purchaserinfo#section-get-entitlement-information
Hi,I have multiple entitlements in my app and I want to group the products under respective entitlement on my paywall. I am able to get only purchased entitlements from `getPurchaserInfo` . Is their a way to get the "Associated Entitlements" for all products (both purchased and not purchased)? Thank you
I’m developing an application that should run both on platforms (iOS and Android) and web.So far I have been able to implement the platform part of logic, being able to retrieve products and packages therefore displaying the items on a crafted layout and it calls to purchase correctly.Now I want to do it on the web/stripe side and I can’t find any information on how to retireve the products for web from RevenueCat.I’m trying with a code like ths but without any success on the webawait Purchases.setDebugLogsEnabled(true); if (GetPlatform.isAndroid) { await Purchases.setup(Environment.publicAndroidRCSDKKey, appUserId: boxStorage.read('userId')); } else if (GetPlatform.isIOS) { await Purchases.setup(Environment.publiciOsRCSDKKey, appUserId: boxStorage.read('userId')); } else if (GetPlatform.isWeb) { await Purchases.setup(Environment.publicStripeRCSDKKey); } try { Offerings offerings = await Purchases.getOfferings();
Execution of Purchases.purchase(package) returns error bellow.( 5034): type '_InternalLinkedHashMap<Object?, Object?>' is not a subtype of type 'Map<String, dynamic>'It happens inside the purchases_flutter package.package version purchases_flutter: ^3.9.1.
Testing my monthly (silver) subscription in a sandbox environment using Flutter. When I try to subscribe (using a test card) on the Google Play store, I get the selected entitlement and the status of isActive as true. Everything works as expected.However, when the subscription auto-renews, post that I see the entitlement info but the isActive flag becomes false. When I try to purchase the subscription again from the store, I get a message that the subscription is already active.Here is the dump of the purchaseInfo object:{entitlements: EntitlementInfos{all: {silver: EntitlementInfo{identifier: silver, isActive: false, willRenew: true, periodType: PeriodType.normal, latestPurchaseDate: 2022-01-18T22:46:29.000Z, originalPurchaseDate: 2022-01-18T22:46:29.000Z, expirationDate: 2022-01-18T22:53:25.000Z, store: Store.playStore, productIdentifier: silver_monthly, isSandbox: true, unsubscribeDetectedAt: null, billingIssueDetectedAt: null}}, active: {}}, latestExpirationDate: 2022-01-18T22:53:2
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.