Get help with your SDK implementation.
Recently active
I’m not seeing a way to do this, but I just wanted to be sure. Is it possible to attach custom data to a purchase? I am looking for a way for my users to leave feedback with donation purchases. Thanks!
Hi Team/Community,I have a issue at the moment where a user can not make a purchase on the Apple App Store in BOTH Production and Testing, which rules out Sandbox accounts etc (have also dived down said route). The same code is working perfectly for Android. Things I have explored/tried:Deleting and creating sandbox accounts for Apple. Checked I have no outstanding agreements with Apple. Made sure in-app purchases in enabled. Tried configuring the purchases_flutter package with both legacy and new api key. I am sure a ton more, that I don’t remember.The error looks as follows:flutter: \^[[38;5;12m│ 💡 now trying to purchase<…>[Purchases] - DEBUG: ℹ️ Vending Offerings from cache[Purchases] - DEBUG: ℹ️ makePurchase[Purchases] - DEBUG: 💰 Purchasing product from package - finMonitor_1500_1y_1w0 in Offering App Access[Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: finMonitor_1500_1y_1w0 (null) ((null)) (null) - 0<SKPaymentQueue: 0x2824dfa00>: Payment completed with e
Please, do not underestimate information in this post:Especially, point number 2. I spent three or more hours trying to catch the error in the Cloud/Play Consoles to finally realize that - for a very strange reason :) - I hadn’t had configured my Google Play package….
I’m getting a successful “response” from the native iOS purchase dialog (it gives me the check and the happy ding sound) but RevenueCat fails. Unfortunately, the failure also takes like 30 seconds to be responded to so beyond it failing, the failure is a bad UX and it’s not really clear how to handle it. Below are the debug logs. This is in our sandbox environment:[Purchases] - DEBUG: ℹ️ Debug logging enabled[Purchases] - DEBUG: ℹ️ SDK Version - 3.12.6[Purchases] - DEBUG: 👤 Initial App User ID - (null)[Purchases] - DEBUG: 👤 Identifying App User ID: $RCAnonymousID:aa5680df790640a0823e5cd15d8d05ed[Purchases] - DEBUG: ℹ️ Delegate set[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request GET /subscribers/$RCAnonymousID0X0P+0aa5680df790640a0823e5cd15d8d05ed[Purchases] - DEBUG: ℹ️ API request started: GET /v1/subscribers/$RCAnonymousID:aa5680df790640a0823e5cd15d8d05ed[Purchases] - DEBUG: ℹ️ There's a request currently running and 0 requests left in the queue, que
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 am getting this error Cannot access 'configure': it is internal in 'Companion' with the line below. import com.revenuecat.purchases.*Purchases.configure(PurchasesConfiguration.Builder(this, "public_google_sdk_key").build())
iPadOS 15 running app from Xcode fails to return any products. Restore Purchases also fails to return.Rebooting iPad allows it to work first time only.This issue is specifically relating to auto-renewing subscriptions.Built using Xcode Version 13.0 (13A233)No issue with same code on iOS 14.Success and failure logs follow.Success:2021-09-24 16:17:50.773181+0800 ZeroTime[345:4478] [Purchases] - DEBUG: ℹ️ Debug logging enabled2021-09-24 16:17:50.773293+0800 ZeroTime[345:4478] [Purchases] - DEBUG: ℹ️ SDK Version - 3.12.42021-09-24 16:17:50.773336+0800 ZeroTime[345:4478] [Purchases] - DEBUG: 👤 Initial App User ID - (null)2021-09-24 16:17:50.777445+0800 ZeroTime[345:4478] [Purchases] - DEBUG: ℹ️ Sending latest PurchaserInfo to delegate.2021-09-24 16:17:50.778858+0800 ZeroTime[345:4478] didReceiveUpdatedPurchaserInfo: <PurchaserInfo originalApplicationVersion: (null), latestExpirationDate: (null) activeEntitlements: {}, activeSubscriptions: {}, nonConsumablePurchases: {()}, requestDate: 2
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
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!
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
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?
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?
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!
Hello all,we have observed that some of our users that try to buy our product are ending up with the following error:Error updating purchases. DebugMessage: . ErrorCode: 6From what I have seen in Android’s SDK, this points to Play Billing’s API internal error.Are there any way to mitigate this? We have a suspicion that this greatly reduces our conversions rate compared to other means of in-app payments. (source of the error message: https://github.com/RevenueCat/purchases-android/blob/f7fac296913c531dc132b243f17ba0d05922c07b/feature/google/src/main/java/com/revenuecat/purchases/google/BillingWrapper.kt#L523)
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’m trying out RevenueCat on my Ionic/Vue app. I see there are installation docs for Angular and React but not for Vue. Has anyone went through the install/configure process for Ionic and Vue? Or are there additional docs or blogs out there that could assist? Thanks.
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!!
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.
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
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 have launched a react native app recently that has a free trial period for both yearly and monthly subscription. I’d like to add a special offer limited in time for new subscriber that would make use of introductory prices.The user journey would be as follow:14 days free trial then 6 months $7/month then regular price of $14/monthI have been using the free trial without issue unntil I wanted to implement the introductory price on top of it. The issue is that the getOfferings function does not seems to provide both information, it only returns me the intro price object with a price of 0 Is there a way to get the full details for the configured pricing including free trial then introductory price? Or am I getting it wrong?
Hello , I want display the FreeTrial Period on the wall Product. I See the property on json , but in javascript interface no property ?Best Regards
Hi there,I am using Offer Codes on iOS App Store.So I am using Purchases.shared.presentCodeRedemptionSheet() to trigger redeem coupon view. How can I handle the purchase and execute some code after purchase is done? Normally I can handle it inside Purchases.shared.purchasePackage(package) { _, purchaserInfo, _, _ inBut I want to know how to handle that case when using presentCodeRedemptionSheet
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();
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.