Get help with anything related to RevenueCat.
Recently active
Hi TeamI have integrated RevenueCat InApp purchase. I created subscription details screen in mobile app. Like Current plan name, status, period etc. which are fetch the details from backend server. We are managing all events on backend side then mobile side, We are fetching those details from the server via REST API. So plan status is Active once cancel current subscription plan from play store. It should be receive cancel event in web hook and get updated status from backend api.What is solution for get web hook event on time. ? Thank
Hi,How can I get the current App user id not the original one?We can have purchaserInfo?.originalAppUserId but I need current app user id to differentiate between different devices of a single user.
Hi there.I offer yearly renewing subscription to my users.Now I want to create a referral program when the user gets 1 year of subscription as a gift.On Android I can refund him, but what about Apple?How can I grant them the free access without asking them to stop the renewing?
Help me please why Step App Review IOS require in-app purchases within your app. Suggest me when i will publish , must to any config.Present i show in app purchase by StoreKit testing it show normal (can display item). Why My to rejected
Hello everybody!I've been working on a react-native project which already has a subscription flow that uses stripe on it's web version. The subscription is currently being managed in our back-end and basically, what we do, is to link an entity User (this one is generated in the register flow) to an entity Customer that is responsible for storing the payments data (this one is generated after a purchase is made through stripe). To keep the subscriptions status up to date, we have an endpoint that receives webhooks events from stripe and updates the data in our database. with that being said, the problem I'm facing right now is: As I'm using the revenuecat lib to perform the in-app purchase, how can I match each new purchase with a customer of my database?I've tried using the apple server notification service, which is working fine, but I don't know how to link the received payload to a user or a customer. If there is any data in there that I can link to Revenuecat, please let me know be
Greetings,We have a product with subscription. We offer 1-month, 6-month, and annual plans. It’s already working on iOS and Android.On Web/Stripe, it can be done in two ways:Create one Product with 3 Price objects. Create three Products with one Price per Product.RevenueCat Doc says “In order for Stripe subscriptions to unlock entitlements, you must set a Product Identifier in the desired Offering to match a Stripe product ID exactly.” Which, to us, means that it’s preferred to have 3 difference products (option 2 above). That would also be in-line with Apple Store and Google Play.However, Stripe’s Pricing Table (and other tools out there) differentiate between 3 products and 1-produce-with-3-prices. What’s the recommended way of setting this up? Any limitations or drawbacks on each option?
Hi, I am developing an app in South Africa, can I use RevenueCat to accept payments / subscription payments in my country? ThanksBruno
Hi all, I am currently migrating to RevenueCat. My current user subscription details are stored in DB. I have used rest to migrate those over using the uuid for the user. But when a user registers on my platform, they get a 1 month free trial. This trial is basically a exp date set in the DB for the user without any interaction with Stripe, Google or Apple. My question is, how can I set this user up on revenuecat with a custom trail exp date if they without interaction with the Stripe, Google or Apple. Essentially adding a customer with a trail expiry date. Is this possible and if so how can I achieve this? Thanks
Is it possible to share in-app purchases between two different apps of the same platform? For example, I have an app that I want to phase out and rebuild a new one from the ground up, but I want my users purchases to transfer over without having to repurchase. I’ve added the two apps to a project and it seems like it can be done in entitlements, but haven’t figured out how to get it to work. The purchases just restore to their respective apps and won't share between. If so how? Or is there any documentation I can be pointed towards.
Getting a 429 on the https://api.revenuecat.com/v1/subscribers/app_user_id request. The response body has this: {"code":7638,"message":"There is another request in flight trying to perform the same action."}The requests are made from backend webhook code where two webhook events for the same user get load balanced to two completely different servers. So, I do have 2 outstanding requests for the same user. I'm wondering if there is a way around this since the amount of work to coordinate a single outstanding request per user isn't trivial.Thanks,Ken
Hello,We are looking for ways to integrate RevenueCat to our payment process but we are having a bit hard time to understand why payment verification in the server side is so hard or are we missing something?For the context, we are selling digital goods and our backend server needs to verify payments before completing the purchase flow and unlock the items for use of the client. The only way to achieve this at the moment [1] is using RestAPI and calling ` /subscribers` endpoint [2] but this seems a bit fragile because:SDK returns all purchases (historically) for a product as an array, so client needs to iterate this array and find the corresponding revenueCatId of the purchase that is being made. Lets assume that the last item is the last purchase, so sending that to our backend-server. Our backend calls ` /subscribers` endpoint which returns all purchases for all products for a subscriber. So the logic is the find the revenueCatId sent from client in this list for the product, check t
I can’t fetch data from StoreKit testing framwork for test in app purchase on myappbelow this error messageflutter: fetchOffers error PlatformException(23, There's a problem with your configuration. 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). More information: https://rev.cat/why-are-offerings-empty, {readable_error_code: CONFIGURATION_ERROR, readableErrorCode: CONFIGURATION_ERROR, code: 23, message: There's a problem with your configuration. 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). More information: https://rev.cat/why-are-offerings-empty, underlyingErrorMessage: }, null) This is my step 1.I create StoreKit Configuration file on Xcode 2.Create subscriptionSubscription3.I config schema import StoreKit ConfigurationImport file config4.I export cerification
Hello there, I’m currently trying to search for webhooks that have been missed due to server outage and I cannot find any past sent webhook that either got received or missed. Is there a way to look up the history of webhooks sent by RevenueCat or to recover the lost ones that didn’t get delivery confirmation? This is necessary because I use webhooks as a trigger to handle permission state changes that could affect our subscribers negatively if not handled. Is there any workaround?
screencap of chrome errors when choosing ‘deleted’ userID Hi. just trying to wipe out some sandbox users via the project management screen. after deletion, they continue to show on my list and if you click a ‘deleted’ user...it simply reloads the screen. error messages are included from chrome dev tools...
Greetings, It seems like the only “Free Trial” option for Subscriptions on Android (Google Play) that RC supports is “Eligibility Criteria: New Customer Acquisition” in Play Store’s offers. That’s the only backward-compatible offer that RC is accepting, per docs. This offer, on the Google Play side, is only limited to the new customers (either never had this, or never had any subscription(s)). Now, consider that a user gets this package and cancels the renewal. After a while, they come back and want to resubscribe to the same package.On the Google Side, the user is not eligible to the offer. So no 14 days trials. However, on the RC side, we are receiving the same “14 days trial” intro_offer in the getOfferings() for this user, as a brand new user.It is causing an inconsistency between what our app is displaying the user in the UI and what they end up buying, which can cause us legal problems down the road.How can we prevent this?
Hi, I am trying to dynamically display the trial duration of my annual product. I have found `trialDuration` on RC framework but I don’t know to use it? I am getting products like this:private var offering: Offering? = SubscriptionManager.shared.offerings?.currentand then need to access trial duration to display it via a text label. some thing like getting localizedPriceString.Any help would be great!
Hello, I have multiple subscription offers, but only need to see if a user is subscribed to at least one to give them access to premium features. Since I’ve started using RevenueCat years ago, I check `purchaserInfo.activeSubscriptions.isEmpty` but RevenueCat’s documentation says to use `purchaserInfo.entitlements.active.isEmpty`. What’s the difference between the two methods?
I don’t understand in practice what this part of the documentation really mean:https://docs.revenuecat.com/docs/restoring-purchases#google-play-on-androidGoogle Play on AndroidDue to platform limitations, purchases will be transferred as soon as you call configure if a user's purchases are already associated with another app user ID.This may cause unexpected transfers of purchases between app user IDs, especially for apps with optional logins or users with multiple devices. To prevent this behavior, you should wait to call configure until you have the appropriate app user ID for your customer. My app is developed in Flutter, and I couldn’t find a “configure” method on the RevenueCat SDK for Flutter. Is it referring to the “setup” method? If that’s so, then should I first login the user before calling setup/configure? Won’t RevenueCat throw an error when I try to login the user before calling the setup/configure method?In short, how can I set the user UID before I call the setup/configu
Since you can have multiple apps inside one project, I’m wondering what the structure should look like?If I have two different apps, one game “Fighter”, and another unrelated app “MySocial”.Do I make these under the same project, or do I put them in seperate projects? Is the multiple-app thing meant for iOS & Android version of the same app?
This only happens to one of my apps, my first app persist entitlements until it’s uninstalled, however my new app that has an one-time-purchase, grants the entitlements after payment but when the app is restarted, the entitlements are all gone despite the payment going through, I can re-purchase it too. Is it cause im using the same service account json for both apps? The code shouldnt be wrong cause im using the same on both apps and the first one works.What could be wrong? I DID notice that I forgot to put the new app in the service account permissions, which i thought would fix the problem, but I still have the same problem.
For what I could understand from reading the docs, RevenueCat has two different methods by which we can identify the user.One method is by calling Purchases.login(). The other method is by calling Purchases.setup().What are the differences between these two methods of identifying the user?At first I thought I should call Purchases.setup() in my app initialization, and the login() method should be user right after I authenticate my user in my application, but it looks like I misundersdood it, because I am having some weird errors of unexpected transfers between anonymous and authenticated UIDs.The correct way then is to use both of these two methods but only after I know which UID to apply to the user? And the setup() method should be called only once, and after it has been called then I should only call the login method?
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?
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
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.