Get help with webhooks, third-party integrations, and attribution providers.
Recently active
I had downloaded app from playstore in 2 different countries so in India its showing proper details and offering are also coming. but for germany its showing No package available. Configure offerings in revenuecat. Also checked the availability of subscription in different countries is available for all countries. Why is it happening ?
Hi there ! Our app "STRAP - BJJ" (Flutter) is experiencing an issue on iOS where the list of products returned by RevenueCat is empty ! We've been using the same products for more than a year now and never experienced this outage, it appeared yesterday (Friday 23. January).People were able to successfully purchase them for more than a year until now … ! Our products seems to be well configured on RevenueCat and on the App Store Connect (status "verified") and no warning on the Apple Developer Portal ... When I try to get the list of Offerings using the Flutter SDK, I get the error: ```flutter: PlatformException(23, There is an issue with your configuration. Check the underlying error for more details. 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, {code: 23, message: There is
RevenueCat’s existing integrations send real-time subscription events out to supported platforms like OneSignal or Customer.io automatically via their integration UI, without needing your own webhook backend. A native Sendbird integration would let you: Sync subscription lifecycle events directly into Sendbird Trigger messaging flows without your own glue code Push events into chat/notification workflows in Sendbird Since it’s not currently listed, it’s not yet supported - so please consider this as a feature request.
Hi all, we’ve integrated Mixpanel, and are sending events such as initial purchase.We also have implemented our own Mixpanel events for each purchase, which means there are two (supposed-to-be) identical events being sent to our Mixpanel when a user makes their purchase, like below:purchase_subscription (our own Mixpanel event, sent via Mixpanel SDK) rc_initial_purchase (event from RevenueCat integration) The problem is, the number of two events never match. Sometimes the number of events from RevenueCat integration is higher, and sometimes not. I do understand that there may be some (slight) discrepancies, but the gap sometimes is as large as 20%. (viewed daily) What could be the cause? We’ve been trying to find if there’s any pattern in the discrepancies, but couldn’t find any. Thanks in advance! P.S. If this info could help: We’ve counted the number of rows in the transactions page in RevenueCat mobile app, which we believe is the source of truth, and the numbers still don’t match.
We are using a hybrid approach for our RevenueCat integration: iOS: We use the react-native-purchases SDK for native In-App Purchases. Mobile Web: We provide an option for users to purchase via Stripe Checkout Links directly in a mobile browser (bypassing the native SDK for these specific transactions). The IssueWe are consistently seeing Error 7746 ("This fetch token is currently being ingested") on the initial delivery of Stripe webhooks for these web purchases.Since we are not using the RevenueCat Web SDK to initiate these transactions, we are confused as to why a "fetch token" would already be under ingestion when the webhook arrives.We're seeing subscriptions sync, but the initial 7746 errors force Stripe to rely on retries, causing a delay in granting entitlements. We're not super concerned with this error, but mainly want to confirm that it is expected.Integration Details Webhook URL: https://api.revenuecat.com/v1/incoming-webhooks/stripe/app1280305636 Configuration: "Track
Hi all We’ve just launched our first subscription. We are using RC, and are finding that although the charts are great, they only go so far - and there are often things we want to find that we can’t get from them. We are exporting the data to bigquery then into PowerBi. I’m keen to explore other options - what reporting software are others using here, and I’m specifically interested to know if any of them are well set up for subsdcriptions and tailored to that specifically. PowerBI is so general that especially for an organisation that’s new to subscriptions, it’s involving us to have to “reinvent the wheel” a lot just to get graphs out that I’m sure 80-90% of subs businesses need. E.g it would be amazing to have something that just gave me everything in the revenuecat charts out of the box, but with a bit more flexibility. Any recommendations would be appreciated!
When certain settings are disabled to prevent double counting (double spending), install and usage events also stop working. This seems to be caused by disabling options on the Datasets page. Additionally, parts of the documentation appear outdated and need revision.There are inconsistencies between the configurations available in Meta Apps / Meta Events Manager and the current RevenueCat documentation.Tech Stack React Native (Expo) react-native-fbsdk-next react-native-purchases Relevant DocumentationFrom RevenueCat docs:https://www.revenuecat.com/docs/integrations/attribution/meta-ads#setting-device-attributesRemove Meta SDK Purchase TrackingMake sure to remove all client-side tracking of revenue. Since RevenueCat sends events for all revenue actions, tracking purchases directly with the Meta SDK can lead to double counting in Meta Ads Manager.You can disable automatic In-App Purchase event logging from the Meta SDK or from your Meta app dashboard:Settings > Platform > Log I
estou recebendo a mensagem de missing_secret ao testar o webhook, mas nao sei onde gerar a key secret
Been trying to fix this and looking around for solutions, but I still can’t figure out how to make the RevenueCat paywall UI on iOS / Apple reflect the selected package correctly. When switching between monthly and yearly, the text, button, and trial-related UI do not update the way they should. Yearly has a free trial, monthly does not, but the UI does not properly reflect that difference. Not sure how this is supposed to be configured in RevenueCat for iOS.
Hi everyone,I’m using the Airbridge integration, our dashboard is being "polluted" with sandbox transactions from our IT/QA teams testing in TestFlight. I noticed that some RevenueCat integrations (like Mixpanel, AppsFlyer) allow for a dedicated "Sandbox API Key" , but the Airbridge configuration doesn't seem to have this.My questions for the community/team: Is there a way to globally disable "Sandbox Environment" events specifically for the Airbridge integration? If not, how are others handling this? Does everyone just create a separate RevenueCat Project for staging/testing to keep the API keys isolated? Is there any plan to add an "Ignore Sandbox" toggle to the Airbridge integration settings? Any advice on keeping production MMP data clean without stopping internal testing would be much appreciated!
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.
I am experiencing the exact same issue as this user, whose problem was not solved > @hussain - what info do you need from me to investigate?
We're using the firestore-revenuecat-purchases-handler Firebase Extension, and we occasionally (not every time) see an error in Cloud Functions logs when a webhook event fires for a user who hasn't logged in yet (still on their RevenueCat anonymous ID):Error saving user $RCAnonymousID:xxx: Error: There is no user record corresponding to the provided identifier. at setCustomClaims (/workspace/lib/index.js:75:38)It looks like the extension tries to call setCustomUserClaims() using the app_user_id from the event, and when that ID happens to still be an RC anonymous ID ($RCAnonymousID:...) rather than a real Firebase UID, admin.auth() can't find a matching user and throws. Since it's intermittent, my guess is this only happens when a webhook event fires before the user has been identified/logged in with their real Firebase UID.Questions:Is this expected/known behavior, and safe to ignore since the claim will just be set correctly once the same user's event re-fires with their real Fireb
Is there an option to configure multiple Slack integrations?
My App Store auto-renewable subscriptions are fully configured in App Store Connect (a monthly and a yearly), and RevenueCat *sandbox environment* clearly has them. The dashboard shows the correct products and "Billing Plan: Upfront" on the yearly. But calling GET /v2/projects/{project_id}/products returns both products with a null subscription block:"store_identifier": "com.myapp.yearly","state": "active","type": "subscription","subscription": { "duration": null, "grace_period_duration": null, "trial_duration": null }Everything else is correct, only subscription fields are null.What I've already confirmed (so this isn't a setup mistake):- App Store Connect API key and In-App Purchase key are connected and show Valid Credentials.- Both subscriptions are Ready to Submit in App Store Connect with their durations set (1 month / 1 year).- I've re-imported the products in RevenueCat.- No purchase has ever been made against these product IDs.I found an older thread suggesting duration only p
Project: Heartwyse Issue: 3 Stripe products (2 recurring flat-rate subscriptions, 1 one-time flat-rate purchase) appear in the import list but fail on import with only the message "Import complete. 1 product failed." — no error code All products are live and active in Stripe So yeah as it shows I am having an issue importing 3 products from stripe into revenue cat. There’s no error code, it shows the products are live. It just won’t import them no matter how hard I try.
I have identified an issue where RevenueCat does not send complete app event data to the Meta Conversions API.Below is a sample request body obtained from the RevenueCat → Meta Ads integration:Reference: Meta Conversions API documentation – https://developers.facebook.com/documentation/ads-commerce/conversions-api/app-events{ "action_source": "app", "app_data": { "advertiser_tracking_enabled": 1, "application_tracking_enabled": 1, "extinfo": [ "i2", "com.my.app", "", "1.0.0", "26.3.1", "", "en-US,en;q=0.9", "", "", 0, 0, "", 0, 0, 0, "" ], "vendor_id": "5E153361-2630-4731-9D6F-XXXXXXX" },Subparameter Name RevenueCat Sends to Meta extinfo version YES app package name YES short version NO long version YES os version YES device model name NO locale YES timezone abbr NO ca
In the Android sandbox environment, the CANCELLATION callback is delayed until the subscription expires. However, in iOS, the CANCELLATION callback works without issue and is invoked after automatic renewal (subscription) is canceled.
I’m using Stripe with RC.And I use Stripe Test Clock to simulate ending subscription.It works fine with Stripe webhook, our system (BE) store the correct response from the Stripe webhook. But the mobile using RC’s entitlement and the subscription still there until the subscription will end in the future? Family (Monthly)Subscription expires in 15 daysMy question is: Does Revenue Cat support Stripe test clock simulation?
I'm trying to use RevenueCat Customer Center (purchases_ui_flutter ^9.9.5) with FlutterFlow's built-in RevenueCat integration. Getting 'Action not defined' error and the action doesn't run. Has anyone got this working?
Hi, we are setting up server-side analytics forwarding and I need to confirm where Apple Search Ads (ASA) attribution is stored after RevenueCat collects it.Context- Our iOS app calls `Purchases.enableAdServicesAttributionTokenCollection()`, so RevenueCat collects the AdServices attribution token.- On our backend we receive RevenueCat webhooks and forward the event payload to our analytics tool. We'd like to rely on the webhook `event.subscriber_attributes` map for per-customer context (we also read the Customer API `attributes`). What I can't find in the docs1. When RevenueCat exchanges the AdServices token, where does the resulting ASA attribution (campaign ID / ad group ID / keyword ID / org ID) get stored on the customer? Is it stored as reserved subscriber attributes? If so, what are the exact attribute names (e.g. `$apple_search_ads_*` or similar)?2. Does this ASA attribution data appear in the **webhook event payload** under `subscriber_attributes`? Or is it only available via
Hi RevenueCat team,My app has been integrated with Apple Search Ads (Advanced integration) for months and attribution data was coming through normally. However, for roughly the last 10 days no ASA data is being returned — all traffic is now showing as Organic in Charts, even though I can see conversions clearly coming from Apple Search Ads in the Apple Ads dashboard. No app-side code was changed during this period.This app uses the OAuth ("Sign in with Apple") authentication method, and its Advanced integration appears to have dropped. I already tried re-doing the integration by signing in with Apple again, but data still does not come back.For comparison: another one of my apps still uses the legacy method (Client ID / Team ID / Key ID) and that one is unaffected — ASA data is still flowing normally.Could you please check the server logs for my account to see whether RevenueCat is hitting an auth/token error when fetching attribution from Apple for the affected app? And is there a kno
Hi team,I am trying to understand why RevenueCat completely missed/dropped a successful Stripe payment recapture for a user on May 21st. The event simply does not exist on the RC timeline, even though Stripe successfully charged them.Here is the exact comparison of both timelines:Stripe Payment History: May 7, 1:01 PM: $0.99 (Subscription creation) - Succeeded May 14: Initial $19.99 billing cycle due (Failed) May 18, 8:05 AM: $19.99 (Payment Recaptured) - Succeeded May 21: Initial $19.99 billing cycle due (Failed) May 31, 11:03 PM: $19.99 (Payment Recaptured) - Succeeded May 28: Initial $19.99 billing cycle due (failed) Jun 1, 7:03 AM: $19.99 (Payment Recaptured) - Succeeded RevenueCat Customer Event History: 2026-05-28, 8:01 PM: Renewed subscription ($19.99) (Matches Stripe's May 31/Jun 1 block) 2026-05-21, 9:03 PM: Cancelled due to a billing error 2026-05-21, 9:03 PM: Had a billing issue 2026-05-14, 9:05 PM: Cancelled due to a billing error 2026-05-14, 9:05
Hey everyone,I’m running Meta Ads to drive app installs and recently integrated RevenueCat to handle subscriptions and forward revenue events back to Meta.I am completely stuck on the "iOS 14.5 ATE True Status Rate" in Meta Events Manager - it has been sitting at 0% for a long time, and I know for a fact users are accepting the ATT prompt because my custom att_ok events are logging successfully in Firebase.Here is my timeline and setup: Before RevenueCat: FacebookAutoLogAppEventsEnabled was enabled in my Info.plist. The ATE True Status Rate was 0%. After RevenueCat: FacebookAutoLogAppEventsEnabled is still enabled in my Info.plist. However, following Adapty's docs, I turned OFF "iOS: Log in-app events automatically (Recommended)" in the Meta Developer console to prevent double-counting revenue. The ATE True Status Rate remains at 0%. Here is my current ATT request code:private func requestTrackingPermission() { ATTrackingManager.requestTrackingAuthorization { status in // 1
I'd like to request support for Airwallex as a payment gateway / billing provider for RevenueCat's Web Billing (alongside Stripe and Paddle).Why this matters:Airwallex is widely used in Vietnam and across Southeast Asia, where Stripe availability and local payment method coverage are limited. It offers strong support for local payment methods and multi-currency settlement that are important for our market. Currently, needing Stripe or Paddle is a blocker for teams like ours who already run our web payments through Airwallex.Use case:We sell web subscriptions and want to use RevenueCat's paywalls, customer portal, and cross-platform entitlements — but process payments through our existing Airwallex account.Impact:This would let developers in underserved regions adopt RevenueCat Web Billing without switching payment processors.Thanks for considering!
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.