Discussion and help from anything related to RevenueCat.
Recently active
If a user subscribes to a free trial, cancels that free trial, and then later attempts to initiate a free trial again for the same product, they are immediately (and unexpectedly) charged by Apple. Our app has language around free trials, and we’d love to find a way to dynamically update this language to no longer mention the free trial once the user is no longer eligible under these conditions. Is there any way for us to know whether a user is, according to Apple, eligible for a free trial?
If there is an attempt to change the purchase (switch between subscriptions), while app is without internet we will get a response like this:`PurchasesError(code=StoreProblemError, underlyingErrorMessage=Error finding existing purchase for SKU: something, message='There was a problem with the store.')`All the next attempts (even if the internet is now available) will return the following response:`PurchasesError(code=OperationAlreadyInProgressError, underlyingErrorMessage=null, message='The operation is already in progress.')``This is happening until the app is killed and restarted.
I’m integrating RevenueCat into an app with a custom configuration and AB testing system. I can mirror some of what my app does in RevenueCat by setting up different offerings in RC. Then RC can report its transaction centric view segmented by the cohorts that my custom client side code creates. But to achieve this I need the client/app to call a RC API to set the users current offering. Is there a way to do this?
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 App 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. ?
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.
Hello, If you get the error : TypeError: _reactNativePurchases.default.setup is not a functionThe getting started for RN is not up to date.The Purchases.setup("public_ios_sdk_key") is no more available.https://docs.revenuecat.com/docs/getting-started#7-configure-the-sdkYou should use Purchases.configure({ apiKey: "public_ios_sdk_key" }) instead.https://docs.revenuecat.com/docs/configuring-sdk#initialization
Please have a look at this customer:https://app.revenuecat.com/customers/64393e08/044c7fb8-183a-4928-be54-44b513ccd58aAccording to the history he bought a subscription with us on 19th August. But the webhook was fired today. This is a delay of 5 days which is totally unacceptable for an in app payment.Please verify whether the buy date (19th Agust) is really true or an errorAnd if it is true, you have to make sure such delays won’t occur anymore. Such huge delays can make customers get really mad and make them want their money back.
Hello, My app has 3 products, Monthly, Annual, and Lifetime packages in 1 offering. On launch I call getOfferings, take the current offering, and store the packages. My paywall is dynamically generated based on these packages. When I try and call purchase() on my Annual or Lifetime packages it works fine, but my Monthly fails with a weird error: 2022-08-23 11:00:18.932233+0930 Pestle[44020:4973217] [Purchases] - INFO: 💰 Purchasing Product 'mymonthlyoffering' from package in Offering 'Pro Upgrade'2022-08-23 11:00:23.562161+0930 Pestle[44020:4973974] [Default] [StoreKit] Received error that does not have a corresponding StoreKit Error:Error Domain=ASDServerErrorDomain Code=3502 "This item is not available." UserInfo={client-environment-type=Sandbox, storefront-country-code=AUS, NSLocalizedDescription=This item is not available.}2022-08-23 11:00:23.562331+0930 Pestle[44020:4973974] [Default] [StoreKit] Purchase did not return a transaction: Error Domain=ASDServerErrorDomain Code=3502 "Th
I am wanting to change a user’s current offering depending on how they answer certain questions in our onboarding flow (before seeing the paywall). I am able to successfully update their current offering using the REST API, but when the user reaches the paywall, the “standard” current offering is still shown, not the user’s customer current offering. I read somewhere that the current offering is cached on app launch. Is there any way to refresh this without having to restart the app?
We’re integrating RevenueCat to our Unity app, but we can’t seem to find the way to display the detailed logs I’ve seen around in the documentation and in this forum. Those described here. I’ve tried in both an Android and an iOS build.I am, of course, calling SetDebugLogsEnabled(true) before calling Configure(...), as prescribed in the docs. I can also correctly purchase sandbox subscriptions using the SDK, so the setup phase seems to be working fine. (We’re using RevenueCat SDK 4.0.0 and Unity 2021.3.8)
I'm using lib 4.1.2 purchases_flutter.My app requires login to be subscribed.Subscribe works correctly, the problem starts when I log out of the user and log in.When I login again the entitlements active comes empty, if I reopen the app it also comes with empty entitlements.I'm using test user on android with annual subscription renewed every 30 min.Any tips?
We have custom subscribers attributes like persona and we would like to be able to segment and filter graph based on this. I don’t think it’s possible today, is it in a planned featured? It would really help to estimate LTV and revenue per persona.
[React native IAP implementation]Hello! I’m implementing a redeem code button that will redeem discounted annual products in my app. The way i implemented to check it was add a purchasesListener when he clicks the redeem code button, the problem is I want to remove the listener when he goes from page A ( page with redeem code button ) to another page B ( meaning he did not reclaim the coupon ), or when he enters another specific page C in our app, that is se screen after the paywall if he did not claim any offer codesI don’t know if I agree with the interface of this purchases listener. Having to pass a function reference when i add and when i remove means i have to keep track of this function reference in some sort of global store or do some workarounds only to keep the exact reference i used to remove…Couldn’t the sdk accept a function and keep inside the sdk the reference to the function, making it immutable across app’s lifecycle?I thought it this way→ add purchasesListener ( cal
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
Is there a list of all the error code number? Ideally we could rely on an enum to decide what message to display or if we want to attempt a retry, but there is a code number in the SDK’s error that could be the next best thing:We could use that, but we can’t seem to be able to find a comprehensive list of all the errors with their codes, only this list of strings. Where can we find such a list? (We’re using RevenueCat SDK 4.0.0 and Unity 2021.3.8)
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?
We have the combined issues of 1) purchase requests hanging and 2) PurchaseErrorCode.operationAlreadyInProgress for our flutter app. Haven’t been able to reproduce on our side but have several users recently report this.Example of a recent Android report: https://finch.hellonext.co/b/Bugs/p/can-t-sign-up-for-trial-with-monthly-billing. We always display the error code that is returned (like in the bug report screenshot) but it sounds like some users can have requestToPurchaseProduct effectively hang without an error code returned. Is requestToPurchaseProduct always supposed to throw an error to timeout, or are we expected to handle timing out purchase requests ourselves?After the hanging, users who close the app and retry again end up getting stuck with PurchaseErrorCode.operationAlreadyInProgress. The error documentation said to wait but the user has been stuck with PurchaseErrorCode.operationAlreadyInProgress for a while, so is there any recommended ways to debug/handle this state?
Hi, I am developing an app in South Africa, can I use RevenueCat to accept payments / subscription payments in my country? ThanksBruno
the problem is I get the web hooks on EXPIRATION, PRODUCT_CHANGE and CANCELLATION but I don’t get it on INITIAL_PURCHASE or RENEWAL so we can't update our database what am I missing, I set every thing right, I also set revenueCat web hooks on App Store Connect for Sandbox and production and I even get customer history in overview with sandbox checked
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
Hello all,I have setup real time developer notifications for my Android app, everything seems to be working fine and when I click the “Send test notification” in the developer console, the notification is successfully sent and no error is provided, however, all my Android purchases keep getting automatically cancelled 3 days after a successful purchase. My guess is that the purchase is cancelled because they’re not acknowledged by the SDK.I’ve followed the setup steps multiple times and the purchase flow and everything else works as expected, but it is really frustrating to see all my purchases returned because some misconfiguration on either mine or RC’s end that I haven’t been able to pinpoint.I also setup a new Pub/Sub subscription to the topic automatically created by the RevenueCat system and I successfully receive the base64 encoded notification with a payload similar to this one:{"version":"1.0","packageName":"com.my.app","eventTimeMillis":"1641511258205","testNotification":{"ve
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.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.