Get help with anything related to RevenueCat.
Recently active
I am missing some fundamental here, noob question.The products are displayed both debug and in internal test (when I build to google play store), i can click purchase in internal test, but cannot do that in debug.I am using flutter. In my `main.dart` I set my configs. await Purchases.setLogLevel(LogLevel.debug);late PurchasesConfiguration configuration;If I’m not allowed to click purchase in debug mode, then where/how do I actually code my app then and see purchase flow?
Is there a way to add user info when they purchase, like email for example?
Hello! I am integrating RevenueCat with Flutter, and so far everything was working good. I added subscriptions in the last version and they seemed to work good. However, when I added a new version and submitted it to review to Apple, the review team can’t seem to fetch offers in the app and hence the new version is getting rejected. It works fine in TestFlight, and in Android, and I can't reproduce the error on my side. But the app review team keeps getting the same error. Any ideas why that might be?
Hello,I'm interested in incorporating custom variables for each package within RevenueCat paywalls. Is this possible? To clarify, let's consider a scenario with two packages displayed on the RC paywall, namely pkgA and pkgB. For each package, I aim to integrate two custom strings: strA1 and strA2 for pkgA, and strB1 and strB2 for pkgB. In this context, these custom variables (strA1, strA2, strB1, strB2) are distinct from the variables mentioned on your "Displaying Paywalls" page. Essentially, I'm seeking complete flexibility in defining the values of strA1, strA2, strB1, and strB2.Could you provide guidance on how to implement this?Thank you in advance for your assistance.
Hi, I have not been able to get family sharing working even though I have enabled all family sharing options on the device and in the App Store. Currently what I have been trying1. Invite family member2. Share app to family member3. Wait several hours4. Ask them to restore purchase using the Purchases.restoreTransactions() from the react-native SDK The results always say ‘No purchases restored’ I noticed that in the Restore Behavior under Project Settings > General that my account is under Alias (Legacy) rather than Transfer Purchase. I am concerned with changing the Restore Behavior from Alias (Legacy) to Transfer Purchase since there is a label saying this is not reversible. Is this causing the issue? Do you have any idea how I can resolve this? Thank you
Hi there, I recently moved to iOS 17 simulator using Xcode 15 beta 4 & Mac Sonoma.Everything was perfectly working until today but now, I can’t launch my expo app anymore.The build seems to work without any noticeable issue. Here is the issue I get :[StoreKit] <SKPaymentQueue: 0x600000010a20>: No observers found that respond to "paymentQueue:shouldAddStorePayment:forProduct:", will not check for purchase intents I’m using "react-native-purchases": "6.3.0" version. Here is my package.json file, hopefully it helps. "dependencies": {"@babel/runtime": "^7.22.6","@expo/react-native-action-sheet": "^4.0.1","@react-native-async-storage/async-storage": "1.19.0","metro-react-native-babel-preset": "0.77.0","@react-native-firebase/analytics": "^18.1.0","@react-native-firebase/app": "^18.1.0","@react-native-firebase/crashlytics": "^18.1.0","@react-native-firebase/firestore": "^18.1.0","@react-native-firebase/perf": "^18.1.0","@react-navigation/bottom-tabs": "^6.5.8","@react-navigation/el
Hello,I have an app that is live on the App Store and the Google Play Store. We have a paywall where users can subscribe to access our app, either subscribing to a monthly plan or a semi-annual plan. We are now wanting to raise our prices, but want to keep the existing prices for those who are currently subscribed. I read online in the RevenueCat docs that you recommend creating new products as opposed to increasing prices of existing products. That makes sense because we want our revenue data on RC to be accurate, and our product names have the price in them. I know how to create new products, but my main concern is that on iOS, users will be able to change their subscription to the old "grandfathered" pricing through the Subscriptions section of the settings app. Will that be the case? Or is there a way to stop users from moving to a cheaper subscription within the same entitlement/subscription group. Thanks in advance for your help! I have attached a screenshot below to show what I
I published my flutter app in both iOS and Android, got the approval from Google Play in a day. Today I got the message from Apple saying I need to make some changes. I went tho the resolution centre and the message is “We found that while you have submitted in-app purchase products for your app, the in-app purchase functionality is not present in your binary.Next StepsIf you would like to include in-app purchases in your app, you will need to upload a new binary that incorporates the in-app purchase API to enable users to make a purchase.Once you revise and resubmit your binary, you will also need to resubmit your in-app purchases for review since they are in the Developer Action Required state. For each in-app purchase product submitted, please be sure to edit the detail information or cancel the request to change the detail information for the in-app purchases using App Store Connect.Alternatively, if you do not want to include in-app purchase products in your app, it would be appro
Hi,I’ve had two instances so far with this Subscription cancelled due to a billing error:There’s no more info about the billing error in details. How do I debug this? What could have been the cause? Thanks ahead!
Hi! Deep link clicks to apply custom promo codes isn’t working (cf screenshots) in Android. If my code is “BETA”, I’m using the link https://play.google.com/redeem?code=BETA as specified in your doc and in the google play doc. Inputing the same code, “BETA” here, manually in the payment prompt in my app works. I’ll add that deeplinks for single-use promo codes work (using the same link construction rule as for custom promo codes, so if my code is 123456789 the link https://play.google.com/redeem?code=123456789). Any idea how to make deeplinks for custom promo codes work? Best,Jane
At WWDC 2020, Apple introduced the ability to do local StoreKit testing in Xcode (that is, testing without connecting to App Store servers and without using sandbox accounts). I am interested in an answer to the question of whether RevenueCat supports local StoreKit testing in Xcode for a RevenueCat-enabled Mac Catalyst app. As you’ll see below, I’ve been getting a “receipt not valid” error when I attempt that kind of testing for a RevenueCat-enabled Mac Catalyst app.Apple's documentation on StoreKit testing in Xcode indicates that local StoreKit testing does work for Mac apps (on a Mac running Xcode 12 or later, and macOS 11 or later). And in its own documentation, RevenueCat gives instructions for setting up local StoreKit testing in Xcode. What's not clear is whether StoreKit testing in Xcode works with the combination of RevenueCat and Mac Catalyst apps.I followed RevenueCat's instructions (just noted in the last paragraph) for setting up local StoreKit testing in Xcode (important
Google play now requires billing lib >= 6.0.1 , I found this blog: https://www.revenuecat.com/blog/engineering/google-play-billing-library-7-features-migration/I added `implementation "com.android.billingclient:billing:7.0.0"` and updated Revenuecat to 8.2.1 I exclusively use the Revenuecat sdk for my app, namely: `Purchases.sharedInstance.purchaseWith , getOfferingsWith , awaitSyncPurchases, awaitRestore, getCustomerInfoWith, awaitCustomerInfo` do I need to make any more changes before uploading my app ?
I’m hitting a bit of a wall getting the RevenueCat/Stripe integration up and running, mainly because I haven’t found a good path for testing test/sandbox subscriptions. I can do testing against Stripe Live, but that isn’t really a good solution..Stripe seems to only allow installation of the RC App in Live mode. It also appears that RC only allows one Stripe integration per project, meaning that I can only have one webhook config for Stripe with one Stripe webhook secret. I don’t want to (lol), but it seems like I could:Create a second RC project and attach the Stripe Test webhook there. Proxy the Stripe Test web hooks, and forward them onto RC. I haven’t tested this, so I haven’t verified if the checks on RC endpoint would allow these coming from a different source. Test in Stripe Live mode.Do I have any better options? I’m hoping I’ve just missed something that makes this really easy.Thanks in advance.
Hei there.We are getting closer and closer to finally launch the app :)But yesterday we found that not all RENEWAL events are send to our server.For one test purchase I got 8 Emails from Google (initial purchase, 6 renewing and cancelling)In the RC Dashboard I only see 3 events for this user, INITIAL_PURCHASE, RENEWAL, CANCELLATION.In a previous test I got 4 events from RC, this time there were 2 RENEWAL events inbetween INITIAL_PURCHASE and CANCELLATION.Why is this happening? And a Bonus question is about the BILLING_ISSUE and the CANCELLATION events. When the subscription ends, like in this case because the user did not pay anymore, shouldn’t there be both events fired? Or do they just show up as one event in the RC dashboard?
Hi.I have used the Revenuecat extension for firebase for a while, but have not found the use of it as I cant see custom claims in the idTokenResult.I want to use custom claims to only allow users with subscription to upload files and then use this custom claims on firestore rules instead of only checking permission inside the application.I have configured the extension in revenuecat and enabled custom claims in the extension:Should custom claims be set in Firebase Auth with the user's active entitlements? DescriptionENABLEDBut when i fetch the entitlements in application, i only get theese:user?.getIdTokenResult(true).then((value) => print(value));{ "firebase":{ "identities":{ "email":[ "x" ] }, "sign_in_provider":"password" }, "user_id":"x", "aud":"x-app", "exp":"x", "iat":"x", "iss":"x", "sub":"x", "email":"x", "email_verified":true, "auth_time":"x"}Any suggestions, or cant revenuecat set custom claims that i can use
Hi all,Im trying to get iOS Code Redemption working in flutter and having some issues.So as per the doc (not flutter specific, so following the API doc mixed with the swift example), and I go ahead and call: await Purchases.presentCodeRedemptionSheet();And then….. nothing happens? Is there anything else that needs to be done in the code after the sheet is dismissed to detect that a purchase has been made via the code redemption sheet? It’s really hard to test as this as it seems as though it cant be tested in a simulator or in debug mode on a real device - so I’m doing it ‘live’ and not getting any really good logging.The “Codes” are attached to an App Store IAP that I do have configured in revenuecat / has an entitlement….I’ve tried to re-initialise the purchaserinfo object & check for entitlements again and its still not triggering in the way it should if an entitlement is detected. Running purchases_flutter 3.1.0 on flutter 2.0.5Anyone have any ideas?
Due to client requirement, I have to change the subscription price of a product and introduce introductory offer to the subscription product. I changed subscription product’s price and added introductory price in google play console and apple developer console as well. But revenue-cat is not propagating the changes when I fetched offer. I am doing this in flutter.
Hi team,I’ve integrated RevenueCat with my Flutter app and everything works fine in testing — all products show up correctly and test purchases complete as expected.Now that I’ve uploaded the app to production, I created a promo code for one of my subscription products through the Google Play Console. However, I noticed that the "Redeem code" option does not appear during the purchase flow in the production version of the app.Has anyone else experienced this?Is there something specific that needs to be done on the RevenueCat side or in the Google Play Console to ensure that the redeem option is visible in production?Any guidance would be appreciated!Thanks!
I’m trying to find how to delete a subscription. And I want to do it without the URL Technique like the app provides a link to user which takes the user to Google App Store and from there the user can cancel the subscription.The case that I have is that when a user deletes his account we have to remove or cancel all his subscription as well as delete all his data from RevenueCat behind the scenes. And I can’t simply call the DELETE API ENDPOINT because It won’t delete the subscription data, and I have to first cancel subscriptions then, have to call the DELETE endpoint.And for that I was searching I found the following `API End point``https://api.revenuecat.com/v1/subscribers/{app_user_id}/subscriptions/{store_transaction_identifier}/cancel`However this endpoint seems to requires a parameter named `store_transaction_identifier`. Then I searched how to get that. And the answer that I got that `You can find the store_transaction_id, from Webhook`.Now I had to find the RevenueCat’s webho
Hey,We are building products with an unusual subscription model. I would be interested to know if someone successfully implemented such a subscription model with RevenueCat. I'm also interested to hear about suggestions. We are building apps for iOS and Android where an ‘admin’ user could purchase multiple subscriptions with his AppleID/GoogleID and assign each subscription to a managed user (i.e. with a different AppleID). So we are trying to implement a subscription model with 2 unusual characteristics:Multi-quantity subscriptions Assigning subscriptions to other usersNote that most of our users would only want to purchase 1 or 2 subscriptions, so we can fake multi-quantity subscriptions by creating multiple products/packages/entitlements.Here is how we imagine the flow:The admin user signs in in our app. The app has a custom App User ID to identify this user that we will use it with RevenueCat. The app fetches the packages from RevenueCat. The app receives 6 packages in a single off
I am attempting to use my Express server to verify subscription status of users who purchased their subscription on mobile using the RevenueCat API V2. “There is no way to import RevenueCat into NodeJS, we don't make any such modules or sdks. The best option is to use our APIs directly using Node fetch. In our API docs you should use our JavaScript language to do so.” REFERENCEOk so I’ll use the API then. But theres a catch for v2/projects/{project_id}/customers/{customer_id}/subscriptions:“This endpoint currently only returns subscriptions made on the web using the RevenueCat Web SDK and RevenueCat Billing. We are planning to add information for other supported stores soon.” REFERENCEIf thats the case how am I supposed to check on the subscription status through API? Should I use API v1/subscribers/{app_user_id} and parse out subscription info from the CustomerInfo object? I am a little concerned about using the older API as this is a critical part of our application.
I want to give my customers a limited period discount for the lifetime product in my app, and I want to show both the original price and the discount price for that product in the paywall so that my customers would know how much they could save if they purchase now. I have configured a price change on App Store connect for this IAP product, and I wonder how I can get the original price and the discount price? It seems that the `package.storeProduct.localizedPriceString` gives me the discount price and I didn’t find a way to get the original price.
HiI have set the RC id linked to my users accounts’ unique identifiers and I thought that was ok. So the RC accounts are linked to my app accounts (a user, theoretically could have one account with subscription and another without it, imagine like a user having a professional Dropbox subscriptions and a personal one accessed via the same device)But after an Apple rejection when they asked me to make possible that users conserve their subscriptions even if they upgrade phone, then I’m questioning myself if this is the right approach. It seems that, as subscriptions can only be cancelled via the stores menu, then all the accounts accessed via the same device would act the same.Is this the “standard” way to make it work? Subscriptions linked to Stores accounts and not to my-app accounts?I don’t have a preference, 99.9% of the cases my users will have just one account. I just want to make my app compliant and to make it work in the standard way.
Hi, Looking at using RevenueCat but looking for any feedback on using with Xamarin Forms/Maui. I Dont see any real information on integration of this platform and was wondering if anyone has used in this configuration. Any tips on how to to implement or feedback would be appreciated. Alternately thinking about it doing in-app and utilizing the store portals directly but this would probbably become very combersome if there were any great membership requirements.
HiFor the one of the app, I am implemented RevenueCat, all the steps are completed so far.What I have done.AppStore > Business > Agreements are filled out and no pending action on this point. Purchasing working fine in Sandbox and collected screenshots for Apple Team. Tested paywall and subscription done in test user. Correct build sent to the App team to review.Questions:Do I need to use for StoreKit for product listing , currently listing my entities and offering using RevenueCat already. Do I need to put Configuration.storekit file and configure, actually I dont think if it is related.So The result is getting rejected, after first submission.Here is the Apple Review team report:Guideline 2.1 - Performance - App CompletenessIssue DescriptionIn-app purchase products associated with the app version submitted for review, such as Pro Plan Monthly, could not be found in the submitted binary (consumable). Next StepsIf you do not want to make these in-app purchase products available
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.