Discussion and help from anything related to RevenueCat.
Recently active
This question has been asked before more than half a year ago here:Using offers on new Google Play one-time products | RevenueCat CommunityiOS & Android - In app purchase discount codes | RevenueCat CommunityI want to use the discount function for my one-time product in Google Play. It would be great if RevenueCat would be able to display the discounted price, maybe alongside the regular price so that we can dynamically build texts like--4,99€-- (strikethrough) only 0,99€ How is the current situation and progress on this topic?Thanks for any clarification.
Hi,Google Play has recently published the new guidelines for app optimization with R8 and is actively pushing for it (https://developer.android.com/topic/performance/app-optimization/enable-app-optimization).I want to comply ASAP, but I am also super paranoid about breaking anything related to the payments.I just updated to:```"@revenuecat/purchases-capacitor": "13.4.2","@revenuecat/purchases-capacitor-ui": "13.4.2",``` And I found that the dependency comes with the proguard rule:`-keep class com.revenuecat.** { *; }`I am happy with all that, all I want is to make sure that once I enable this:```minifyEnabled = trueshrinkResources = true```nothing breaks.So I would appreciate the “official” confirmation on this.Thank you!
Hi, just recently added revenue cat in my app,The app is already live without revenue cat, I adjusted prices for one country.Now testing my revenue cat integration in TestFlight and I see the non adjusted price is displayed in my Paywall but then the native subscription sheet shows the adjusted smaller price. I am reading price from `storeProduct.localizedTitle`
Hello,I’m building an iOS app that is not live yet. I want to offer fixed-duration Premium access for 1 month and 3 months, without automatic renewal.In App Store Connect, I can create Non-Renewing Subscriptions, but in the RevenueCat Test Store product selector I only see: Auto-renewing subscription Consumable Non-consumable There is no Non-Renewing Subscription option.Am I missing something, or are iOS Non-Renewing Subscriptions not officially supported in the RevenueCat Test Store/dashboard?I’m specifically looking for the official, supported RevenueCat configuration—not some custom workaround.If they are officially supported, what is the correct way to create, import, map, test, and associate them with an entitlement and offering? If they are not supported, what is the recommended product type for fixed-duration access without automatic renewal (and what product should I make in App Store Connect)?
Hello people, I just want to understand a bit more on how the revcat Test Store works. First, I tested with a local dev build and it works perfectly fine. But when I got and create a preview build (NOT production, release) build, I get the warning that im using a test key and the app will now close. Is this normal behavior or is there a way to fix this? I dont have the option to use the real app store key on a preview build because I have different build environments along with different bundle identifiers. This would imply that I have to create a new app in app store connect simply to test the native purchase flow.
Hi Team,I am writing to inquire about the eligibility requirements for the "Next Gen" category in the Shipaton 2026 Hackathon.I am currently an active student in Pakistan, studying at a public government school. In our region, government schools do not provide students with official academic email addresses (such as .edu or school-specific domains). We only have our personal Gmail/Yahoo accounts for online registration.Since having a student email is a requirement for verification, is there an alternative way for me to prove my student status? I can provide my official School ID card, B-Form (Government-issued child registration certificate), or current academic enrollment documents as proof.I am highly enthusiastic about participating in the Next Gen category and built an innovative app for this hackathon. Please let me know if I can submit my alternative documents to verify my account manually.Thank you for your time and assistance.Best regards,[Mahad Ismail][Pakistan]
Hi all 👋I'm building a small open-source CLI for testing RevenueCat webhooks locally. Before I build more of it, I'd rather learn what people actually struggle with than guess. 1. The last time you tested a subscription flow end to end, what did you actually do? a) Sandbox purchases and waited for the store's clock b) StoreKit Configuration file / Play test cards, locally c) RevenueCat Test Store d) Dashboard "send test webhook" + ngrok e) Didn't test it, shipped and watched f) Something else2. What was the last thing about purchases or webhooks that cost you more than an hour? Related (closed) threads:• Webhook local environment testing — https://community.revenuecat.com/third-party-integrations-53/webhook-local-envirement-testing-5082• Is there no way to do local testing with webhooks — https://community.revenuecat.com/dashboard-tools-52/is-there-no-way-to-do-local-testing-with-webhooks-6574• Webhook replay — https://community.revenuecat.com/sdks-51/webhook-replay-7209•
When I try to “Change Plans” using the Customer Center in my ios app, it shows 2 previously deleted App Store Connect subscriptions in addition to the 2 active ones. How can I prevent this from happening? This would be fine if I could configure the subset of options in the RCs “Customer Center” configuration page, but it says I only have 2 subscriptions so I can’t customize it. So there’s a disconnect between how many RC thinks there are and how many options are shown.Also, those two deleted ones were not added to RevenueCat initially when syncing for App Store Connect, but when my app (which was updated from an older version which referenced the deleted plan) connected to RevenueCat for the first time, the deleted plan also populated into RevenueCat’s list of Products.I’m using SDK 5.85.0.
Hi RevenueCat team,for my subscription-based app, I recently noticed a bulk of first-time downloads in App Store Connect labeled as “Institutional Purchase”. The app itself is free, with premium functionality unlocked through an auto-renewable subscription managed by RevenueCat.This got me looking into Apple's new WWDC26 organizational subscription volume purchasing.When an organization purchases and assigns a subscription to a user, StoreKit reports a transaction with `Transaction.OwnershipType.assigned`. Will RevenueCat recognize this transaction and expose the corresponding entitlement as active through `CustomerInfo.entitlements.active`, just like an individually purchased subscription?More importantly, will this work server-side/backwards-compatibly with already released RevenueCat SDK versions, or will apps need to ship an SDK update before organization-assigned subscriptions can be recognized? Similarly, when Apple reports `assignmentRevoked`, will RevenueCat automatically deact
Dear Revenuecat community, I’m running into an issue with Google Play not supporting my national payment method for subscriptions. This causes quite some friction with my users and I can clearly see the difference between the amount of iOS users that convert compared to the very limited Android users. I’ve been looking for a solution and came across RC’s app-to-web checkout: https://www.revenuecat.com/app-to-web I’m curious if there are people that have implemented this app-to-web checkout and could share their experience with friction (does it actually become easier?). Before quickly deciding and implementing I want to ensure that this is a concrete decision and will actually help my users and app in the long run. We could also skip app store fees, thus making the app a bit cheaper to involve a broader user base.In short; does anyone have experience with app-to-web checkouts, and if so did it help your app/does it bring any friction?
Hi everyone,I wanted to start a quick conversation about the recent UI update to the subscription type badges—specifically the Renewal and New Sub tags.As developers, we stare at this dashboard daily. I noticed the recent changes to these tags, and to be honest, I think the older version was much better. With these new heavy pill-shaped backgrounds, they look exactly like clickable buttons rather than simple status indicators. This can be visually confusing and draws unnecessary attention away from the actual data.A cleaner, more minimalist approach—like what we had before, or just simple colored text without the solid backgrounds—makes the interface feel much more intuitive and native to our daily workflow.I've attached a screenshot showing exactly the ones I mean.Does anyone else feel the same way about this recent change? Would love to hear your thoughts!
We use a RevenueCat Web Purchase Link with Paddle Billing as the payment provider.In Paddle Sandbox, our discount is active, has a customer-facing code, and enabled_for_checkout is on. We also enabled “Display discount field on the checkout” in Paddle’s Checkout settings.However, the embedded Paddle checkout opened through our pay.rev.cat Purchase Link shows no “Add discount” / promo-code field.Paddle’s docs say customer code entry is controlled by showAddDiscounts. Inspecting the RevenueCat-hosted checkout bundle, it appears to initialize Paddle with showAddDiscounts: false by default.Is customer-entered Paddle discount-code redemption currently unsupported for RevenueCat Web Purchase Links? If it is supported, where can we enable or override showAddDiscounts for a Paddle web config or individual Purchase Link?We are specifically asking about a user manually entering a Paddle discount code—not RevenueCat Billing discounts, which do not apply to our Paddle-backed products.
If your Paywalls v2 paywall is served through a workflow, the dashboard's play_store_product_change_mode setting gets silently dropped. WorkflowScreenMapper rebuilds the paywall's component data from the workflow payload and hardcodes productChangeConfig to null, so ProductChangeCalculator never runs and the purchase goes out with no oldProductId.End result: an existing subscriber who taps a different tier doesn't get upgraded — they end up with two concurrent Google Play subscriptions, both billed, with no error or warning anywhere. onPurchaseCompleted fires like nothing went wrong.Filed with full repro steps, logs, and the disassembly behind the root cause here:👉 https://github.com/RevenueCat/purchases-android/issues/4002Posting here too because we couldn't find any dashboard or API way to opt an offering out of the workflow path, and setPurchaseLogic is rejected under the default purchasesAreCompletedBy = REVENUECAT (SDK logs a warning and ignores it). If anyone has found a support
Our users' devices report A LOT of these warnings after we updated to the latest KMP SDK:[Purchases] - WARN: Could not resolve remote config blob(s) for 4 of 4 requested item(s) in topic 'ui_config': [app, localizations, variable_config, custom_variables]. Returning null. These are new in our latest Android release, and we're getting 1000s of them reported on Sentry. We haven't changed anything in our RevenueCat config/account, just updated the SDK.Current SDK versions (in which the warning occurs): com.revenuecat.purchases:purchases:10.16.0 com.revenuecat.purchases:purchases-kmp-core:3.4.0 com.revenuecat.purchases:purchases-kmp-core-android:3.4.0 com.revenuecat.purchases:purchases-kmp-mappings-android:3.4.0 com.revenuecat.purchases:purchases-kmp-models-android:3.4.0 Previous release contained these SDK versions (warning doesn't occur): com.revenuecat.purchases:purchases:10.14.1 com.revenuecat.purchases:purchases-kmp-core:3.3.1 com.revenuecat.purchases:purchases-kmp-core-an
On iOS, my Paywalls V2 paywall downloads its custom fonts from fonts.pawwalls.com on every launch, even though the exact same font files are bundled in the app and registered through UIAppFonts. The subsequent registration then fails, and the download stalls the paywall's first render by roughly a second.This looks closely related to this thread: https://community.revenuecat.com/sdks-51/font-are-downloaded-although-they-are-available-7359 — where staff identified "a bug on our end with the font name formatting" and the resolution was to re-upload the font file after the fix shipped. I'm on a much newer SDK than that reporter, and I have re-uploaded the fonts, but the behavior is unchanged.My main question is at the bottom: what is the supported way to have a V2 paywall use an app-bundled font without an uploaded file, so no download is attempted at all?**Environment**- react-native-purchases 10.4.2, react-native-purchases-ui 10.4.2- PurchasesHybridCommon / PurchasesHybridCommonUI 18.19
I got the mail from Adam about holding the event of shipathon at my campus and I replied on that mail the same day, but I didn't get any further updates on that. Our campus would be grateful to accept you as the hackathon in our college. Please reply asap.
Using React Native Paywalls UI ^10.7.1, on iOS, Text with {{ product.price }} is configured black for a selected package in dark mode, but appears white on device. Another package rendering the same {{ product.price }} text is not selected by default and behaves correctly. RevenueCat renderer shows both correctly.
The support for the native side has been released recently. However, it doesn’t seem like the same support is in place for React Native SDK. Is there any timeline for that?
Google Play recently sent an email announcing the new Review Refund API:“We are excited to share that the Review Refund API is now available to help you take an active role in managing chargebacks. This optional API enables you to share key transaction information with Play — such as item usage.”Does RevenueCat have plans to support integration with this API? If so, is there a timeline for when this functionality will be available?
It would be really helpful if the Paywall Editor supported max-width and max-height constraints for components and containers.Right now, responsive layouts can use options like Fill and Fit, but there isn't a way to allow an element to grow responsively while also capping how large it can become.For example, we'd like to be able to configure a component as:Width: FillMax Width: 500pxorHeight: FillMax Height: 600pxThis would let us create layouts that adapt to different phone and tablet sizes without having to use fixed dimensions or allowing components to become excessively large on larger screens.Essentially, we'd love CSS-style max-width and max-height behavior within the Paywall Editor.This would make building a single responsive paywall across different device sizes much easier.
It would be helpful if the Paywall Editor supported underlined text as a standard text styling option.Currently, we can configure properties such as font, size, weight, and color, but there doesn't appear to be an option to apply an underline to text.We have several designs where certain text, particularly links and interactive text, needs to be underlined for visual clarity and accessibility. Right now, we're unable to accurately reproduce those designs using RevenueCat Paywalls.Ideally, we'd like an Underline option alongside the existing text styling controls, similar to standard text-decoration: underline behavior.It would also be useful if underline styling could be applied to individual text spans rather than requiring the entire text component to be underlined.
We're seeing inconsistent styling behavior with a RevenueCat Paywall on Android, specifically on a Samsung Galaxy S22.The same paywall renders correctly when viewed through the RevenueCat Paywall Preview app, but when rendered within our own Android app build on the same device, there are styling differences.Specifically:The Annual package font color when selected is incorrect in our app build. The badge text size is also rendering at a different size than configured. Both styles render correctly in the RevenueCat Paywall Preview app. The issue is reproducible on a Samsung Galaxy S22.I've attached a video that toggles between the RevenueCat Paywall Preview app and our app on the same device to demonstrate the differences. You can see that the RevenueCat app renders the intended styling, while our implementation renders the selected Annual package text color and badge text sizing differently.Since the paywall configuration itself appears correctly in the RevenueCat app, we're trying to
Hi, I am integrating RevenueCat in my app and currently testing monthly subscriptions using the Test Store.I tried using the REST V2 api to get the customer’s active entitlements on my backend server. It gives proper response most of the time but during the process of renewal, for about a minute, I get an empty response for active entitlements.“items”: []So let’s say I made a purchase at 10:00AM, here is the series of observations:First purchase → 10:00AM to about 10:04AM - active entitlements presentAt around 10:04AM → Set for renewal → Active entitlements empty~10:05AM → Renewal → active entitlements presentThis repeats until the subscription is cancelled automatically after 5 times.I am using this endpoint:https://api.revenuecat.com/v2/projects/{project_id}/customers/{customer_id}/active_entitlementsIs this an expected behaviour? If yes, then, is the REST api a reliable source of active entitlements?Thanks,Abhi
After a year of running creator/affiliate campaigns for subscription apps on RevenueCat, here is the architecture that actually holds up in production. Posting it as a conversation because the affiliate threads here keep getting auto-closed while the same questions keep coming back.1. Attribution: typed codes as subscriber attributes. Let fans type the creator’s code into the app (a plain text field), then set it as a subscriber attribute before the purchase: Purchases.shared.attribution.setAttributes(["affiliate_code": code]). Typed codes work cross-platform, survive the App Store install gap, and need no deep links or fingerprinting.2. Revenue: webhooks carry the attribute. Point a RevenueCat webhook at your backend — every INITIAL_PURCHASE, RENEWAL and CANCELLATION event arrives with subscriber attributes attached, so each purchase and every renewal credits the right creator. That is the whole trick: RevenueCat already joins the two halves for you.3. Don’t build attribution on Apple
Hi there - grateful for help!Issue: promo codes created read as ‘not valid for this purchase’ when redeeming in app. I want to create a 30 day trial code. I have a fresh account registered as a tester, in the correct region, with payment information, although I cannot get a code for a free trial to a subscription to work in app. It recognises the code, as putting in an incorrect code produces a different error. I have a monthly base plan + a 3 day trial offering. The same for a yearly.Really at a dead end here, any suggestions/advice appreciated - thank you! 😁
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.