Discussion and help from anything related to RevenueCat.
Recently active
Hi ! With EAS build we can now use react-native-purchases without eject according to this discussion : https://forums.expo.dev/t/has-anyone-successfully-adopted-iap-with-eas-build-for-their-managed-app/54047/17Can you update your documentation ?regards,Sephyre
Hi everyone, We are building web application in Flutter and wanted to ask if you can support it anyhow? I have checked official SDK and it seems to not be supported: https://pub.dev/packages/purchases_flutter/score. As of now, we have a great experience integrating your product on iOS and Android.Thanks in advance.Kind regards, Marcin
Background:I can issue and test Android refunds via the RC dashboard.I can issue and test Stripe refunds via Stripe dashboard (note the difference between refund and cancellations in Stripe!)How do I issue a refund in iOS Sandbox testing?
I created this app with Expo and made a couple of offerings with Revenuecat. Now I want to test it. The packages appear,I hit subscribe, The popup appears, I write password and hit subscribe, It says done (without the tick appearing, just a circle) and the whole popup disappears, but after 3 seconds, the purchase popup (Sandbox) reappears again and again. No matter how many times I hit subscribe, it says done and re-appears. There is no record of subscription in my Revenuecat account (yes the sandbox checkbox ticked), and I have registered a sandbox user (valid email with a password) on App Store users. I’m very new to Sandbox testing and I use iOS simulator (17). Does anyone know what to do form here? Checked the Internet and not much was found. By the way, the code does not seem to go through anything after the purchase, it does not show the `console.log` after the function: Here’s the purchase function: const subscribe = async(item) => { try { const {purchaserInfo} = aw
I’ve been seeing a ton of these events come through and they often lead to cancelation and lost revenue. How can I make sure this isn’t due to some misconfiguration in RC or Apple, or my code set up?
I am using the flutter SDK to integrate IAP to my app and i am using the non renewable subscription model. I want to get a unique transaction ID issued by apple to send to my server to store it if the user wants to refund his purchase in the future.
I am using Paywalls and when I submit it on iOS, they report this error. And they said they will reject the submission if I cannot fix this bug. Review device details:Device type: iPad Air (5th generation) OS version: iOS 17.4
HiWe’re trying to configure a flow where user subscription is strictly bound to their account. In our mobile app we identify users by their personal accouns and provide a way to sign in / sign up and sign out directly in the app. So it’s possible to have a state when there’s no user id.We used Block restores setting (btw, thanks for this update - it’s much simpler now!) and applied the recommended way of identifying users with login/logout mehtods as described here. However with this approach when we register a new user the RevenueCat creates a subscriber with anonymous Original App User ID and then aliases the actual user id and setups App User ID field with it.While this is totally expected according to the documentation, it looks confusing in our flow where user can subscribe only with active account and thus already having actual identifier. What we’re trying to achieve is to always have users with single identifier (i.e. Original App User ID == App User ID) without aliases as we’r
unable to build android with on a flutter project enabled for paywalls. was working fine with previous purchases package but looking at below error. notes: tried updating java version to 17 and respective changes in gradle files etc..,increased minSdkVersion, separate note was able to build on iOS and paywall works as expected logs hereCaused by: java.lang.RuntimeException: Failed to transform '/Users/CC/.gradle/caches/modules-2/files-2.1/androidx.compose.material3/material3/1.1.0/dfa0976101de9daf0c4676fb7227fd540d4d1a08/material3-1.1.0.aar' using Jetifier. Reason: IllegalArgumentException, message: Unsupported class file major version 61. (Run with --stacktrace for more details.)
I’m trying to use StoreKit testing to test purchase of a promotional offer on a subscription product. I can purchase the initial subscription, but when I come to purchase the promotional offer I see the following error: [Purchases] - DEBUG: PaymentQueue updatedTransaction: redacted (null) (Error Domain=SKErrorDomain Code=12 "(null)" UserInfo={NSUnderlyingError=0x600001f34390 {Error Domain=ASDServerErrorDomain Code=3903 "The server encountered an error" UserInfo={NSLocalizedDescription=The server encountered an error}}}) (null) - 2 From what I can see, code 12 is a problem with the signature generated for the `SKPaymentDiscount`. Since generation of the signature is handled by the RevenueCat SDK, what are the options for me to fix the problem? I have uploaded the public certificate to my RevenueCat dashboard. Maybe related: there is “Subscription Offers Key” also in Xcode that isn’t used in any way. Perhaps there is some missing configuration in RevenueCat for promotional offers and St
I'm running into an issue where offerings are not loading only on iOS 18.4. All of my apps that use RevenueCat have been working fine for months, and they still work perfectly on iOS 18.2, and earlier versions. This is happening in all of my apps and I haven’t changed anything recently. I’ve gone through everything mentioned in this article multiple times to make sure my setup is correct. I’ve tested this on both a real device (using a sandbox account) and the simulator The issue is the same on both. I even created a brand new product just for testing, added it to App Store Connect and RevenueCat, but it still didn’t work. I’m not using a StoreKit configuration file. The SDK version is 5.20.2.Here is my debug log, with identifiers anonymized: DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite.DEBUG: 👤 Identifying App User IDDEBUG: ℹ️ Debug logging enabledDEBUG: ℹ️ SDK Version - 5.20.2DEBUG: ℹ️ Bundle ID - com.example.MyAppDEBUG: ℹ️ System Version - Version 18.4 (Build 22E
Google has just announced changes to how they handle subscriptions: https://developer.android.com/google/play/billing/compatibility and https://support.google.com/googleplay/android-developer/answer/12124625 While existing subscriptions will continue to work, there are new ways to create offers and even new (on Android) subscription types like prepaid. Does RevenueCat already have a timeline how and when all of this will be supported both in SDK and dashboard? FYI: I’m also seeing the following warning in our Play Store account - I guess RevenueCat is using the InAppProduct API: “You're using the InAppProduct API to manage subscriptions, which is no longer updated. Start using the new Subscriptions API to get new features including multiple base plans and offers, as well as prepaid plans.”
Hello,How can we receive payments from Revenuecat? Stripe is not available in Turkey.Do you have another system for receiving payments?
Using react-native-purchases package at version 8.0.1 on an Expo project at version 51.0.22Trying to run Purchases.configure throws the error.useEffect(() => { if (Platform.OS === "ios") { Purchases.configure({ apiKey: "<OBSCURED>" }) } }, [])
So I’m trying to verify purchase’s made on client devices. I’ve made a simple flow with screen shots and notations to more clearly explain my problem.But simply put: How do I request a receipt/transaction token be validated by revanueCat from Unity C#, and receive the response.
I am implementing a subscription-based app with monthly and yearly plans. I've set up free trials for both plans under Introductory Offers in Apple Store Connect. However, I'm unsure how to integrate these free trials into my iOS app using RevenueCat.Here are the specific points I need help with:How do I configure RevenueCat to recognize and handle the free trials I've set up in Apple Store Connect? Are there specific methods or API calls in RevenueCat I should use to verify the free trial period for a user? Do I need to make any additional configurations in RevenueCat or my app's code to ensure the free trial works correctly for both subscription plans?Any examples, documentation references, or guidance would be greatly appreciated.
I’m new to RevenueCat and am looking into how I can migrate my existing app’s non-consumable in-app purchases to RevenueCat.I know this type of question has been asked several times, but none of the answers really answered my questionSo far, I’ve looked at using syncPurchases() but as stated in the documentation:Google Play Store does not provide an option to mark IAPs as consumable or non-consumable. RevenueCat's SDK will consume all Android IAPs upon purchase.To replicate the behavior of a non-consumable IAP for Android users, you must ensure your user will not offered the IAP after the initial purchase. Failure to do so will enable the user to re-purchase the IAP. ...and sure enough, in initial testing, as soon as I call syncPurchases() all of the user’s in-app products are consumed and the Google Play Billing client no longer sees the purchases.Regarding the first paragraph, when using the Google Play Billing API, we have the option to consume, or not consume the in-app purchase. A
I am new to RevenueCat and I am looking for advice on how to architect my consumable in-app purchases with ReveneCat. With the current app I am developing for macOS, I use the AWS Polly service and each usage of Polly costs money (pay as you go). I am using consumable in-app purchases to control my cost structures from users so that I will always make a profit no matter the overall customer usage. One requirement is fiscal security where the user can't spoof/hack the consumable resources on device, so I need to store their current resource count in the cloud. I read the following in the ReveneCat help pages.Non-Subscription Purchases:It's important to note that at the moment, logic for keeping track of consumable redemptions must be handled outside of RevenueCat. We recommend your server is set up to receive Webhook events for NON_RENEWING_PURCHASE to appropriately provide consumable content for your users.For example: RevenueCat can track a consumable coin purchase and include it in t
Hello!We’re testing our app and need to clear all user data and purchase history to test buying products like a new user. How can we do that?I tried to delete customers, but they’re still on the list: http://joxi.ru/krDW8Y7CGwpoZAThank you in advance for the answer.
Hi,trying to make use of RevenueCat but I won’t get it to work on Android but only iOS.I am getting when trying to purchase a product on a simulator and on my Android device with:try { await Purchases.purchaseProduct('test_4weeks_4_extend'); } catch (e) { print(e); }D/[Purchases] - DEBUG(11123): ℹ️ Requesting products from the store with identifiers: test_4weeks_4_extendD/[Purchases] - DEBUG(11123): ℹ️ Products request finished for test_4weeks_4_extendI/flutter (11123): PlatformException(5, The product is not available for purchase., {code: 5, message: The product is not available for purchase., readableErrorCode: ProductNotAvailableForPurchaseError, readable_error_code: ProductNotAvailableForPurchaseError, underlyingErrorMessage: Couldn't find product.}, null)I have followed the complete setup and created the keys and they are successfully on the platform and also connection to Google is working for Developer Connection.The identifiers are matching the same on P
i have a flutter app about daily horoscope and tarot cards i’ve done sandbox tester and all the other revenuecat settings when i try to test it in my iphone i come up to this error in my logs[configure] DEBUG: ℹ️ Configuring SDK using RevenueCat's UserDefaults suite. [identity] DEBUG: 👤 Identifying App User ID [configure] DEBUG: ℹ️ Debug logging enabled [configure] DEBUG: ℹ️ SDK Version - 4.25.6 [configure] DEBUG: ℹ️ Bundle ID - com.josephmp5.seeryuso [configure] DEBUG: ℹ️ System Version - Version 16.6 (Build 20G75) [configure] DEBUG: ℹ️ Not using a simulator. [configure] DEBUG: 👤 No initial App User ID [configure] DEBUG: ℹ️ Purchases is configured with response verification disabled [configure] DEBUG: ℹ️ Delegate set [offering] DEBUG: ℹ️ Offerings cache is stale, updating from network in foreground [network] DEBUG: ℹ️ GetOfferingsOperation: Started [network] DEBUG: ℹ️ There are no requests currently running, starting request GET /v1/subscribers/$R
Hello, I am working on updating all my Frameworks including Purchases, specifically trying to get rid of all my PODs and moving them as Swift Packages Dependency. Also, for this I decided to start doing it on the latest version of Xcode in beta and the upcoming iOS 15. I recently noticed that while testing, two things are happening that were not happening before. Products are being displayed on the simulator. The Sign in With Apple ID window is appearing.While testing on the simulator for iOS 14, I was never able to download the products from Revenue Cat, therefore I was only able to test on an my device. But I noticed that it now brings the products and is able to display them on the simulator. However I have not tried to do a purchase from there as I assumed is not going to work as expected. ( This, is actually a good thing because it allows me to test on simulator how my paywall is going to look and react to changes )However, on the second point for some reason, the “Sign in with
transferring app to another google play store and app store account with revenue cat without any income loss.
Hello, I don’t understand how could I organize offerings with multiple subscription groups. I want my user to be able to subscribe to different subscription plans and it’s possible that he could have two subscriptions at the same time. For example: Plan 1 (subscription group):monthly subscriptionyearly subscription Plan 2 (subscription group):monthly subscriptionyearly subscription It’s possible for user to be subscribed to 2 plans at the same time.Now when I get offerings I do like this:const offerings = await Purchases.getOfferings();offerings.current.monthly.product.priceStringHere I get current offering with the monthly price. But how could I modify this code and revenuecat configuration to be able to get current offering for another plan as well? Is this possible?I tried to add another monthly product to the offering, but it allows only one per offering. I think it needs subgroups under offering, one per each subscription group so that it would be easier to experiment and change
Hello,In our Firebase Crashlytics reports, we have noticed a recurring exception being faced by our users related to in-app billing.This issue has 37,775 crash events affecting 1,549 usersHere are the error details:Fatal Exception: java.lang.IllegalStateException: Too many bind requests(999+) for service Intent { act=com.android.vending.billing.InAppBillingService.BIND pkg=com.android.vending cmp=com.android.vending/com.google.android.finsky.billing.iab.InAppBillingService (has extras) } at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:2115) at android.app.ContextImpl.bindService(ContextImpl.java:2024) at android.content.ContextWrapper.bindService(ContextWrapper.java:870) at com.android.billingclient.api.BillingClientImpl.launchBillingFlow(com.android.billingclient:billing@@5.1.0:52) at com.revenuecat.purchases.google.BillingWrapper.startConnection(BillingWrapper.kt:122) at com.revenuecat.purchases.google.BillingWrapper.startConnectionOn
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.