Get help with anything related to RevenueCat.
- 871 Posts
- 2,184 Replies
Flutter : firebase google authentication cycle with revenuecat
we are working on a flutter app that uses firebase authentication and each user has his own unique user id , first we setup the revenuecat on the lunch of the app using this await Purchases.setup("public_sdk_key");secondly when the user logs in we use its unique user id in : await Purchases.logIn(uuid);thirdly and when the user logs out we use await Purchases.logOut();is this the best practice and how can we handle if the user terminated his subscription while using the app
Offer code for new users in ios 14(How can I test it)
I want to grant premium access to some users with offer codes and present Redeem page with this method: Purchases.shared.presentCodeRedemptionSheet()It works fine ,but:After redemption how can I verify the results(e.g entitlement ,days remaining ,etc )and how can I test it with in sandbox environment ,is it possible?I have my appstore connect side configured but I need some recommendation on revenue cat please.
Subscription purchase history
Hello! We intend to provide a panel so the user can see their Purchase history.The PurchaserInfo object provides a good list of nonSubscriptionTransactions that gives a solid output with product id and date of purchase for them. But for subscriptions we only get the latest for each product id, I see it is also the output from the API, so it’s not just a SDK limitation. Is there plans to add something more thorough? Is there any other endpoint where I could get such data? I’d rather not hunt down a local receipt for this (and of course I prefer it to be cross platform) Best regards,Rafael
How can I stop the process in iOS?
I am stuck with a problem.I am using the consumable In app purchase through RevenueCat to achieve in app currencies.The payment page is displayed in modal view pageSheet style. When I press the purchase UIButton, the process starts.After the process ends, I am saving the payment record in Firestore.And in cloud functions, the save method triggers adding currency in users data document.It is working fine using normally. But, if the view is dismissed quickly after the payment UIButton is pressed,the process will go trough and purchase alert shows up in the other view(is not a bad thing) but,the code after purchase (saving purchase data in Firestore) doesn’t work (=think because the view is already dismissed?). I thought of cancelling the process if the purchase view is dismissedbut could not find a way to observe the purchase transaction. Ofcourse displaying the view in fullScreen will resolve the problem but want to try it in current circumstances.Can any one help?? Any suggestions?
Stripe subscription was cancelled until the end of the billing period, and RevenueCat removed the entitlement
Hi there!We have been using RevenueCat for about a month now with great results. However, I discovered an issue that appears to be incorrect behavior, although chances are I am missing something on my end.We have a recurring Stripe product registered in RevenueCat, and have connected the customer.subscription.updated webhook which are all sending successfully. Using the /receipts route we have associated and synced several hundred Stripe subscriptions which works well.The issue is with one subscription that had been paid for (no free trial) that the customer cancelled earlier today. It was cancelled until the end of the billing period, so it still shows as Active in the Stripe dashboard, but it displays that it will be cancelled at the end of the billing period on Sept 14, 2022 (we have yearly plans). However, RevenueCat no longer shows the subscription or the granted entitlement when the customer is queried with the Get or Create Subscriber route. The RevenueCat dashboard shows the fo
User paid for subscription but is not shown in RevenueCat
Hi!I have an iOS user that paid for an annual subscription. I cannot find her as a paid user in RevenueCat, given that situation, she was asked by the app to pay again and she paid for a monthly subscription.She now has two active subscriptions but none of them are recorded by RevenueCat and she cannot still access the paid features in the app. I don’t know how to proceed because that’s the first time this happens to us with RevenueCat. Any help will be greatly appreciated.
How does RevenueCat manage iOS Subscription Events such as "Entered Grace Period", "Entered New Billing Retry", "Renewal from Billing Retry" and so on?
Hello,I was looking at the Subscription Retention chart and, when looking at total of Subscription activated, I saw more activations than the ones that Apple Connect shows me.So I thought it could due to the fact that RevenueCat aggregate both users that has firstly activated a subscription and the ones that have activated it after the grace period, or with another payment method (billing retry), or even that have reactvated the subscription.Unfortunately though, I haven’t find any guide to understand how RevenueCat manages and groups this kind of events.May someone help me please?Many thanks.
Not receiving Apple server to server webhooks
Hey, I’m having an issue with receiving webhooks in RevenueCat from AppStoreConnect. We’ve been using these webhooks successfully for quite a while, but I’ve been testing today and haven’t been receiving anything. I took a look at the App config and it says that we haven’t received a webhook from Apple since 2021-09-16 8:06 PM. I tested the AppStoreConnect side by pointing their webhooks at a local server and I am able to receive the webhooks so it’s not on their end. Did something change on the 16th that would have broken this? Thanks. Edit: One thing worth noting, I’ve been testing out the behviour with transferring purchases between users. Perhaps RC thinks that the webhooks belong to the old user that the purchases were transferred FROM. I guess that wouldn’t explain why the UI reports 5 days since last webhook received.
Inconsistent Field Populations When Using API
When using the API to pull subscriber data prior to the 15th valid trials had is_trial_period field as “true” and is_an_intro_offer_period “false”. The sandbox data also matched. Now, both fields for new trials are “null” across sandbox and non sandbox data.Whenever we export data directly from RevenueCat customer lists directly, there are no nulls.Does anyone know what may have caused / how to solve this problem?
Can RC somehow see users with a free trial that has been setup on backend instead by introductory offer?
Before we created subscriptions in stores, we created free trial on our backend. The problem is that RevenueCat does not know or show our free trial users on the customer list.We see users only when they make a purchase thus we can’t give them promotional entitlements through the console. Is there a way for RC to see our free trials users without setting up introductory offer in subscriptions ? ( that would require UX/UI changes on our side)
Every Webhook trigger in Sandbox testing ends as Failure.
I am experimenting Webhooks as part of Sandbox Testing with App Store. In the Event Details page I see the entry for the Webhook trigger but it always ends in Failure. Also, I am unable to send the test event from the Dashboard. It says not possible to connect.The endpoint configured is tested separately, but not sure why I am experiencing this as part of the trigger or the test event. Unable to find any traces to debug this more.Attaching the screenshot for reference. Any help is greatly appreciated.Thanks
Not receiving Webhook triggers for Sandbox Testing in App Store
Hi,I am experimenting Webhooks integration for purchases events callbacks in Sandbox environment in AppStore. For every purchase transaction I do, I see that there is an attempt to trigger the Webhook in the Event Details, but I only see Retrying and Failure states. I do not see any logs about attempting the endpoint for any event at the API service level. In case of Failure, the response does not have any detail to convey the reason for failure. I have tested the endpoint separately using other clients and see that the endpoint is up and running and returns 200 status code. Not sure what is the issue here and where can I find more information to debug this situation.Any help is greatly appreciated.Thanks
Finding purchase_token from Android purchases
We wish to integrate our sales data with ChartMogul. We need to send payloads to ChartMogul with data about every purchase. In section 3 of this link from ChartMogul, it is described: purchase_token - Mandatory - The purchaseToken returned by Google Play as soon as a purchase is completed. This is usually returned within the INAPP_PURCHASE_DATA object in the getBuyIntent() method. How can we access this purchase_token? We are using the webhooks sent from RevenueCat to our backend, to align our userbase with the purchasing events from RevenueCat. However there is no purchase_token field on any of these events. I assume it has been renamed..?
Managing Block restores
Hi, we are trying to block restores for users, we would like to only associate 1 apple id to our own account, the problem we are having is that on Android(having previously configured RC to block transfers) , if we login with two different accounts but the same Google account , RC will let us buy the same product , in the other hand on apple , if we login with two different accounts of our own but the same Apple id, it will not buy the product although the purchase completes ( we know this is the intended behaviour), what we intend to do , is only link one apple o android account to our own account , i already checked the docs and other post but this different behaviour between apple and google seems strange, we hope you can help us understand better Thanks for your time.
Auto-Renewable Subscription + Consumable
This is for iOS.Is it possible to provide the paying user with a consumable In-App Purchase at the time of their initial subscription and subsequent renewals? For example, the user signs up for a 3-month subscription. At that moment we give him 10 apples. Three months later when his subscription renews, he gets 10 more apples. If there’s not an easy way with RevenueCat or iOS, then I’m sure I can think up a workaround using some Booleans and Timestamps - figured I check first.Thanks!
Configuring Consumable Products
Hello! I am confusing about configuring consumable products. I added directly all consumable products to products tab in dashboard and do not want to attach to any offerings or packages. Is it not get any problem?And in "purchaseProduct(...)", do I need check transactionState for each case or RevenueCat automatically handle and I only give user Coins(for example) Thank you so much for your help!
Two Events Webhooks Sent with Same Timestamp
We were recently testing our RevenueCat integration in the Google Play Store sandbox and had a user that was stuck in a terminal Active state even though their account had been cancelled on the Google Play Store side.It turned out that what happened was that the user started their subscription at 8:00 PM and then cancelled at 8:23 PM. Had their subscription of monthly_plan cancelled due to a billing error2021-09-07 8:23 PMStarted a subscription of monthly_plan2021-09-07 8:00 PMThe only problem was that the webhook for both of these events were sent at 8:23 PM and had the exact same ms timestamp for their `event_timestamp_ms` so we had no way to determine which happened first.My main questions are:Is this related to the fact that these were sandbox events? Are sandbox events not guaranteed to go out when the event happens? Even if this is related to them being sandbox events, is there a way to differentiate which event was applied first?
Multiple users with a single Google account subscribed twice ( second one succeed with $0 )
Lately I received multiple users who already have an active subscription from Google Play, then signed out and created a new account and from what I understand they won’t be allowed to subscribe with the same billing / Google account.However, I received a webhook call from RevenueCat that he subscribed successfully in the new account with a $0 bill.This is the webhook call back I have received from RC:"presented_offering_id": "plus","price": 0,"price_in_purchased_currency": 0,…"transaction_id": "GPA.3333-*** And both records has a unique transaction id under the same Google Play account, here’s records:I am not sure what’s happening, it’s the third times in the last 2 weeks.Please advise. P.S. I am adding a price check on the webhook function, rejecting new subscriptions with price=0, but not sure any side effects and the user still receive a “successfully subscribed” message on the frontend, so from the user’s angle it will be confusing.Thank you.
RevenueCat Google API usage more than doubled over last few days
Hello,We noticed that the Google Play API usage by the service credential we have assigned to RevenueCat more than doubled for us over the last few days.It used to be around 2 requests/second till September 4 but after that it has shot up to 4 requests/second peaking at 6 at times. The specific API is androidpublisher.SubscriptionPurchasesService.GetWe haven’t seen anything similar in our other metrics. Can anyone at RevenueCat take a look at this increase?Thanks!
Setting up a Consumable in-app Purchase Architecture
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
Already have an account? Login
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.