Get help with anything related to RevenueCat.
Recently active
For simplicity, suppose I'm running a subscription smoothie business only on the App Store. I'd like to set up IAP for weekly/monthly/yearly subscriptions for smoothies. In addition to the smoothies, users can mix-and-match subscriptions for premium upgrades, including fancy straws and glass mugs. With their smoothies some users want one, or the other, or both.Additionally, users can purchase consumable tokens for pretzels. Users would only subscribe to the premium upgrades of straws and mugs if they got a base subscription for smoothies. They also may start with a smoothies and upgrade later. It makes little sense for a subscription for a straw or a mug to renew differently from their smoothie subscription. Cancelling their smoothie subscription should cancel any straw & mug subscriptions.How do I structure my packages/entitlements/offerings/products to account for these while keeping it sane? The only way I see it, but seems too complex, is a single subscription group with prod
Hi there, My App is beeing rejected, because the tests by apple show that on an IPad Emulator the Offerings can’t be loaded… what can i do? I got through App Store Testing before without any problems and the same behaviour. has something changed? Thanks for any help? Cheers
Hi there, I have a question regarding the payment confirmation. I followed the QuickStart for flutter and I have implemented the IAP. I have 3 lifetime products to purchase coins and I have to verify with RevenueCat if my purchase was legit. What would be the best method? I am following the docs and implement the following logic:if (rcPurchaseSuccess) { RestAPI.addCoins();} I’m afraid if a malicious actor calls RestAPI.addCoins(); without any purchases or if something goes wrong with the app connection to my server. It will be problematic scenario. How do I solve that? Is webhooks a good method for confirmation? Or is there a better way? I’m a bit confused since the docs are not clear. Thanks
Dear all,I have come across an issue that I can’t seem to figure out. I have successfully implemented RevenueCat and subscriptions in my iOS app, including checking the eligibility for introductory offers. All works as expected.However, one of my subscriptions is an annual subscription for which I would like to add an introductory payUpFront offer in which the initial price is higher than the recurring price. This to retain and reward users for their ongoing subscription. For example: A one off payment for the first year of $29.99, then recurring at $19.99 per year until cancelled. I have set this up in App Store Connect without issues and the subscription is approved by Apple:Already during my sandbox testing (on device) I noticed that when I tried to purchase this subscription, the native purchase sheet never shows the upfront costs of $29.99 and only shows the recurring $19.99 per year.The issue is not related to its eligibility since I have another subscription alongside it in the
Repro Steps:Create a RevenueCat account with a sandbox and non-sandbox environment Create an entitlement in each environment with the identifier of “Membership” in both Navigate to the interactive docs (or you can do this in your own code if you already have it set up) (https://docs.revenuecat.com/reference#basic) Enter your api key for your sandbox environment and pass any user id to create a subscriber https://docs.revenuecat.com/reference#subscribers Try to grant them a promotional grant for that user id, the entitlement identifier of “Membership” and duration of “yearly” https://docs.revenuecat.com/reference#grant-a-promotional-entitlement Returned subscription entitlement shows is_sandbox: false Returned subscription info (see is_sandbox: false). {"request_date":"2021-12-02T21:52:16Z","request_date_ms":1638481936210,"subscriber":{"entitlements":{"Membership":{"expires_date":"2022-12-02T21:52:15Z","grace_period_expires_date":null,"product_identifier":"rc_promo_Membership_yearly","
I have done various tests and I would have to ask some questions:1. Is it normal that after subscribing with a Device with an account, if I install the app on another Device that has the same account, I immediately enable the subscription without the need to restore? This way I never use restore.I have not done anything in particular so I think the default value is set which is "Transfer purchases".There is a way to better understand how it works and how you can set the various behaviors because from the doc I have not been able to understand this topic well.In my app there are two simple subscriptions (monthly and yearly) and I have no special needs (there is no login or anything else in the app) so I opted to have RevenueCat create the user's ID automatically.Thanks for your attention
Hello, I’m working on an app that will have some subscription elements, but will also allow users to sell goods and services to other users. Would revenue cat be able to do this, or would I need another system for the person to person transactions? Thanks,Ian
My app works with the subscription and RevenueCat. However I get an error with the following:2021-11-03 07:29:01.912 seed2021[68531:4997387] [Purchases] - WARN: 🍎‼️ Invalid Product Identifiers - ( 801, 901) Initially when I had configured RevenueCat, I had two additional products added for iOS for the inApp purchase, and the products added to RevenueCat. Over time I decided to remove these (801,901) from iOS and also from RevenueCat. However, I get this warning that appears RevnueCat still has these cached somewhere and I don’t know how to remove these to get rid of the error.
Hello! I have an issue with fetching current offerings: callback object is always null2021-10-28 09:32:32.072780+0300 MagicKids[2441:2439627] json = {"offerings":{"all":{}}}However, on app launch (specifically 2 seconds BEFORE GetOfferings() call) I can see normal json with my product in logs (I’m not sure what function is calling this):2021-10-28 09:32:30.328012+0300 MagicKids[2441:2439627] json = {"products":[{"description":"Full access to our app for a 3 month","introPrice":{"periodNumberOfUnits":1,"periodUnit":"WEEK","priceString":"0,00 RUB","price":0,"period":"P1W","cycles":1},"price_string":"2 650,00 RUB","intro_price_period_unit":"WEEK","currency_code":"RUB","title":"3 Month Subscription","price":2650,"identifier":"com.MagicKids.Go.tier5","intro_price":0,"intro_price_period_number_of_units":1,"intro_price_period":"P1W","intro_price_string":"0,00 RUB","discounts":[],"intro_price_cycles":1}]}Also: I’ve checked API key I’ve checked product ID I’ve checked there are no any pending a
Went through this list and followed all the rules. Everything works fine in debug and I am able to make sandbox purchases. But when it comes to production offerings are empty.Any idea why it’s happening or how can I debug the problem?
I have given it a good 24 hours or more, I have not used revenuecat before or at least never got this far before and I really want this to start working rather than moving to another way of setting up subscriptions.My app will go through the motions and accept the subscription followed by the email to say I have scribed and shortly after its cancelled.This test purchase was cancelled because it was not acknowledged. You should ensure that all purchases are acknowledged so that they are not subject to refunds.Within Android studio every thing looks ok until the last statement where I have a credentials issue with the 503 errorCan anyone assist on this, I have seen posts where revenuecat can look into this issue and I see posts saying they have waited a week and it doesnt work, I want to get this issue resolved can anyone point me in the right direction ?Once I get over this issue I will simply reuse everything I have coded into another app so I really want to get this sorted. I have als
dear community,is that possible to send money back to the user when he gets some achievement in the flutter app, if yes, could you plz let me know where can i find corresponding document? thank you in advance! peter
This issue only occurs in the iOS production environment. (It does not occur in the sandbox)I have confirmed it on iOS 14 and 15. I’m using `Purchases.restoreTransactions()`. (cordova-plugin-purchases 2.3.1)[Log]```15:14:27.024184+0900>>[Purchases] - DEBUG: ℹ️ Force refreshing the receipt to get latest transactions from Apple.15:14:28.693200+0900>>[Purchases] - DEBUG: ℹ️ Loaded receipt from url file:///private/var/mobile/Containers/Data/Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/StoreKit/receipt15:14:28.694566+0900>>[Purchases] - INFO: ℹ️ Parsing receipt15:14:28.696696+0900>>[Purchases] - INFO: ℹ️ Receipt parsed successfully15:14:28.697186+0900>>[Purchases] - DEBUG: ℹ️ Found 0 unsynced attributes for App User ID: $RCAnonymousID:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15:14:28.703572+0900>>[Purchases] - DEBUG: ℹ️ There are no requests currently running, starting request POST /receipts15:14:28.703855+0900>>[Purchases] - DEBUG: ℹ️ API request starte
Hi everyone, I’m wondering what is the data source of purchase event date and time? Is it user device time? Thanks ahead!
I noticed that setting a default price for a in-app product is not inclusive of tax. We are not VAT registered so we dont want to charge tax on our products. Does that mean I still need to set the default price inclusive of tax?For example we sell an in-app product for £39.99, however if I put in £39.99 as the default price, then the price will be £47.99 for the user as Google automatically adds on the 20%. So I presume I need to set the default price to £33.33 which will equate to £39.99. Does this mean that Google will withhold the 20% even though we are not VAT registered? Or will Google give us the full £39.99 and just take their 15% commission?
Hello guys,This is my first app with in-app purchase (monthly and annual subscriptions) and first time I use RevenueCat.Platform: iOS, SwiftUI, Xcode 13.1Purchases version: 3.13.0My suggestions:I have successfully setup free trials in App Store Connect, but I did that few days later after connecting App Store and Revenue Cat product and entitlements. I suppose that might be the reason. What is the best way to correct the situation? If this is the case? I have used my device during tests before publishing the app in the App Store and now when I use this device with real app it may “remember” it and thus decide that I’m Not eligible for trial or introductory price. Or the device does not matter and Account ID matters? I used test accounts in App Store connect.Please advise where to start and how to check it properly. I’d appreciate any suggestionsThank you!
I have one consumable product in my iOS app that doesn’t link to any entitlements as recommended in the docs:If you have non-subscription products, you may or may not want to add them to entitlements depending on your use case. If the product is non-consumable (e.g. lifetime access to "pro" features), you likely want to attach it to an entitlement. However, if it is consumable (e.g. purchase more lives in a game) you likely do not want to add them to an entitlement.Right now I’m using the transaction history to keep track of the purchases and unlock in-app content accordingly. Not sure what’s the best approach for this to correctly handle refunds.
I am wondering when you have subscriptions and they are on auto renew does the active subscriptions go empty after the first initial subscription?I am testing this in google and the active subscriptions to go empty I believe this would be after the second auto renewal , is this normal ? activeSubscriptions: {subscription={expiresDate=Sun Dec 05 14:03:22 GMT 2021}}, activeEntitlements: [], entitlements: [], nonSubscriptionTransactions: [], requestDate: Sun Dec 05 13:56:30 GMT 2021
Hello,We have a use-case:User is active subscriber on a monthly plan They trigger `redeem` functionality They get 1 month free from their subscription (meaning next month they are not getting billed, however month after that - they are getting billed again)We know that via RevenueCat it’s possible to make if user is not a subscriber. However, would that work for subscriber’s case? If it’s not possible - what would be recommended scenario for implementing this case? We would like to explore possibilities to give not only 1 month free, but also other various durations.We were also thinking of this scenario:User is active subscriber on a monthly plan They trigger `redeem` functionality User sees `offer` page with `1 month free + regular monthly` billing They claim the offer User’s previous subscription period ends, their new subscription starts with 1month freeWould that work? Ideally - `entitlements` would make it much easier as we would not need to create any extra offers.Best
Hi,I’m developing an app that requires the users to sign in before making purchases (subscriptions).However, as I understand, Apple requires that we add a Restore button that enables restoring purchases without the user having to log into app’s account.My question is about the following case:the user logs in, makes a purchase for some reason, e.g. on a new phone, the user enters the app w/o being logged in, does not log in and restores his purchases, his subscriptions therefore transferred to the id auto-generated for the anonymous user Question 1: if the same user does log in on their Android device, will they be able to access the subscription? Question 2: I understand that if the user logs in on said new iphone device after restoring purchases, the new anonymous id along with the purchases will be merged with the existing id, therefore providing access on Android devices where the users signs in as well. Is that correct?Thank you kindly. :)
BACKGROUND: We sell IAP subscriptions and lifetime access to premium content. We also sell subscriptions and lifetime access through Stripe on out website. Standard stuff works great. No problems. ISSUE: after user bought lifetime access through Stripe, I successfully refunded the purchase using Stripe. I expected RC would cancel the entitlement but it has not done so after waiting about 1 hour. No refund is showing in RC console. The user still has access to the content. Is this expected behavior? If so then how can I cancel entitlements after refunds?
https://cln.sh/99ueV6Data has been "coming soon" for 3 days.My guess is that it's because I have two offerings which are the same: https://cln.sh/KlaTpN`pro sub` was what I originally setup before I started experiments`pro sub 2` I setup to test against `pro sub` in my first experiment`pro double` has the same packages as `pro sub`, but I thought that making a new offering id would make it easier to analyse the data
Hello, I am testing my purchases with a test user and when I do my very first purchase I get presented with two purchase sheet from apple. After I enter the password to confirm the purchase on the first one, a second purchase sheet is shown after. Then I re enter the password a second time an I am able to do the purchase. This happens only on the very first purchase, the following purchases do not show this behaviour. Here’s my traces:2021-11-30 08:47:05.098181+0100 StickerTune[569:24807] [Purchases] - DEBUG: ℹ️ makePurchase2021-11-30 08:47:05.100231+0100 StickerTune[569:24807] [Purchases] - DEBUG: 💰 Purchasing product from package - st_499_1m in Offering st_monthly_yearly2021-11-30 08:47:05.110488+0100 StickerTune[569:24807] [Purchases] - DEBUG: ℹ️ PaymentQueue updatedTransaction: st_499_1m (null) ((null)) (null) - 02021-11-30 08:47:21.310017+0100 StickerTune[569:24807] [Purchases] - DEBUG: ℹ️ applicationDidBecomeActive2021-11-30 08:47:22.494746+0100 StickerTune[569:25165] [tcp] tcp
One of the purchase related scenarios for my app is removing ads that are normally displayed right after the app is installed.I was wondering what would be the best way of handling the case where:1) the user installs the app2) the user makes a purchase removing the ads (a non consumable)3) the app is uninstalled4) the user reinstalls the app on the same or a different device.At this stage of my project I do not want to maintain a backend server or use Firebase with a login mechanism etc, and instead I would very much like to rely on the RevenueCat alone. I have tested the scenario on Android and it appears that since it is recommended that the method that restores transactions should be triggered consciously - by tapping a button for example and not when the app is starting up, the only way I can think of to do this is to display a dialog when the app is started for the very first time and give the user opportunity to restore the purchases (if any were previously made) and once the pu
Recently one user subscribed to our annual plan, however the webhook failed to proceed because the App user ID returned only the RC Anonymous ID ( $RCAnonymousID… ).I have no idea why it happens and not sure what to do next, all I can do is wait for him to contact us. Any advice? FYR, all other users has successfully logged in with the correct App user ID.
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.