Get help with anything related to RevenueCat.
Recently active
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!
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
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.
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
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
Hi I'm having problem with raw data which I get from Revenucat. If I talk about this problem, the data is coming in dublicated. store_transaction_id that occur in one day are dublicated. Actually, that day is happening and I think store_transaction_id should be singular value for unique users. So what am I missing? If you have any suggestions, please feel free to comment. Best Regards
I get charges from Apple almost everyday for my Apple Search Ads. Anyone know how to change it so that I only get charged once a month? It’s just annoying to sort through and categorize all those charges in my accounting. Thanks!
It’s unclear what the best practice is for managing test mode (especially on Stripe) wrt Rev Cat. In Stripe you have to create a different set of Products (with different IDs) for live vs test mode. Does this mean that I should maintain a separate “test” or “dev” project in Revenue Cat?I’m wondering if there’s another approach I’ve not yet thought of that may be simpler.
Our users can use an apple promo code to get 30 days free trial.Before this, users can get 7 days free trial first.7 days free trial → 30 days free trial (granted by promo code) → normal we successfully get webhook events when 7 days free trial starts,but we found that we didn’t get events when 30 days free trial starts(we should get some events today) please help us clarify this issue, thank you
A real customer in our production iOS app reached out to my team today after upgrading their subscription and saw inconsistent results. We investigated and reproduced the issue in the sandbox. Based on the data we receive from RevenueCat, we display to our customers info about their active subscription(s). In this case we (my team + customer) are seeing that the customer is currently subscribed to two subscriptions in the same iOS Subscription Group. We are waiting on the customer to send us a screenshot of their active subscription for our app from the App Store - Manage Subscriptions screen and waiting for confirmation if they received a prorated refund from their previous subscription from Apple. We suspect (and hope) that the screenshot will show the customer is only subscribed to the upgraded Tier 1 subscription which matches the validated apple receipt data that indicates the Tier 3 subscription was upgraded (is_upgraded: true). Details We have 4 iOS subscriptions right now. In o
I have granted a one day promotional entitlement on 2/18/2022. It should have expired 2/19/2022. It is 4/2/2022 and the entitlement is still returned from https://api.revenuecat.com/v1/subscribers/${userId} This can not be happening for our users. Any help? Heres where the page says entitlements will automatically be removed once expired: https://docs.revenuecat.com/v3.1/docs/promotionals
Hello there,I’ve recently saw something quite odd happening, I’ve checked an user and their subscription was renewing the the future, meaning active subscription, but the customer history’s last event were only BILLING_ERROR. You can see it right below: I’ve managed to find the missing webhook sent by the RENEWAL event, but it is still missing in the customer history. The missing event is right below:What can I do or what can be done to correctly display the events in the customer history?
Hi,We are trying to use revenuecat in order to send an email to our users if they experience a billing problem, letting them know how long they have to fix the issue with their card before the subscription expires.We assumed that we could use `grace_period_expiration_at_ms` however we have found that is doesn’t line up with when the EXPIRATION event is actually delivered. This applies to both Android and iOS subscriptions. The date given by `grace_period_expiration_at_ms` is way off. Example (Android): grace_period_expiration_at_ms: 1645129097417 → Thursday, 17 February 2022 20:18:17 We are also using Stripe for web subscriptions and for those customers `grace_period_expiration_at_ms` is null. We assume this is because Stripe is using “Smart Retries” where it uses its machine learning algorithms to determine the best time to retry, however this makes it pretty much impossible to tell when the EXPIRATION event will arrive. We have also looked at `expiration_at_ms` which also doesn’t s
Hi, I want to promote my IAP, does RevenueCat provide a guideline for implementing this app store promotions? Thanks!!---------------------------App Store PromotionsYou can promote up to 20 in-app purchases, and they’ll appear on your app’s product page and can be shown in search results or be featured by our editorial team. Users can tap an in-app purchase to open your app, where they can buy it. Make sure your app supports the SKPaymentTransactionObserver method to process this transaction.
Hello,I just started out using Revenue Cat, and like it very much.So, a basic “best practice” question.I have an app that exist on both iOS and on Android. Right now, in my initial setup, I have combined the products for the different platforms into the same offering, and same entitlement.Is there a risk that by doing this, the apps will get confused when downloading offerings?Or, is it clear-cut behind the scenes, that the iOS app only gets iOS products, and the Android app only gets Android products?Alternatively, is it better to separate out the products into their respective platform (iOS offering/entitlement and Android offering/entitlement)?My question is primarily asked from a technical perspective. But other aspects are of course of interest too.Here are two screenshots of my current setup.One of my two offerings My Entitlement setupThanks,/Richard
Hello. I'm testing in sandbox with AppStore. I was trying to test my some subscription plans yesterday.Almost of all are success.But one of them was failure, because I received a response below.I mean, "type" is "RENEW", but "price" and “price_in_purchased_currency" are null. Today I was re-try to test the same subscription plan.It was success. Which kind of cases, is the price will be null? response: yesterday{ "api_version": "1.0", "event": { "aliases": [ “hogehoge" ], "app_id": “hogehoge", "app_user_id": “hogehoge", "country_code": "JP", "currency": "USD", "entitlement_id": null, "entitlement_ids": [ "Subscriptions" ], "environment": "SANDBOX", "event_timestamp_ms": 1649142391767, "expiration_at_ms": 1649144185000, "id": “hogehoge", "is_family_share": false, "is_trial_conversion": false, "offer_code": null, "original_app_user_id": “hogehoge", "original_transaction_id": "1000000787260771", "period_type": "NORMAL",
We have a webhook created in php that does three things when it receives a json notification from the api1. Updates the user expiry date in the sql database2. Inserts the payment information in the database3. Sends payment notification to admin email via Mailjet apiThere is a test environment where we send test json notifications to the server and everything all tasks are successful during tests.The issue is that on live apps on other users phones, these three tasks are successful only during initial purchase by the user, on renewal after a month, only one task is successful: inserting the payment info into the database, the others do not work. So there is a discrepancy in payment information and user expiry date which of course restricts access to services We need someone who knows php, and is familiar with google and appstore subscriptions, these two are actually managed by revenuecat.com
Hi, We have just recently released a new version of our React Native app to the App Store that allows users to subscribe to a £15.99/month subscription. We have a big affiliate network which we want to tap into to drive sign ups. In order to do this we want to offer discounts to people who sign up using an affiliate discount code. From reading through your documentation on whats possible in Apple and Google we have come up with the following approach. Apple App Store:Create a new subscription group Create 4 new subscription products £15.99/month £15.99/month with Introductory offer of ~30% off for the first 4 months (i.e £10.99/month) £15.99/month with Introductory offer of ~20% off first month (i.e. £12.99/month) £99.99 annual subscription Google Play StoreSimilar to what we have in Apple i.e. creating multiple products that have introductory prices React Native App:A user will have the option to enter a discount code On submit of discount code we will make a API call to our BE tha
Hi, I hope you can help, we are about to move to a subscription based model for our App and would like to be able to manage intro offers to our users but we would like these to be dynamic and not require a new build release. We ideally would like to be able to adjust these offers dependent on our partners and so a mix of free intro offers (fine on both android and iOS using Promo Codes) and discounted subscription for a certain period of time. I know that this is completely manageable of app with iOS promo codes but when we want to offer an introductionary discount rather than a free trial we cannot do this currently with Google codes. So my thinking was could we add a system box that allows a user to input a code on the paywall and then RevenueCat automatically update to display the Offering that relates to that code? So for example we Set up a new partnership with ACME Corp and give their users 3 months at 50% rates. We go into the Apple/google store and create a subscription pla
Hi,We have noticed that there are no webhooks for when a user’s billing issue gets resolved in the app store/play store. This means that currently when we are looking at user events streams we are not actually able to tell if a user still has a subscription or not until we receive either a renewal event or an expiration event. I was wondering if there is something we are missing and if there is some way to know when a billing issue has been successfully resolved.Many thanks,Lydia
Hello all, i am new to the app space. I used a no code app software and I completed my app. The last part is the subscription part. The subscription is for use of the entire app. So here’s where I need help oe guidance:Flow:-User downloads my app in Appstore or Google PlayStore.-They set up an account.-Payment wall opens and they pay.Heres the help that I need to understand: How do I update user info to show they paid so they can have access, and when they cancel, they wont have access? Do i use a webhook to accomplish this?Can anyone explain a webhook and how to use it. I think my understanding of webhooks is my missing link. So right now, i can manually update a user profile and enter “true” for their entitlement. Then I can get a notification showing cancellation, then manually enter a “false.”This is no problem if i have 20-40 subscribers. If I have 1000, then this is a huge problem. Can anyone share any advice or knowledge, thanks.
“Identifying Users” is listed as a developer responsibility in https://docs.revenuecat.com/docs/implementation-responsibilitiesUsing apple’s CKContainer CKRecord.Id as and iOS in-app purchase identity seemed like a no-brainer...but is there a "better" method for this. I see there is identy merge behavior in RevenueCat for anonymous user ids, but does this solve the issue on its own?The app I'm developing has zero-need for a user account, other than supporting review guideline [3.1.3(b) Multiplatform Services], the use of the CKRecord.Id seems like it would be a perfect, frictionless way to achieve subscription persistence across devises, since it persists the same value across all of the users devices without bothering the user... except for the quirk - of requiring "iCloud Drive" to be enabled. Which make total sense if you are looking to save documents to iCloud. but..I don’t need that part.This all feels like reinforcement of the notion that using this service in this way should not
Hey! I am being asked to put in my apple ID password every time I try and subscribe. For nearly every other app I use this is done automatically. Can someone please point my in the right direction. Thanks
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.