Discussion and help from anything related to RevenueCat.
Recently active
Hey all, I love the idea of RevenueCat being the single source of truth for payments, especially the subscription part.I am building an app that is cross platform(android, ios and web). I use Ionic capacitor, so the frontend is also fully cross platform. But I have quite a few different payment methods.I am adding both in app purchases and also stripe for web. But for web, I also support crypto(eth) payment. Now I know RevenueCat does not and most likely cannot support “all” payment methods. So I am not asking for Crypto payment method support, but it would be super nice if we could add a general customizable app in the project settings, where my backend can simply post new payment data created by some other 3rd party payment method(such as crypto) With this implemented, I can just check RevenueCat data to check if a user is subscribed to a specific plan, whereas now, I would have to check both RevenueCat and also check if a user is subscribed through Crypto, basically as soon as we ad
Hi!I have paywall in my app which provides different types of subscriptions. However there is an option for once time payment too.In AppStore I’ve configured this lifetime plan as non-consumable purchase and it works fine.In PlayMarket I’ve added the item to the “In-app products” section. “Allow users to purchase more than 1 of this product in a single transaction” option is OFF, tax is set as service. However on Android I get all my subscription-type offerings normally, but my “lifetime” offering returns as null.Of course both products, iOS identifier and Android identifier, are added to the dashboard and the proper “lifetime” offering item. What else I’m missing?Thank you in advance!
Why might I be seeing churn greater than 100% when I look at annual churn?
Hi!I’m integrating Adjust with Revenue cat. Could you please help to understand what event goes into the “Initial purchase event token” field? In my app, I have the following subscriptions and purchases:Trial → weekly subscription Monthly subscription without trial One-time purchaseAs far as I understand in my case the Monthly subscription should go to the “Initial purchase event token”. Is that right?
I’m trying to test the Amazon library, and get the following for Offerings back from RC…{“offerings”: {“all”:{}, “current”:null}}Notes:We only have one Offering Works on iOS and Play Using the correct new Amazon Public app-specific API key Checked “Use Amazon” in UnityAny insight into this issue?Thanks!
I’ve prepared my Amazon app to use RevenueCat for my app subscription and run into the following issue. (Details on the steps I’ve done are show below the description of the issue I am having) When trying to retrieve the offering in my app on an Kindle Fire Tablet, using Purchases.getSharedInstance().purchasePackage(SettingsSubscription.this,packageOffer1, new MakePurchaseListener() { @Override public void onCompleted(@NonNull Purchase purchase, @NonNull PurchaserInfo purchaserInfo) { } @Override public void onError(@NonNull PurchasesError error, boolean userCancelled) { // No purchase }});I receive the following error in the onError method.ERROR: Error fetching offerings - PurchasesError(code=PurchaseNotAllowedError, underlyingErrorMessage=Billing is not available in this device. DebugMessage: Billing service unavailable on device.. ErrorCode: BILLING_UNAVAILABLE., message='The device or user is not allo
Hi thereI can see charts for our Active Trials and would like to see a future projected revenue forecast based on when those trials are due to convert.Even better if it accounts for our trial conversion rate based on product, but no problem if I need to guesstimate that myself.How might I do this?Tobin
Is it possible to get the value of currency in initial_purchase web hook where period_type = TRIAL. Initial_purchase webhook return currency: null when trial is provided to the user. I need a currency value to create subscriptions in my system.
Flutter Channel stable, 2.10.4Dart SDK version: 2.16.2 (stable)purchases_flutter: ^3.10.0Serial request done: GET /subscribers/#######/offerings, 0 requests left in the queue[Purchases] - DEBUG: ℹ️ API request completed with status: GET /v1/subscribers/######/offerings 304
I just started trying out RevenueCat today and I want some clarification about not being able to use an SDK for the web, hence not able to get `getPurchaseInfo` of a user to check what subscription the user is on. What would be the best way to do this?I have a cross platform app built with capacitor for android, ios and also for web.I am working on adding app purchases and stripe for web.I realized that I cannot use the Ionic Capacitor sdk on the web. The error message says `cordova_not_available`, which makes sense. So would this “plan checking”, have to be done on my backend side, where my backend does an API request to RevenueCat backend and my backend sends this information to the web client? Then, why not do it this way on the mobile app?
We recently had a user who started their 14 day free trial on March 31.We got a webhook from revenueCat for this initial purchase with an expiration date of April 14 at 06:13GMT. We use this expiration date as the trial end date / next renewal date.The user’s customer profile lists that their trial converts on April 15th and we haven’t yet received another webhook for this user (which makes sense because it is not the 15th yet).Why is there a discrepency between the expiration date in the webhook and the trial conversion date?These types of errors end up with users who don’t have access to an app that they paid for and are very rightfully upset as a result.
We are testing the android side subscription and it is not working. We have managed to complete the iOS side configuration successfully, Subscribed from iOS and fetched from android as well. But,But, when we try to subscribe from android, subscription get's completed as well in the plays tore account. But It's going to the on error method of the revenuecat SDKs. And the error message prints below error2021-12-18 12:40:50.694 29887-30921/com.goviral.app D/[Purchases] - DEBUG: ℹ️ API request completed with status: POST /receipts 5032021-12-18 12:40:50.698 29887-30921/com.goviral.app E/[Purchases] - ERROR: 🤖‼️ There was a problem with the Play Store. Please guide us on why this is happening, Since playstore account is showing the subscription successfully. But revenue cat is not getting it and showing the above error and not reflecting in the users account.
Hi guys, I just added/configured RevenueCat in one of my apps and when I try to test in the simulator with the StoreKit Configuration File I’m getting some weird errors… Basically I was able to purchase the auto renewable subscription I’ve set up but now each time when I start the app, the SDK sends a request to the /v1/subscribers/{UUID} and when it tries to decode the response it throws an error with No value associated with key CodingKeys(stringValue: \"attributesErrorResponse\", intValue: nil) (\"attributesErrorResponse\"), converted to attributes_error_response. As far as I can tell from the debug console messages everything else seems to be fine, no errors happening… I’m using the latest version, 4.2.1 via SPM.Any ideas what I’m missing?Thank you!-------Later Edit. This is weird, but was caused by a misconfigured bundle id. My debug builds will append a .dev suffix to the bundle id so … this is was screwing up with RevenueCat SDK.
Hello,it’s possible to test Purchases with android emulator (google pay activated) , because Offerings.current is empty.2021-12-14 17:33:19.831 11616-11920/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ API request started: GET /subscribers/1/offerings2021-12-14 17:33:19.831 11616-11920/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ API request completed with status: GET /subscribers/1/offerings 3042021-12-14 17:33:19.831 11616-11920/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: um.subscription.gold.monthly.kart2021-12-14 17:33:19.832 11616-11920/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ Requesting products from the store with identifiers: um.subscription.gold.monthly.kart2021-12-14 17:33:19.832 11616-11920/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ Querying purchases2021-12-14 17:33:19.841 11616-11929/io.umotorsports.kart D/[Purchases] - DEBUG: ℹ️ Products request finished for um.subscription.gold.monthly.kart2021-12-14 1
Hi, When filtering in the customer view, can we please add a filter for price in purchased currency. We’re trying to identify customers who have redeemed a promotional offer, and are currently using a range on total spent. This leads to lots of false positives in our reporting. Additionally if this field could also be sent as part of the Amplitude integration that would be super helpful for our reporting. Thanks
We are missing some INITIAL_PURCHASE events (approximately 1-2k in the last 3 months) You can see the dashboard shows no integrations for this event: Despite other INITIAL_PURCHASE events around the same time showing that they did send: We rely on these events for our customer comms and engagement and also to warn users when their free trial is ending. Our webhook integration is setup correctly and this error seems to happen at random. I’d be happy to DM some event ids etc for your investigation.
Hi,We are using Alias (legacy) restore behavior and I wonder if switching to Transfer purchases would be safe to do?We already have paying users. We do not have any login mechanism in the app itself and we fully rely on RevenueCat. My motivation to switch from Alias (Legacy) to Transfer Purchases is to enable premium users to get premium features connected with the Premium subscription on multiple devices they use with their Apple ID/Google ID.So the desired result is that a user who downloads our app on a mobile phone and pays for Premium Subscription can download our app also on iPad or other phone and will get premium features of our app on those devices too.Could you please advise if this is doable with switching to Transfer Purchases and if it is safe to switch restore behavior on a running app?Thank you.Lukas
We are interested in supporting App Store Promotion for our subscription feature and noticed saw that SKPaymentTransactionObserver method is required to process this transaction. We are using Flutter with RevenueCat (and inexperienced with native iOS) and had some clarifying questions:Is shouldPurchasePromoProduct in https://docs.revenuecat.com/v3.0/docs/configuring-sdk equivalent to supporting the SKPaymentTransactionObserver? If question above is yes, does shouldPurchasePromoProduct have to be implemented on the native iOS side? Is there any recommended ways to support this in Flutter? The documentation mentions “If your app is able to handle a purchase at the current time.” What conditions or user states should we be aware of to know if the purchase can be handled (e.g., is it just whether we can tell our app that the user is now a subscribed user?) Thanks!
Hi,I am seeing a weird behavior from RevenueCat in our app where purchases are getting linked to the wrong account. I’ve been able to narrow it down to the following use case: User logs in with new account. User subscribes. User cancels their subscription. User deletes account. User’s subscription expires. User logs in with new account. User subscribes again. Purchase is linked to old account instead of the new account. Here’s what I see in the customer history for the old account who is erroneously getting the subscription: Here’s the history for the new account (Don’t mind the promotional entitlement I granted them while I investigated the issue): This is clearly the wrong behavior since the user purchased the subscription after logging in with the new account. The purchase should not count as a renewal but as a new purchase on the new account. It seems that RevenueCat erroneously thinks the old subscription was renewed. I do understand that restoring purchases might solve this iss
I have an app which is available both on App Store and on Google Play.What should be the correct, expected (or even required) behavior from this app when handling a user’s subscriptions on these two platforms?I’d like to break this question into the following use cases:If the user has an iPhone and purchases a subscription via Apple, should this subscription be also reflected for him if he logs in to the app on an Android device without paying anything to Google? Or should I also require that the user purchases the same subscription via Google if he wants to have access to the Android version paid content of the app? Likewise, if the user has an Android device and purchases a subscription via Google Play, should I make the app premium content available for this same user also on the App Store (iOS app version) without the user also paying Apple for the subscription service? (Which I think the answer is probably really NO when looking at it from Apple’s perspective).In other words: if t
Hello, Just received a rejection because StoreKit did not return any products for my app. This is my 1.0 submission, but I previously submitted a build that was approved, as were all my iAPs.Now I’m submitting a new 1.0 build, and with all iAPs approved, StoreKit is not returning any products, resulting in a rejection.Everything works perfectly in Debug and TestFlight
Date problem….The date/time here in the UK is currently 04/06/13:02.Here is the json for a subscriber that is reporting an issue: "entitlements": { "TPBDCore": { "expires_date": "2022-05-06T18:06:16Z", "grace_period_expires_date": null, "product_identifier": "TPBDInNoMonthly", "purchase_date": "2022-04-06T18:06:16Z" }, "tpbdinad": { "expires_date": "2022-05-06T10:26:58Z", "grace_period_expires_date": null, "product_identifier": “TPBDInAdMonthly", "purchase_date": "2022-04-06T10:26:58Z" }, "tpbdinno": { "expires_date": "2022-05-06T18:06:16Z", "grace_period_expires_date": null, "product_identifier": “TPBDInNoMonthly", "purchase_date": "2022-04-06T18:06:16Z" } },As you can see, the TPBDInNoMonthly subscription is showing a purchase date in the future. As a consequence it is incorrectly overriding the TPBDInAdMonthly subscription the customer moved to this morning.The cus
I’m creating a new offering to run an experiment, I’ve done this a few times before. All of the products are approved by apple and in use in production.I’ve created the new offering in RC (pro_annual_higher) and it shows ⚠️ 0 packages: but when I click on the package, it shows that there are 3 packages associated with it: Will this work in an experiment? Or will there be no products shown?CheersLewis
Hello, We are receiving high volume of Unknown Error from Apple during the purchase. Let’s say 1 of 8 users clicked free trial start button gets this error with Revenue Cat. Before we had the same problem as well.“There was a problem with the App Store.”Is that normal ratio? I believe there is something weird. Best,Gokhan
I'm moving from my paid iOS app to a subscription model. I synced the build number of the paid app using the purchaseHelper. https://github.com/codykerns/PurchasesHelperCompatibilityAccessManager.shared.syncReceiptIfNeededAndRegister(entitlements: [ .init(entitlement: "premium", compatibleVersions: ["1", "2", "3","4","5"]) ]) How can I test that existing paying users are converted to Premium before releasing the app?If I buy a paid app on my device and update it to a test flight, will I be able to test it?
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.