Discussion and help from anything related to RevenueCat.
Recently active
Hi everyone,I create a Webhook URL but when I try to receive real events but I don't see them in the “Webhook Events” list - is empty and also in my web hook server I didn't receive anything, but in “Recent Transactions” I see it why? “Refresh” - don't do anything.
Hi, I’ve configured Free Trial offer on both Monthly and Yearly Plans in Google Play Store.The free trial (14 days) shows up in payment sheet incase of Yearly plans, but not incase of Monthly plans.The configuration is exactly the same in both monthly and yearly subscriptions and when I fetch the product info I get the following object - {…,freeTrialPeriod:”P2W”,...} in Logcat. Following the eligibility criteria - I fetch all entitlements and allPurchasedProductIdentifiers to make sure that user has not subscribed to the plan beforehand So, I’m not sure why its not reflecting in pay sheet only in case of monthly plans.Any help regarding this topic will be appreciated.
Hi,If Ive an auto-renewable subscription and uninstall the app. after reinstalling again the sheet to subscribe pops up. Is that correct? And if you assumed again click on subscribe that the money isnt debited?And when Im testing, the subscription of my app isnt displayed in the Apple ID under Subscription. Is this all correct and is this only due to testing?
I have a customer that converted from a trial for $0, and it’s renewing at $0, and just got a billing error but still the subscription will renew next month? what is going on here?
Goal: I’d set up a monthly/yearly subscription plan for App Store users, and now would like to increase the price for new users. However, I’d like to grandfather the old users’ price (i.e. their subscription prices ideally wouldn’t change).Setup: I originally created 2 new products in Apple/RevenueCat, created a new RevenueCat offering pointing to those products, and then made the new offering the default. Within my app, the new price is as expected! However, if a user goes to their payment settings, they can see ALL of the pricing. I have paying users across all 4 subscription products. Question: As I understand it, if I untick “Cleared for Sale” on the old products, old users’ subscriptions will stop. Is there a way to do this without disrupting the user? Thank you!
I have added multiple subscription prices to App Store Connect so I can switch between them using the RevenueCat current offering to do some A/B testing on prices.But this got me thinking...When a user views their subscriptions in their App Store account, they can make changes like cancel or upgrade/downgrade a subscription.Will this list offer the user all the available subscription prices? Can a user go to this page then select the lowest priced subscription to change to before a free trial expires then get it for the lower price?There doesn’t seem to be a way to tell ASC which subscriptions to show as not/available.
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
Want object structure and demo values for return object of Purchases.getOfferings(). It returns an object of “current” and “all” keys. And don’t return demo values with which we can test in debug mode.
I see the option to override an offering on the customer page. I’m assuming this doesn’t change the offering the customer has with Apple/Google? The user case I'm tried to cater for is the following: Existing subscriber completes a challenge in app. We reward them with a promotion on their subscription (e.g. 30 days free).From what I've read you can use iOS offer codes, but its messy. Wondering if anyway to setup a promo in RevCat then target specific user IDs by overriding their offering. Likely not but thought I would ask anyway. Thanks all
Hello,We noticed when testing the RevenueCat subscription, the expiration window is very short. Here's an example of a webhook payload registering a successfully initial purchase. Note that the event time is "Thu Jun 16 2022 10:45:08 GMT-0700 " and expiration time is "Thu Jun 16 2022 11:45:02 GMT-0700". What seems to happen is that after that window, we are forced to go through the subscription user journey again. Is there any to not have the subscription auto-expire in such a short window?{ "api_version": "1.0", "event": { "aliases": [ "$RCAnonymousID:7a56d17ff84b4c0bbd29054eeb2422fa", "$RCAnonymousID:1d4d14da64ed4fc8beed542a1b330b54", "$RCAnonymousID:8b49f5f9b29948ba99fd7efc58c37793", "d8d53812-6c9f-46a5-9502-bbb25e37bfe6" ], "app_id": "app858c963db5", "app_user_id": "d8d53812-6c9f-46a5-9502-bbb25e37bfe6", "country_code": "US", "currency": "USD", "entitlement_id": null, "entitlement_ids": [ "allaccess" ], "environment": "SANDBO
Hi,I am able to buy some consumable (on iOS Sim & Device) using my Sandbox account. I see : [Purchases] - INFO: 😻💰 Purchased product - 'xxxxxx' 15:33:28 DEBUG Purchase succeeded. Optional({ "bundleId" : "xxx", "deviceVerification" : "w97BiaZOSrXxTrvrR6wTZuT44AL39rFO+V0gTIoE45eIjLCz6d4KmmemegmqFect", "deviceVerificationNonce" : "39520f62-1cba-4ef9-a348-6523a7baeb17", "inAppOwnershipType" : "PURCHASED", "originalPurchaseDate" : 1655494381866.502, "originalTransactionId" : "11", "productId" : "xxxxxx", "purchaseDate" : 1655494381866.502, "quantity" : 1, "signedDate" : 1655494381867.5581, "transactionId" : "11", "type" : "Consumable"}) But Dashboard is still empty & [5 - Make a test purchase] is still unchecked.I configured the sandbox endoint in the AppStore.So I am stuck.Do you have an idea?
Imagine that my app crashes just after a successful payment. I want to know purchase to finish when my app restarts.I don’t see in the docs how to do it using RevenueCat. I was using this code: SwiftyStoreKit.completeTransactions(atomically: true) { purchases in for purchase in purchases { switch purchase.transaction.transactionState { case .purchased, .restored: if purchase.needsFinishTransaction { // Deliver content from server, then: SwiftyStoreKit.finishTransaction(purchase.transaction) } // Unlock content case .failed, .purchasing, .deferred: break // do nothing } }} Thanks
I am currently building an app in Flutter using RevenueCat for the in-app-purchases.I now want to know for each user, if he has already made an in-app-purchase, since I have trial subscriptions activated. I need this information, because I want to adjust the UI in case a user registers with a new account that I haven't seen in RevenueCat so far. In this case, he won't be able to use the trial subscription again, since Google/Apple prevent this.I am using a custom ID for every user in my app and I use this ID for RevenueCat aswell, one could just create a new account and get a different user id. Ass far as I understand, in this case, this looks like a "new" user to RevenueCat which has no subscriptions. I think the solution would have to check the GooglePlay-Account for an already purchased subscriptionSo far I have not found a way to find out, if a user has already made an in-app-purchase. Any ideas on how to achieve this?Thanks.
The App Store account deletion rule references “guest accounts” as also requiring deletion. Should I assume that “guest” would be analogous to RevenueCat’s “anonymous users” that are automatically generated in RevenueCat? And therefore that these anonymous accounts would be subject to the same deletion rule even though there is no personal user information linked to that id?If so, and I wanted to manually delete the account upon user request, what would be the best practice method of obtaining the anonymous user id so that they could be manually deleted? (I have no server for the app). Thank you!
We’ve got an issue where the PurchaserInfo is empty when using same appUserID but different device/platform. We’re using the Legacy (Alias) mode because we want the user to share the entitlements across multiple devices.This scenario is: Android (paying Subscriber) -> iOS (new device)Is what we’re trying to do possible? Is there a reason why the PurchaserInfo would be empty on the iOS device.We checked to see if RC is throwing any errors when restore purchases is pressed, which it isn’t. Obviously, we don’t expect Restore Purchases to actually restore a purchase, but we do expect it to send the entitlements for the appUserID. Is our understanding correct?
I am using the flutter SDK to integrate IAP to my app and i am using the non renewable subscription model. I want to get a unique transaction ID issued by apple to send to my server to store it if the user wants to refund his purchase in the future.
HiI have set up the stripe webhook using the docs and have tried to add test subscriptions on Stripe manually and using Stripe Checkout. The Stripe webhook page shows me that the events did go through as shown here: but on Revenue Cat my dashboard is still empty completely. I am not sure where the issue is and would appreciate any help!
I have implemented consumable in-app purchases with revenue cat and wanted to use the anonymous ID (“$RCAnonymousID:…) to keep track of the purchases a user has made. This seems to work fine until a user reinstalls the app or I upload a new version of the app. I call the restore function to get previous purchases but if I check the ID with the originalRevenueCatID method I get a different ID if I reinstall the appI tested this with TestFlight (iOs) and reinstalled the same version of the app after I purchased something but the purchase is gone and also the ID is something else. Is this because of TestFlight maybe and it should work if I publish the app? Or is this generally not possible?I basically wanted to not force the user to create an account and still be able to keep track of in-app purchases across multiple versions of the same app and of course re installationsHope this is the right place to ask. Would appreciate any kind of advice!
There is another question out there marked as solved (see below) however I believe there is a need to re-open this as per recent changes to Google policy. Google is now requiring apps to allow for cancelling a subscription from within an app. An email was sent to app developers about a policy change: We’re updating our Subscriptions policy to state that users must be able to easily cancel their subscriptions from within the app. You’ll have at least 30 days from the date of this notification to update your app to comply with the following policy changes.As this is not currently possible via RevenuCat it means that apps are in danger of being in violation of Google policies and banned from the Play Store. We urgently need a way to cancel a subscription so that it does not renew but without refunding for purchases already made.
Through the Google Play API you can revoke, refund, and cancel a subscription. Through the RevenueCat API you can revoke and refund, not cancel. Is there going to be added support for canceling a subscription?
Hi,I am making an app where users can purchase the same subscription multiple times. Is this possible?
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?
My Xcode app has RevenueCat Purchases.configure(withAPIKey: "myApiKey") which runs fine in a device from Xcode. The same app crashes in TestFlight after 2 minutes even if left alone. I commented out Purchases.configure and it stopped crashing in TestFlight. I need help.
We have native iOS app with revenue Cat, its work perfect. Now we rewrite our app with Flutter framework. In app written with flutter we use revenueCat too and it works perfect on Android(release) and iOS(test flight). Imagine user bought subscription in native iOS app, then we realese new version app written with flutter, user install it and want to restore subscription. Now question will the subscription been restored ?
Hey guys. Apparently there has been an update to the Google Play Developer Program Policy where customers “must be able to easily cancel their subscription from within the app.”I was wondering what the best approach for this was. I’m under the impression that cancelling a subscription in-app isn't possible yet? If I’m wrong could someone point me in the right direction?I did come across this thread that says how redirect the user manage their subscription? Does any one know if this method would suffice?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.