Get help with your SDK implementation.
Recently active
When using revenue cat on flutter, I am getting the billing unavailable error at times and cannot access any subscription info about the user, Mostly occurs when device starts offline, then later refreshed with internet connection, navigating to the page that checks subscription then gives billing unavailable error
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, I have successfully running RevenueCat in-app subscriptions and now integrating another subscription method - Stripe Web Payments. I have created Products in Stripe and have created Products in RevenueCat using product ID from Stripe as product key in RevenueCat. I also have tried to create RevenueCat products using price id from Stripe. After I make a purchase in Stripe, I want to validate receipt so purchase appears in RevenueCat by making a POST request to API:curl --location --request POST 'https://api.revenuecat.com/v1/receipts' \--header 'X-Platform: Stripe' \--header 'Authorization: Bearer *** MY_STRIPE_KEY ***' \--header 'Content-Type: application/json' \--data-raw '{"app_user_id": "iLxQ2wdl26","fetch_token": "sub_1KRgPlGOGvcC5HQI5pE"}'But no matter of the configuration, I get this in response:{"code": 7103,"message": "The receipt is not valid."} Maybe anyone has any tips that I might be missing? Cheers,Daniels
Hi , My Android app suddenly became returning an empty string on getDescription() . no code change on my app. however thegetProduct still return the products info.
Hi, I have setup StoreKit on my React Native app so that I can test out making purchases for a `auto renew subscription` on a simulator. However when trying to purchase a subscription using `await Purchases.purchasePackage(product)` its was failing with the `UKNOWN ERROR`. I manage to get it working by removing the login call (i.e. await Purchases.logIn(userId)) which I was doing when a user logged into my app. However this is not an ideal solution as I want to correctly identify the user by logging them into RevenueCat. Is this an issue with StoreKit and RevenueCat? Or am I doing something wrong? Cheers,Walter
Hey,We are reaching you because we have some questions concerning the switch between alias id and transfer purchase.Today we use the alias behavior, but we would like to have one user id = 1 subscription, so we should migrate to the transfer purchase behavior.What will happen for users who share a subscription with multiple ids (aliased)?Also, we would like to know if it's possible to detect the email linked to a subscription before he restores his purchase? If the purchase is already linked to an email, we would like to prevent our users to restore their purchase.Thanks a lot!
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….
Hi - I’m new to RevenueCat, and currently looking at use it to replace a direct BillingClient implementation for an Android app. For the app in question we offer two in-app-purchases - both are lifetime (i.e. non-consumable).From what I can see after integrating the SDK, it appears to be attempting to consume the purchase. Indeed looking at the SDK code on GitHub, it appears to attempt to consume any INAPP product’s, and only acknowledges SUBS.So - am I doing/understanding something wrong here? Can I support non-consumable INAPP purchases on Android using RevenueCat?
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())
We did RevenueCat Flutter SDK setup to start selling IAPs in our hybrid application, but we're having a lot of problems when testing the purchases in the iOS Simulators. We already read the discussions across this STORE_PROBLEM issue #1, #2, and many others, but we are trying to debug it deeper because we strongly believe that a misleading configuration exists, but we can't say if it's with RevenueCat Flutter's SDK or with Flutter itself. We found out that the error disappear when running the Flutter iOS app (ios/Runner.xcworkspace) directly through XCode, not through `flutter run ….` CLI. After the build is made through XCode, further builds made using `flutter run ...` work as expected. It seems that when trying to run using `flutter run` first, some files are not being copied or configuration is not being correctly made, which causes this `STORE_PROBLEM` error to happen. We couldn't find this difference between XCode and Flutter builds, but we're still investigating what can be pos
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
Hi,import com.revenuecat.purchases.Entitlement throws Unresolved reference: Entitlement error in my Android app. The other imports are accepted.import com.android.billingclient.api.SkuDetailsimport com.revenuecat.purchases.Entitlementimport com.revenuecat.purchases.Offeringimport com.revenuecat.purchases.PurchaserInfoimport com.revenuecat.purchases.PurchasesAny suggestions?RegardsPeter
When a user tries to restore a purchase, it fails with a message in console:[Purchases] - WARN: ⚠️ /<project_path>/Pods/PurchasesCoreSwift/PurchasesCoreSwift/LocalReceiptParsing/ReceiptParser.swift-receiptHasTransactions(receiptData:): Could not parse receipt, conservatively returning trueI tried to debug this issue and found that it fails at InAppPurchaseBuilder.swift:87 because isInIntroOfferPeriod is nil. I didn’t do any changes related to purchases recently. Is it something changed on a server side? Purchases (3.14.0)PurchasesCoreSwift (= 3.14.0)
I am using revenuecat in my product.Currently, I already setup the “Offerings” as “Lifetime”.My expectation is that if I call method: Purchases.purchasePackage(package) multiple times, then there is only one time purchase.But, each time I call above method, I still can buy a new IAP.What should I do to prevent that ?Currently, I have to try to “restore purchase” and check, if restore failed => buy new purchase.
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
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.