Get help with your SDK implementation.
Recently active
HiI am stuck in fetching the subscription plans in the android native app. i have followed your documentation but still not able to fetch the subscriptions. Kindly help in thisGetting this error message😿‼️ 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 products, follow the instructions in https://rev.cat/how-to-configure-offerings.
I’m somewhat new to this and not a seasoned developer. My app has iOS/Android versions and now a web version. For the web version I’m using the RevenueCat REST API and trying to implement the same functionality as in the mobile versions via the SDK. It seems that while there are similar functionalities between them, but the contents, format, and structure of the response is different. Specifically, I am looking at the following:SDK: Purchases.shared.getCustomerInfoAPI: Get or Create Subscriber (GET v1/subscribers/{app_user_id}) These two items appear to be analogs to get a customer/subscriber. However there is substantially improved information available in the SDK version. For example, the SDK indicates which subscriptions/entitlements are active, whereas in the API I need to manually determine this based on the full list of subscriptions (subscriber.subscriptions.{product_id}.{expires_date}. Has anyone else had the same issue, or am I approaching things incorrectly.
Hey all,I’m getting the notice by Google to update my billing library or else.I saw v5.0 of the flutter library was published and just did a quick test by changing the version of purchases_flutter to 5.0.0 on pubspec.yaml and see what happened, and to no one’s surprise, the code didn’t compile. I’m pretty noob with RevenueCat so I don’t really know where to start with this and the migration guide doesn’t help me.Anyone has any tips on what to look for on my code that needs to be updated so that whatever works on v4 keeps working on v5 of purchases_flutter? Thanks a lot
Hey everyone I’m running into an error after updating my purchases_flutter to 5.0.0 - heres what happens when I run “flutter run -v” [ +96 ms] FAILURE: Build failed with an exception.[ +1 ms] * What went wrong:[ ] Execution failed for task ':purchases_flutter:processDebugManifest'.[ ] > Failed to calculate the value of task ':purchases_flutter:processDebugManifest' property 'packageOverride'.[ ] > Failed to query the value of property 'applicationId'.[ ] > Package Name not found in /Users/<placeholder_folder_name>/.pub-cache/hosted/pub.dev/purchases_flutter-5.0.0/android/src/main/AndroidManifest.xmlDoes anyone have any idea on how I can resolve this? Thanks!
Ive been pretty stuck on this local purchase testing. The documentation says to use `await Purchases.setDebugLogsEnabled(enabled)` but it is deprecated and I switched to` await Purchases.setLogLevel(LogLevel.debug);` however, i could never purchase anything locally. Locally, the products do load but when I go to purchase it says “The item you requested is not available for purchase”Searching for answers, I then uploaded the build to google play store. I can do purchase there, but obviously I cannot debug if it’s in google test. I watched some youtube videos, the guy shows that he can purchase on emulators. I am unable to do that.
I’m trying to integrate in-app purchases into my React Native app. Everything is configured correctly on RevenueCat and the app stores, and I’m able to fetch and display my offerings using `Purchases.getOfferings()`. However, when I try to execute `Purchases.purchasePackage()`, I encounter the following error:“Parameter specified as non-null is null: method com.revenuecat.purchases.hybridcommon.CommonKt.purchasePackage, parameter packageIdentifier”A similar error occurs when I try to execute `Purchases.purchaseStoreProduct()`. The error suggests that I’m passing `null` as a parameter, but I’m definitely passing the correct identifier as a string.Thanks in advance to anyone who can help me resolve this :)
Hello, I have a game with a weekly subscription model. I want to experiment if replacing subscription model with consumables would make an improvement. Currently, customers subscribe to the weekly package and play unlimited number of games until they cancel their subscription. In the new model, each game will cost 1 coin, and my offering will show 1 Coin, 5 Coin and 10 Coin packages to the customers.The main concern I have is the existing customers that has an active subscription. These customers should not included in the experiment as they purchased the package before the experiment but still paying weekly amount. My question is: When does an existing and new customers enter the experiment? Is it when Purchases SDK initialised? Is it when getOffering is called? Somewhere else? Thank you
I switched today from Flutter v4.11.3 to v5.0.0 and I noticed that the introductoryPrice property value changed to null. In my Google Play app, I am logged in with an email that I have not yet used with a subscription so I am assuming that this email/account is eligible for a free trial.I am using my Samsung S22 device in both scenarios and I am running my app in debug mode (I haven’t tested it in production),v5.0.0:final storeProduct = offerings.current?.availablePackages.first.storeProduct;debugPrint('storeProduct: $storeProduct');// console:I/flutter (10661): storeProduct: StoreProduct(identifier: hairapp:monthly-auto-renewing, description: The description from the subscription details in Play console, title: Subscription for Hair App (Hair App), price: 5.99, priceString: €5.99, currencyCode: EUR, introductoryPrice: null, discounts: null, productCategory: ProductCategory.subscription, defaultOption: SubscriptionOption(id: monthly-auto-renewing, storeProductId: hairapp:monthly-auto-r
I have created a mobile app with react native that uses react-native-purchases and when I upload it to the Play Store I get the following warning:We've detected that this app is using an old version of Google Play Billing. From 1 November 2023, all app updates must use Billing Library version 5 or newer.Action required: Please verify that your publicly available APKs are updated to the latest version of the Play Billing Library. This includes any APK or app bundle rolled out in production. Is there any plans on getting the react-native-purchases package working with Google Play’s Billing Library 5.0.0?
Hi, I cant find any relevant documentation to import RevenueCat module in a NodeJS server.I saw some CommonJS syntaxe :const sdk = require('api')('@revenuecat/v4.0#1yz2c0m2sl5v5md8q');but absolutely no ES6 syntaxe, which would look like :import sdk from '@revenueCat/node-sdk' Furthermore, the CommonJS imports are fetching from an hard-coded URL subject to change, as mentioned in some topics. What about it ? Even if any purchase is client-side handled, I need to fetch the customers’ status server-side to return conditional data. I cant find a proper API doc about it. Best regards
We have integrated 2 apps with RC. One configured 1 year ago, the application still takes the usual offerings in China. A new configuration application a month ago, some phones failed to get.When I compare the two apps, the new Android app has a base plan id. (motoprod_video_storage_1_day_monthly:p1m). I don't know if that's the reason why some phones in China can't be received. It's ok in Vietnam and Hong Kong. The full- log 06-13 15:56:11.443 17577 17794 D [Purchases] - DEBUG: API request started: GET /subscribers/323348/offerings06-13 15:56:11.446 17577 17794 D [Purchases] - DEBUG: API request completed with status: GET /subscribers/323348/offerings 20006-13 15:56:11.447 17577 17794 D [Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: motoprod_video_storage_1_day_monthly, motoprod_video_storage_1_day_yearly, motoprod_video_storage_7_day_monthly, motoprod_video_storage_7_day_yearly_v2, motoprod_video_storage_30_day_monthly, motoprod_video_storage_30_day_yea
In new react native 0.71.10 project when I paste <uses-permission android:name="com.android.vending.BILLING" /> in android manifest it’s working In android 12 but in android 13 this error shown. ERROR: This version of the application is not configured for billing through Google Play. check the help center for more information. can you please give a solution
This is the configuration I set for my offering. However, when I print the offerings.current, I only see the first one.The monthly item has a value, but the threeMonth item is null.What could be the issue?Thank you.
When I login apple store A account, subscribe to premium app package. Then I login to apple store B account, and upgrade to PRO package. It will have 2 subscriptions from 2 apple store accounts
I did all configuration but in the terminal i am getting this error “😿‼️ Error fetching offerings - PurchasesError(code=ConfigurationError, underlyingErrorMessage=There's a problem with your configuration. None of the products registered in the RevenueCat dashboard could be fetched from the Play Store.” and also i waited 36 hours but still not getting offering, can anyone help me please i am stuck
When i do request on android phone the payment process complete with success but the catch block of my code is execute with the following error.V/FA (22462): Connecting to remote serviceV/FA (22462): Connection attempt already in progressD/FA (22462): Connected to remote serviceV/FA (22462): Processing queued up service tasks: 2D/[Purchases] - DEBUG(22462): API request started: POST /receiptsD/[Purchases] - DEBUG(22462): API request completed with status: POST /receipts 304E/[Purchases] - ERROR(22462): 🤖‼️ The receipt is not valid.
Hello, the topic is:I build a React Native Follow Up of a native App which is already in stores (Google, Apple).I have no access to the source code of the old App.I want to enable the users possibility (after App update) to use their subscription which he/she/x have bought via the old native system.I wonder if its necessary to call syncPurchases() on first App start ? Or will restorePurchases() (This will be triggered on users CTA click) do all what i need?Looking forward to your answers.ThanksRobert
I’m getting a “The receipt is missing” purchase error when testing my app using the Designed for iPad target on my Mac.I signed in using my sandbox account, the dialog showed I was using the Sandbox server, it said I was all set, but the purchase fails.
Some banks put an extra step in the purchase flow to verify the transaction with a banking app. We have had a report that our app doesn’t seem to work when unlocking content via an in-app purchase when this verification step happens. We use RevenueCat Purchases SDK v3 at the moment on iOS.The same issue was reported in this thread but there’s no public answer.This has been reported by a customer and I don’t know how to test or reproduce this.From the customer:I’ve been onto Apple twice and even purchased an iTunes voucher and it has still not resolved the issue. Apple have advised that it is a problem with the app and not Apple which I can agree with. All the payment information is fine, there is a credit on the account but when we go to purchase the app it takes us to the screen asking us to approve the purchase in the mobile banking app. The request is approved in the banking app but when we go back to the app screen it simply will not let us click on the button saying ‘I have approv
I experience a problem when testing purchases on a physical iPhone. i.e. showing the user subscription status for subscriptions with promo offer. While testing on the simulator the expiration date for entitlement with promo period was as expected - 7 days plus from the date of purchase (1 week free trial). But when I switched to testing on a physical device I got some issues with my code not working correctly. I’ve managed to refactor methods for showing offering details on my Paywall and the purchase of subscriptions with promo period. in “Purchases.shared.getOfferings” method changed from package.storeProduct.introductoryDiscount to package.storeProduct.discounts.first because otherwise it was not showing this 1-week free trial period. in purchasing: before performing purchase, I check if there is a discount available or not, and if available - make purchase with this method: Purchases.shared.purchase(package: package, promotionalOffer: promoOffer) { (transaction, customerInfo, erro
We have a problem where after applying a 20% / 30% discount on a product we do not fall within a price tier in Apple. For example we have 1 consumable product that is priced at £79.99. We offer 20% discount code’s to our users so we came up with a workaround to create a new product in Apple with a price of £63.99. i.e. 20% off £79.99. However we have come into an issue as Apple does not offer a price tier of £63.99. The solution we came up with, was to create a a new product with the value of £8.99 and allow the user to buy 8 of these products at the same time i.e. that would add up to £63.99. But from looking at the RevenueCat `purchaseProduct` API in React Native it does not allow you to set a quantity. Do you know if there is another way of achieving this using RevenueCat or even better, a way of using a custom price for a product in iOS?
Hello, Using func isProGranted(customer: CustomerInfo) -> Bool { if let entitlement = customer.entitlements["PRO"] { return entitlement.isActive } return false }In the Delegate Callback extension SubscriptionViewModel:PurchasesDelegate { func purchases(_ purchases: Purchases, receivedUpdated customerInfo: CustomerInfo) { self.isPRO = manager.isProGranted(customer: customerInfo) }}The problem is, it returns true when we Cancel Subscription or when it is automatically expired
I would like to have more than 2 offerings in my experiment. Is that possible? If not, can I create multiple experiments for one project
Hello everyone,I apologize for the double post, as there was an issue with the previous one where some of my private data got published unintentionally. I appreciate your understanding.Now, I'm facing a challenge while implementing subscription functionality using RevenueCat, and I could really use your guidance. Here's the scenario:When a user clicks on any subscription plan on the paywall, I disable the buttons to prevent multiple clicks. However, I'm unsure how to handle the situation when the user closes the subscription sheet without completing the subscription process. This leaves them on the paywall without re-enabling the buttons.I would greatly appreciate any advice or suggestions on how to catch this event or find a solution that allows me to re-enable the buttons in this specific case. My goal is to ensure a seamless user experience, even when users accidentally close the subscription window.Button(action: { isProcessing = true if let package = subscriptionManager.pack
First of all, Great product team!This is for macOS.I want to make sure following:Deny sandbox entitlements on AppStore AppStore reviewer should be able to access pro content after they do paymentLets say I use customerInfo.entitlements.activeInCurrentEnvironment[“pro”] to unlock access, what will happen when AppStore reviewer tests payment flow to unlock access? I assume it will not work as that environment uses sandbox for payments.I tested this on TestFlight and activeInCurrentEnvironment looks for non sandbox entitlements and does not find one.Basically this code of checking sandbox env ignores macOS TestFlight and I assume will ignore AppStore review environment also:BundleSandboxEnvironmentDetector:var isSandbox: Bool {return path.contains("Xcode/DerivedData") Also if I am doing this filtering myself instead of activeInCurrentEnvironment:For macOS TestFlight detection this gist works: https://gist.github.com/lukaskubanek/cbfcab29c0c93e0e9e0a16ab09586996Does anyone know safe way to
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.