Get help with anything related to RevenueCat.
- 1,097 Posts
- 2,820 Replies
Is there an REST API for retrieving all Products under a project? I need it to integrate into our CMS. Internally I see this https://api.revenuecat.com/internal/v1/developers/me/projects/XXXXX-PROJECT-ID/productsBut it does not work with the REST API. Thank you
Hey,What is the best practice to switch users from existing subscription to life time product on iOS and Android, like lifetime “subscription” which is actually not a subscription but consumable product.As I understand you cannot cancel subscription on iOS , so the only thing is to show link to the user and notify that he should cancel current subscription manually? Little bit not user friendly approach.And for Android seems like you can revoke + refund via api, but only revoke is needed actually not a refund. Or same as iOS to show link to user for cancellation, which is also not a very good option.Thanks
New to RevenueCat and cannot seem to find the solution to what to do after making a purchase with this code in Flutter:PurchaserInfo purchaserInfo = await Purchases.purchasePackage( _selectedPackage);How do I properly determine if the purchase to a subscription was successful or not successful so that I can navigate the user properly?
Good afternoon. In addition to monthly/semi-annual subscriptions, we have an opportunity to make one-time purchases (consumable), when a user buys for example 1/5/10 items, his internal balance is replenished and he can spend it at any time. With the current settings on the tests there is no possibility to buy an item more than 1 time. Could you please tell me what's the problem? All done according to the instructions. And also when paying with a test card returns an error in the callback, how to fix
My purchases are successful on real devices. But I am getting the error log in the simulator. This results in a rejection by the review team. What's the solution? (I created and installed the certificate in the document for test device purchases.) Here is my LOG 2022-01-07 00:49:54.151515+0300 ScoutAppFUT21[7770:194248] [boringssl] boringssl_metrics_log_metric_block_invoke(151) Failed to log metrics2022-01-07 00:51:25.634886+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ applicationDidBecomeActive2022-01-07 00:51:26.017855+0300 ScoutAppFUT21[7770:196034] [boringssl] boringssl_metrics_log_metric_block_invoke(151) Failed to log metrics2022-01-07 00:51:26.320790+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ Vending PurchaserInfo from cache.*********User is not Premium*********2022-01-07 00:51:26.344411+0300 ScoutAppFUT21[7770:194001] [Purchases] - DEBUG: ℹ️ Vending Offerings from cacheUser is not yet Premium2022-01-07 00:51:27.356642+0300 ScoutAppFUT21[7770:194001] [Pu
Hi. I am still designing my project architecture, Im planning to use revenue cat as the payment for may application. Process1 - User buys an item in the App2 - User are now able to view the details (videos, images etc.)How am i going to sync the revenue cat data to my own personal database which is going to be either of the ff (MySQL, DynamoDB, MongoDB etc.)Where should i verify if the user has already purchased the item ?Is it from the revenue cat or in my personal database ?Thank you everyone. Have a good day!
Hi,I recently change the Service Account JSON because the old one did not work after moving app to another account on Play Store Console. I changed it 48 hours ago and I still have Invalid Play Store credentials.I verify that the Service Account JSON hasn’t any space after copied it from RevenueCat page. I double checked that everything is ok after following your guide.You say in the guide that it can takes 36 hours, in the support, you say 48 hours. What the max time should I wait before recreating the service?For the spaces, I entered the JSON with spaces but when I download it from your site, there isn’t any space, you remove them automatically?Do you have on your side more information to help me?Thanks
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 an iOS App that requires users to log in and an in-app subscription to access to Premium features. Currently all available in-app subscriptions are individual and non-family shareable. I would like to start selling new in-app subscriptions that can be shared between all family members. My App currently does NOT implement any in-app subscription restore capability. In your documentation it says that there’s nothing to be done in our Apps to support subscriptions that are set as Family-shareable in AppStore Connect. My question is: is it required or not to implement the in-app subscriptions restore functionality in my App to enable another family member of the user that made the initial Family-shareable subscription purchase to access to the Premium features of my App?Thanks for your help.
In the process of debugging some other issue (separate post), I removed all my Apple products from my app’s configuration in RevCat. However, the app is still loading these products. I expected the app to get a blank result or some exception when callingawait Purchases.getOfferings();(React Native / Expo app)Is my expectation wrong here? If not, is there some known delay between when I remove the products and when the apps stop getting these back?Thank you!
Hello, We have 3 auto-renewable subscription products setup with a 30 day free introductory offer and we just went live with RevenueCat :) So there is a user who subscribed with the trial and upgraded after a few hours. We received the `PRODUCT_CHANGE` webhook with the correct `new_product_id`. However, we did not receive any webhook afterwards. We expected a `RENEWAL` webhook with the new product id as `product_id` as per the documentation here. Our webhook listener simply listens to all events and then poll the RevenueCat api and update the database at our end for the `product_id` which was sent from the webhook. It is important for our server to be up-to-date as the entitlements are handled by our server. Could someone let me know what can be done in a situation like this? I did happen to see this but not very sure if they are related. Thank you!
Question: Can any errors made on Revcat products possibly cause an app to crash upon initializing?Background story: We created new products for Black Friday and implemented them via Firebase Remote Config. After Black Friday was over, when I switched to our usual old lifetime subscription product via remote config, the purchase screen started crashing. Then I discovered that there was a missing entitlement (or an attachment) for that product and clicked on “attach”- it is interesting that how this product hasn’t been crashing before even though we’ve been using it all along for years.Anyways, after “correcting” the product, the issue was fixed, however, starting from that day, we started getting crashes on app initializing (it either crashes or the “initializing” screen stays forever).Note: There hasn’t been any updates on the app around that time. 60% of the crashes came from iOS 15 & iPadOS 15.
I tested several devices and tried to subscribe. All of them successfully subscribed using Google Play TEST CARD and it worked get subscription information from RevenueCat (offerings, entitlements, date time, etc.).But on the Customers page, all the customer sandboxes don’t show any value including active subscriptions, even though those users got the correct subscription information in the app. 1 I understand revenue will not increase but why is a subscribed user's entitlements also empty?2Is it because I subscribed using TEST CARDS?
How to enable double tap to pay feature for users? We have integrated RevenueCat into our flutter app and configured the products successfully. We are still pre-launch so our testing is currently in Sandbox mode. Currently when testing the pay flow the user sees the paywall successfully, but there is no option to allow the user to double tap to pay. Instead there is a password field that the user must enter to authenticate their purchase. Is the double tap feature just not visible due to the Sandbox mode or is there something we’re missing? I’d rather use RevenueCat for managing user subscriptions than have another provider in front of RevenueCat that handles taking payments for users. Thanks in advance!
I am working on a app which have tinder like functionality. App functionality1- User will have 2 type of plan, ruby and Gold.2- Each plan will have 3 package like 1 month, 6 months and 1 years.3- based on these plan users will get number of likes and super likes for each day.4- Plan will be auto renewed until user cancel the plan manually.5- App is a cross platform (Flutter) . So If user purchase the plan in iOS he should be able to access the benefits in android version as well. Question- 1- As we are managing the number of likes and super likes for the user on our server. So my question is how can we Check if user purchase, upgrade downgrade or cancel the Subscription. (is there any way revenue cat provide to do this)? 2- If user have purchased the subscription in iOS using apple account (auto renewable subscription). and then he again try to purchase the subscription in android device how this will get managed. Please help me out to understand these points.
For IOS, we can create a subscription group with multiple products. For example, say we have a group with two products: Premium Monthly and Premium Yearly. The subscription group makes sure that the user can only have one at a time. Changing from one to another is a crossgrade.How is this supposed to be done with Android? I couldn’t find anything in the Google play console for subscription groups.Is it a correct assumption that if the user purchased Premium Monthly product, they cannot switch to Premium Yearly product in Android account since there is no such thing as subscription groups? They can only cancel their product?And does this mean that we would have to create a screen in our Android app to handle the situation if the user wanted to change from monthly to yearly? My app is react native. Is the functionality to do this in the react native purchases library or should I be using the RevenueCat’s API?
I’m not sure the best place to send feedback regarding the docs, but I’ve been following along and implementing the various SDK’s and noticed a few things that might need to be fixed. https://docs.revenuecat.com/docs/user-ids#provide-app-user-id-after-configuration@NotNull should be changed to @NonNull https://docs.revenuecat.com/docs/configuring-sdk#initializationv6.4.1 doesn’t seem to take a PurchaseConfiguration.Builder instead:Purchases.configure(this, "mykey"); It’s been a fairly smooth sailing following the docs and getting things implemented otherwise. If there is a better place to post feedback about the docs let me know.
I want to make a simple and reassuring statement about data/privacy in my app’s help screen and I’m wondering if data storage is the same regardless of whether a subscription is purchased or not. Is RevenueCat still collecting and storing data for a user who has not purchased a subscription?Thanks.
I have worked for businesses where all their employees use the same google play account to install apps, how can you setup a subscription so one subscription allows one device rather than pay once and use the same app on 100 devices ?Im sure this question must have been asked before so I’m hoping this can be done.Many thanks
Hi, if I understand the docs wel, we must do as soon as possible when the app starts do a Purchases.setup()And then when we have our own UID (after logging into our backend) we do a Purchases.logIn(our_ID)But when a user is logging out en back in again, another $RCAnonymousID is created and stored on the RC backend. That can add up and genereate a lot of unused $RCAnonymousID’s...or do I something wrong? logging;start the app for the first time.====> APP didMount(): after Purchases.setup(), getAppUserID: $RCAnonymousID:5cf2ccddfeb64208aca7e1c8a58ab9abhere we do in the app a login into our own backend and recieve our UID for this customer====> RC LOGIN: before Purchases.logIn(id), getAppUserID: $RCAnonymousID:5cf2ccddfeb64208aca7e1c8a58ab9ab====> RC LOGIN: after Purchases.logIn(id), getAppUserID: 615de0706b15db0ea9eb1555logged in customer goes to the paywall and purchase====> RC PAYWALL: before Purchases.getOfferings(), getAppUserID: 615de0706b15db0ea9eb1555====> RC P
I have been tasked with the above conversion for an existing iOS and Android paid app. Everything is set up in the Rev Cat, App Store and Google Play Store for one annual subscription with 1 week free. My first obstacle is my iOS app is in Objective C and I’m a stranger to Swift (which is used in the excellent walkthrough videos I have found as well as the demo app). I was wondering if any of you had had this issue and, if so, how you approached the problem?Did you bridge Swift view controllers to start up your app or work on translating into Obj C?Thanks in advance.
Log in to the Community
Authenticate with RevenueCat
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.