Get help with anything related to RevenueCat.
Recently active
We’ve been dealing with a support query from a customer who purchased the wrong annual subscription, then immediately bought the correct monthly subscription (for access to different products), but didn’t get access to the products the new subscription entitles them to.Our support log from 12 Nov 2021 at 15:53 shows that the original annual subscription is still active:Purchases.PurchaserInfo.activeSubscriptionsTPBDYhAnnually 4 Oct 2022 at 06:39TPBDInNoMonthly 4 Dec 2021 at 06:43iTunes shows the customer was given a refund from Apple for the first subscription:Other transactions greyed for confidentiality But the customer details screen doesn’t show a refund event: The customer has called Restore Subscriptions option several times now (which calls Purchases.shared.restoreTransactions), and we have also asked them to delete and reinstall the app to force generation of a new alias - none of this works.We’ve temporarily kept the customer happy by granting them a free annual that expires a
I ran an A/B test on free trials vs non-free trials and I’m trying to understand the results.The thing I’m most confused about is the difference between the revenue chart and the trial conversion chart. When a trial converts, is that when it shows as revenue?Here’s a chart comparing the same product for the last week. It is generating revenue, but no trials are convertinghttps://cln.sh/f9zbQK
Hello, I have had my android app in a closed test on the Google Play Store for the past two weeks. On Monday, i plan to promote the app to live. Is there an easy way to mimic the settings i have for my FollowTheMoney app - debug to a new FollowTheMoney app - release?
I have a server with a database for users and I can control accessing to my services by a login process.I want to grant premium access to users only for one device.If he/she wants to install my app on other devices how can I identify user and disable previous device?Is there any unique user id that refers to users?
Hello, I want to send a log to our logger system when a purchase success. I can get subscription started log from PurchaseProduct method’s callback. But I can’t find a way to send a log when subscription renewed. For example, Unity IAP system was sending a purchase log at the first opening after the player renewing their subscription. PurchaseProduct Method: private MakePurchaseFunc MakePurchaseCallback { get; set; } public void PurchaseProduct(string productIdentifier, MakePurchaseFunc callback, string type = "subs", string oldSku = null, ProrationMode prorationMode = ProrationMode.UnknownSubscriptionUpgradeDowngradePolicy) { MakePurchaseCallback = callback; _wrapper.PurchaseProduct(productIdentifier, type, oldSku, prorationMode); } I can see this logs from your Customer History Thank you!
Hello RevenueCat teamWe are using RevenueCat and we have some questions regarding webhooks.There is a new type EXPIRATION. The relevant subscription is terminated with this request. This means that all subscriptions that are no longer renewed will also be terminated by RevenueCat at the end of the subscription. As a result, we no longer have to worry about the termination on the backend side, regardless of the reported digital end date (“expiration_at_ms”). Is this assumption correct for iOS and Android? We have a relatively large number of requests PRODUCT_CHANGE that do not result in a subscription extension, not even in RevenueCat. Several such requests can come in succession without anything happening. What exactly is the purpose of the PRODUCT_CHANGE request? We are also facing the issue that PRODUCT_CHANGE and RENEWAL webhooks are not always sent in the same order to our backend system. Is this an issue on your side or is this possible to happen and we need to take care of it?Tha
Hi,I am using a web hook to track user subscription status on my server. The new EXPIRATION event seems like a good way to tell if the user should be downgraded or not. This raises a couple of questions though:If a grace period is defined in the App Store for billing issues, when does the EXPIRATION event get fired (assuming the billing issue is not resolved): before the grace period or after?Another question we have is: if a subscription is paused (possible only on Google Play), is this event (EXPIRATION) fired?Thanks!Yariv from the Bizillion team
Hello;I have implemented nine android apps without a problem but I had a problem on my tenth one. I believe I followed the same steps. I have read the article; but everything is correct according to it. I am testing on emulator. My closed test relase is approved about an hour ago. But I haven’t created a new app, I have updated an existing one. In my previous implemetations I even tested transactions when the closed track wasn’t approved. Here is the output;D/[Purchases] - DEBUG(28193): ℹ️ Debug logging enabledD/[Purchases] - DEBUG(28193): ℹ️ SDK Version - 4.3.3D/[Purchases] - DEBUG(28193): 👤 Initial App User ID - nullD/[Purchases] - DEBUG(28193): 👤 Identifying App User ID: $RCAnonymousID:8830d25f03024192be28a9d2c439fef8D/[Purchases] - DEBUG(28193): ℹ️ Deleting old synced subscriber attributes that don't belong to $RCAnonymousID:8830d25f03024192be28a9d2c439fef8D/[Purchases] - DEBUG(28193): ℹ️ App foregroundedD/[Purchases] - DEBUG(28193): ℹ️ PurchaserInfo cache is stale, updating from
I have a cross-platform app in both the iOS and Mac App Stores.The Mac and iOS versions have separate Bundle IDs and pre-date Universal purchases. The Mac app is an AppKit-based app.Is there a way to use RevenueCat to manage cross-platform purchases in this scenario?
PurchaserInfo{ entitlements: EntitlementInfos{ all: { 10People: EntitlementInfo{ identifier: 10People, isActive: false, willRenew: false, periodType: PeriodType.normal, latestPurchaseDate: 2021-11-05T18: 47: 21.000Z, originalPurchaseDate: 2021-11-05T18: 47: 21.000Z, expirationDate: 2021-11-05T19: 17: 18.000Z, store: Store.playStore, productIdentifier: 10_annual, isSandbox: true, unsubscribeDetectedAt: 2021-11-05T19: 07: 07.000Z, billingIssueDetectedAt: null }, 20People: EntitlementInfo{ identifier: 20People, isActive: true, willRenew: true, periodType: PeriodType.normal, latestPurchaseDate: 2021-11-07T22: 48: 18.000Z, originalPurchaseDate: 2021-11-07T22: 16: 23.000Z, expirationDate: 2021-11-07T23: 18: 18.000Z, store: Store.playStore, productIdentifier: 20_annual, isSandbox: true, unsubscribeDetectedAt: null,
Hi, I want to use my own UserIDs that I have migrated from MYSQL Server via API. I read the documentation but got confused at one point.I use the following to get the id of the logged in user in the application:response.data!.mainUser!.userId!So, during the installation of RevenueCat, am I use it like this to define my own user ids?await Purchases.setup("public_sdk_key", appUserId: response.data!.mainUser!.userId!);Thanks a lot…
Hi,I’m trying to clean up unnecessary entitlements on our RevenueCat account because it wasn’t setup correctly when it was done initially and was wondering if it’s possible to move a product to another entitlement and delete the incorrect entitlement without affecting the end user?So the situation is the following:There’s 2 entitlements (A and B), both unlock the same functionalities in the app. Most of our different product price subscriptions were added to entitlement A. There are 2 product subscriptions added to entitlement B and it was supposed to be just a product price test, so it’s still just unlocking the same functionalities as entitlement A, but entitlement B was created as a mistake that we didn’t realize at the time. I want to move the 2 subscriptions in entitlement B to entitlement A and then delete entitlement B. The app doesn’t explicitly check for entitlement A or B currently when it unlocks the functionalities in the app. Based on that info, would moving the product s
So we are facing a weird edge case in the app.Two months ago I created an entitlement "monthlysub" and assigned two products "monthlysub" from apple and "monthysub" from google play store (I know the naming convention is not ideal).So a user purchased the subscription "monthlysub" and cancelled it later on.Now we decided to create a new product for specific users with 30 days trial. We decided to name the new product "amplimontlysub" on both apple and google platforms.Next, I decided to add these products under the already exiting "monthlysub" entitlement. So now " monthlysub" entitlement has a total of four products.”Now when an old user who purchased two months ago but cancelled it decide to subscribe to "amplimontlysub" product and the transactions from the apple side go thru, the transaction is done I see a pop from apple "you are all set" then I get an error from revenuecat that "there is already another active subscriber using the same receipt".How do I handle this? we want to
Hi I already tanfered my App to another Google play account… I updated the new credentials on the RevenueCat app settings page as well, and new purchased are working well but when people try to restore old purchases it does not work…. any idea how to solve it?
I use swift code with storyboard , and I have in my code subscription button , but this button show only Annual subscription , I have monthly and yearly product Id in my entitlement , but it’s always show yearly price after I press that button . I want make two or more buttons one for Monthly , Yearly and also Lifetime if possible . But I don’t know how .. This my code , and the : fullappaccess is the Identifier for my entitlement in revenuecat Swift Code :@objc func goPremiumButtonTapped(sender:UIButton) { let package = self.packagesAvailableForPurchase[sender.tag] Purchases.shared.purchasePackage(package) { (transaction, purchaserInfo, error, userCancelled) in if purchaserInfo?.entitlements.all["fullappaccess"]?.isActive == true { self.dismiss(animated: true, completion: nil) } } hapticFeedback() }
Hi, We run an A/B/C pricing experiment test during the last four months in which we created 6 different subscription options mixing 3 prices and 2 durations.We now have the results and want to reduce all the subscriptions options to the winner. It seems that what I have to do is to remove the subscription availability from the App Store BUT:- If I remove the subscriptions for selling, all the users will not automatically renew at the end of the period => We'll lose existing subscribers revenue. - If I do not remove the sub availability, anyone can buy the new subscription and change to the old one via App Store Settings. Is there any solution to leave existing subscribers forever in their current subscription AND do not let anyone new buy the old subscriptions?
Hi everyone, I recently started a premium subscription for my app on Google Play Store.I started using RevenueCat to handle purchases, but I struggle to integrate it into my A/B tests that I run via Firebase Remote Config. Here is the summary of the setup. The users are presented with two choices of a subscription screen (which is recorded as a Firebase event). When a user completes a purchase, the app gets notified correctly and fires another Firebase event (along with enabling premium content for the user).So this part works fine and I can analyze the relative performance. The problem is with the cancellations. Since a user can cancel the subscription and never open the app again, I have no way of processing them reliably in my app code. So I need a different way of receiving these events from RevenueCat and into Firebase. I did not find any documentation on that. So far, I manually copy cancellations from RC console into the spreadsheet, but this is time consuming and unreliable. I
Hello;I have recently uploaded my app to Apple store but was rejected. The message is;“Specifically, on our iPad Air, the "Abonelik Satin Al" tab launched to an error message.”But this is my second app including inapp purchase and first one was approved without a problem. Also the rejected app was successful when I tested it on a real device with my sandbox account prior to the submission. They also sent these photos; What should I do?
I will really appreciate what needs doing under following circumstances:Scenario 1: I setup purchases with a userID I get from Firebase Auth after login in using firebase. Let’s say it is ‘UFID’. I am logged in with my app using ‘UFID’. My appstore ID is ‘ApsID’. I do my in app purchase on my iPhone and everything is hunky dory!** Now I lost my iPhone **Question1: Is my purchase attached to my ‘UFID’ or my ‘ApsID’? - For example can I login in my app on another iPhone with my UFID and restore purchases if 1 - the ApsID is different? 2 - the ApsID is the same? Question 2: Can same subscription run on Android & iPhone without any separate backend or the person needs to buy separate subscriptions for each platform?Thanks
Hi, appreciate any suggestions on how to fix this Flutter credentials issue for Android in Google Play Store: There was a credentials issue. Check the underlying error for more details.I/flutter ( 4040): PlatformException(11, There was a credentials issue. Check the underlying error for more details., {code: 11, message: There was a credentials issue. Check the underlying error for more details., readableErrorCode: InvalidCredentialsError, readable_error_code: InvalidCredentialsError, underlyingErrorMessage: Invalid Play Store credentials., userCancelled: false}, null)
Like the title suggests, I’m testing a new subscription, and sandbox user showing purchases from prior RevenueCat in 2018 with product that's not added to RC products. Is this normal? How do I decouple that? Anyone has run into the same thing or has a clue? Thanks ahead!
Hey guys, My question might be dumb, but I would like to add my main account (personal address email) as a free forever entitlement, how can I do that ? Yes I could pay a subscription directly, but I would not recover all the money since the App Store/Play Store will take 15-30% for every transaction.
I selected purchase price ¥550/JPY in Google Play Console, but RevenueCat Webhooks return ¥600/JPY as `price_in_purchased_currency`, I expected ¥550/JPY.Why does the issue occur? Please tell me RevenueCat console setting if exists.it's too serious, since Apple/Goolge requires difference price in same product.Thank you.
We are launching a platform with two types of users PRO and NORMAL. The WebSite serves both the PRO and the NORMAL user, but for the apps we would like to have one App for NORMAL user and one App for PROQuestionsHow many revenuCat accounts do I need? Do I need to service accounts in the google Play platform? Thanks
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.
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.