Get help with anything related to RevenueCat.
Recently active
Hello, I want to delete the users whose premium period has expired completely from the database. I found out that I need webhooks for this.I read the webhooks document but don't understand, is the premium control on the mobile side? What should be in the endpoint section? It would be great if we could see it as an example.We thank you.
How can I edit the description of a product I have created? I see how I can edit the description of an entitlement or offering, but not a product.
Hello RC Community This morning in production we hit our first “Restore Purchase” scenario and hit a few hicups.We had a user sign up for a subscription, then immediately sign into another account on our app. (So two users on OUR app, using one apple ID) They triggered the restore purchase behavior (our app is currently set to ‘Transfer Purchases’) and we did see a TRANSFER event for both of these users in the dashboard - but did NOT receive a webhook. Looking at the RC dashboard we can see: User 1 started a subscription (We got the INITAL_PURCHASE webhook successfully) User 1 got a transfered event (Transfered to User 2’s ID) User 1 lost all their entitlements/subscriptions User 2 got all of their entitlements & subscriptions The problem we are hitting is that we keep record of subscriptions on our end using the recommended method in the docs: to refresh a user’s data whenever we receive a webhook. BUT we didn’t receive a TRANSFER webhook for EITHER of these users, so now our dat
The docs at https://meet.google.com/ayp-nghg-vfj?hs=146&authuser=1 say that I should add the roles “Pub/Sub Admin” and “Monitoring Viewer”, but I don’t see those in the list of available roles. How can I add those roles?
Hi,I am trying to debug my iOS app with console. When i set up my sandbox user, i could only select a monthly subscription. My app offers a weekly and a monthly.In addition, my logger messages do not display my available packages. I see that i have 2 packages set up, but they are displaying as <private> Is there any way to display them? Thanks for your help!Brian
Hello, in our team we are thinking about using Revenuecat as the single source of truth for ALL our purchases and subscriptions.We were wondering, can we create purchases “outside” the usual (Apple google stripe...), for example, create a purchase with currency “Apples”.We want to support cryptocurrency payments, and Revenuecat seems a good choice to store all our payments data. So the idea would be to use the REST API to store different custom payments likeUser 1234 paid 0.5 ETH at 02/28/2022Is that possible? and, what are the cons of doing this, our analytics and graphs will get dirty? Thanks.
I’m moving my new subscription service to revenuecat.The way current system works is this:1. User makes purchase from either iOS or stripe2. if purchased on iOS, entry is created on DB with app_user_id & purchase id3. Receive webhooks from apple/stripe and use that to give user premiumI have a couple concerns:Do I need to use syncPurchases? I don’t see how it makes sense if a customer has purchased through stripe With receipt forwarding, older versions of my app don’t send receipts, just user id and purchase id. Your create purchase endpoint requires the full base64 receipt, what can I do? For migrating, I don’t have the base64 encoded receipt file, just the unencoded purchase details
Hi,I have a question regarding RevenueCat.As an example: Suppose a company has the following:- Company has three iPads- these three iPads are associated to one Apple ID- each iPad registers with its own business email address and password- The password is only for the company and controls things like delete account etc. (administration)- Licenses are associated with this own business email address.Does it work that I can implement a monthly subscription to each iPad, i.e. for each email address with RevenueCat?
I have a problem using RevenueCat on IOS.When I login user A account and link it to RevenueCate. And Then Buy Package A. On the same phone, I logout account A then login account B and the buy Package B, but the list of entitlements returned entitlements A and B.In this case, Can we link Package A to account A and Package B to account B?
I’m implementing RC on Android. Sandbox testing.My use case is this:✅ I make a purchase in the app and reload the purchaser info ✅ The user correctly now has an active subscription, in both RC and Google Play Store❌ 5 minutes later I re-open the app and load purchaser info. The active subscription is gone from RC, both via getPurchaserInfo and on the website✅ On Google Play Store it’s however correctly still active and I keep getting purchase confirmations mails every 5 minutesWhy is the subscription deleted from RC after the initial 5 minute subscription period?
Relatively minor but just seeking some clarification on the numbers in the dashboard. We are currently doing testing and haven’t published the app to a production environment yet. As it stands the dashboard is showing 132 new customers and 138 active users, all of these are test users. Deleting the test customers does remove them from the Customers list (after a period of time) however the dashboard still seems to count them. Active users, as I understand it, is just the number of user ID’s (including anonymous/generated) that have been seen within 28 days. My question is over time we’ll still be testing things and will interfere with these numbers. Is there anyway to differentiate between the testing users and production. Toggling the ‘View Sandbox data’ doesn’t seem to effect these numbers?
I would like to track on my server when each user first subscribed. I hit the /subscriptions endpoint and check `subscriber.original_purchase_date`, but it is set to some date in 2013 (I only started implementing IAPs in the past couple of weeks). The property under `subscriptions.<product>.original_purchase_date` seems correct, but I would prefer not to have to check every product in that `subscriptions` dictionary for the earliest date, especially not knowing right now which products I will want to add later, and which of those I will count as subscriptions.What is the purpose of `subscriber.original_purchase_date` and why is it set so early? Is it an artifact of Sandbox testing? A bug?
Hello,I have an app, where I’m selling pictures. I have Non-Consumable and Auto-Renewable Subscription formula. This means, you can buy pictures one by one or you can subscribe for one year to get all of them. My GET API check your inventory, to make sure you own the image. Therefore I synchronise the database via Webhook. My RevenueCat structures look like this:I have 1 offering called default, with 2 packages (Annual and Lifetime) Annual package has 1 product Lifetime package has 1 product (I don’t want to map the product-image one by one, cuz it’s not scaleable) I have 2 entitlements First one is for lifetime things, therefore this has only 1 product (Lifetime package) Second one is for subscriptions and lifetime things, therefore this has 2 products My problem is, if my customer make a Non-Consumable purchase (so buy only 1 image), my webhook called, but i do not know, which image was bought. I know who bought, cuz after login I’m settings the app_user_id. Any suggestion?
User got purchase transferred from another user, in the renewal event after this transfer the webhook did not receive app user id, instead only RCAnonymousID is included in the webhook request. How do I know which user had this renewal in this case?
When I test the subscription in the sandbox, it prompts:Apple Media Services Terms and Conditions have changed.Finally, "Coming Soon!" appears and it is over, there is no response.Please see the screenshot below to help me see if any steps are missing.thank you all.
Hi, really loving RevenueCat!I have the following situation:Android App I initialize Purchases SDK in the AndroidApplication class with an anonymous User ID User logs in → I log in the user into the purchases SDK → User has an anonymous ID + my domain user IDThe problem happens, when the following happens:The user purchases a subscription with automatic renewal The user uninstalls the app and then installs it again The next time the webhook calls my backend for the renewal, it will contain ONLY an previously unknown anonymous ID and no way for me to match it to the userThe main problem stems from this I believe:Current App User ID Provided App User ID already exists? Provided App User ID has anonymous alias? Result Anonymous Yes Yes PurchaserInfo changes to Provided ID, no aliases created. My solution is to manually alias the current app user Id every time a user logs in IF the current app user id is an anonymous one. It has worked so far, however, it feels strange. Is t
Hey team, consider the following scenario: User Signs up. We show them an “Initial Paywall” Offerings: $20 month, 2 week free, $80 a year, 2 week free Here, we let the user “Skip” the Paywall In this case, we don’t show it to them again, for 2 weeks _2 weeks later_. We show the user a “Blocking Paywall” Offerings: $20 month, $80 a year Some users buy at “Initial Paywall”, some users buy at “Blocking Paywall”. 3 months later, the user goes to their “Membership Settings” We want to let the user upgrade / downgrade Here, their `activeSubs` could contain _either_ 2 weeks free, or notProblem:Let’s say in the upgrade / downgrade, I have “$20 a month”, “$80 a month”. A user on the “20 a month, 2 weeks free” _can theoretically “upgrade” to the $20 a month plan. This feels like a bug, as it won’t make a difference -- I would like it so they can only upgrade to the yearly one. Is there a “best way” to handle this scenario?
Good morning,We are trying to integrate Stripe into RevenueCat, in addition with Google Play and App Store. We had some doubts regarding if our product structure in Stripe is adequate for integration.- We have a Prime Entitlement.- In Stripe we have 2 products, one for Spain and one for the US.- Each of them has 3 prices (what in RevenueCat are packages) for monthly, quarterly and yearly subscription.These three packages are the same ones we have in Apple and Google Play.Therefore in Stripe we have two products, each of them with 3 prices.Will this Stripe structure work with Revenuecat? If not, how could we properly modify our Stripe structure to work correclty?
MyApp requires signIn operation for purchase.And also, `Purchases.logIn("my_app_user_id");` after signIn. But, `created a new alias` executed about 1 month after purchased.This occurs a few users. Why??In the period, it has been used `$RC:AnonymouseID:xxx` instead of `my_app_user_id`.It is not expected. it should create alias as `my_app_user_id` as soon as possible(ex. next to First seen using the app). Any help, please
Hi,I’m looking for an advice or a guidance how to fill the Data safety form in Google Play in regard to RevenueCat integration. Our app is not collecting any private user data, no account is necessary, no ads, no analytics implemented, but offers subscription to Premium version with unlimited functionality. We are processing Premium subscriptions using RevenueCat SDK. We are getting anonymous information about users who started trial/purchased/canceled subscription. All we know is that “someone” (we get anonymous user ID, e.g. $RCAnonymousID:23kkjjj344kjkjkjkjkj3jkjjjkjkj) in Canada using Android device opened the app, started a trial, purchased the Premium subscription, or canceled trial, opt out from renewal of Premium subscription. I assume the “data type” we collect is only “Financial info – Purchase history”. I assume this data is “collected” and users can “choose whether this data is collected”, since users can use the app without purchasing the Premium subscription. I assume the
Hi, I have some confusion betweenif let info = purchaserInfo { if info.allPurchasedProductIdentifiers.contains("xxx") {and if purchaserInfo?.entitlements["pro"]?.isActive == true {Basically, i am trying to check if the user has subscription or not. I am checking with .onAppear in the default main view. I am new and would like to learn how to check if the user subscription period hasnt finished (doesnt matter if the user cancelled the subscription or not, of course)
Hi there,I’m trying to fetch my consumable offers on my iOS simulator but I get empty products. I have performed the following steps.Set app credential from app store connect to revenue cat Enable IAP on XCode Follow https://www.revenuecat.com/docs/apple-app-store and created storekit file and uploaded to revenuecat Create product on revenue cat On iOS simulator iPhone 13, when I call fetch offers I get the error ```flutter: PlatformException(23, None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).This could be due to a timeout, or a problem in your configuration.More information: https://rev.cat/why-are-offerings-empty, {code: 23, message: None of the products registered in the RevenueCat dashboard could be fetched from App Store Connect (or the StoreKit Configuration file if one is being used).This could be due to a timeout, or a problem in your configuration.More information: ht
Hi all! I followed this video: https://www.youtube.com/watch?v=0H2SdKf4ot0 which was immensely helpful in helping me get RC setup in my SwiftUI app. I was able to get purchasing working for a single subscription using a button: VStack { Button(action: { Purchases.shared.offerings { offerings, error in if let packages = offerings?.current?.availablePackages { Purchases.shared.purchasePackage(packages.first!, { transaction, purchaserInfo, error, userCancelled in print("TRANSACTION: \(transaction)") print("PURCHASER INFO: \(purchaserInfo)") print("USER CANCELED: \(userCancelled)") if purchaserInfo?.entitlements["Pro"]?.isActive == true { } }) }
Hello,The following link https://www.revenuecat.com/support returns 404 and it is used in “report the problem” link here: https://docs.revenuecat.com/docs/errors#-unexpected_backend_response_error
We have a production version of the app on testflight, and i assume users can make free IAP’s with sandbox there and gain premium user status.When we promote this build to appstore, as its backed by the same environment, users can use their same account on production.I wanted to know, will revenue cat update our backend to make their account ‘non premium’ again after they open the appstore build of the app? despite using their same user account and backend server that they had sandbox premium on in testflight?I didnt want a situation where users are non premium in revenue cat, but still marked as premium on our server causing issues.Thanks
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.