Get help with webhooks, third-party integrations, and attribution providers.
Recently active
Connection failed!We couldn't establish a link to the App Store. The App Store Connect API credentials are not valid or do not have sufficient permissions to list apps. Make sure the key has at least the App Manager role.I keep on getting this error and I 100% put everything in the right way. And I'm not sure why.
Hi everyone,I’m using the RevenueCat Web Billing connected to Stripe. One of my customers has initiated a dispute, and Stripe is now requesting evidence to resolve the issue.Could anyone advise on what kind of evidence I should provide in this case?Thanks in advance for your help!
I was trying to integrate, My App store connect with my RC but getting this issue:“The key is not valid or is not compatible with the bundle id of your app.”Even though my Bundle ID is valid on both xcode and appstore connect i just copy pasted from that, Just created my .p8 file and have created this 3 times now.
Hi,I’m running into an issue where development builds (via Xcode) are not generating an appsflyer_id, and consequently, no S2S events are being sent from RevenueCat to AppsFlyer. Here’s what I’ve observed:What’s happening In dev builds, Apple zeros out IDFA and IDFV for sideloaded apps, even with ATT consent. Without IDFA/IDFV, AppsFlyer SDK cannot create a valid appsflyer_id, which is required for event attribution. As a result, RevenueCat never sends server-to-server purchase or trial events because it doesn’t have the mandatory identifier. I’ve implemented the suggested methods—collectDeviceIdentifiers() and setAppsflyerID()—but since the SDK doesn’t generate the ID in dev builds, RevenueCat still fails to send any events. Questions Is there a recommended workaround for dev builds when IDs are zeroed? (e.g., can we manually set a fake $appsflyerId or use an IDFV workaround?). Any best practices for testing with Xcode‑installed apps so that both AppsFlyer and RevenueCat work
“Track new purchases from server-to-server notifications” is enabled and is being ignored. I can’t use my custom id to query the API!!!
Hello,I am integration Branch with RC and I found this in RC documentation:https://www.revenuecat.com/docs/integrations/attribution/branch#optional-set-a-separate-identity-in-branch-and-revenuecatQuote:If you prefer to keep a separate user identity between Branch and RevenueCat, set a $branchId Attribute in RevenueCat. If set, RevenueCat will use this identifier for Branch events instead of the App User Id. I like that aproach and I would like to set $branchId with a user id from Branch, what how do I get it?Could you please tell me which field I should use to set $branchId?PS: if I don’t change/override/use any custom identity ids, so what comes from BranchSDK is not changed, I just want to pass it to RC as $branchId. Thanks!
Hello, is there a way to add an entitlement to a customer using the rest api v2?
Hey everyone,I was trying to get a list of customers that tapped on an SearchAds Basic ad, but can’t find any attributes that identify a user who tapped on such an ad (just SearchAds Advanced).The issue with the current charts is (I think) it doesn’t create monthly cohorts based on when the user was first seen (for filtering SearchAds > Unspecified to get the Basic revenue). The use case: Compare SearchAds Basic expenses vs revenue for a specific month.To be as accurate as possible, I want to filter for users who tapped the ad, AND installed the app for the first time in a given month. I don’t want to attribute users who were already using the app before tapping on the ad. I use the First Seen dates for this. Any ideas for workarounds or where the attribute is? I could also set it from inside the app, but I don’t want to mess up the tracking in the charts. We track SearchAds Basic and Advanced, just Basic is hard to find in RC. Thanks!
Hello,I recently try to setup the Google Analytics firebase integration to catch all purchase for the marketing teamI have a question as we are not using firebase for anything else that notification and analytics, does I really need to setup the firebase extension just to send analytics ?In the firebase page integration, I am seing the event sent to GA, with 204 status responseex { "app_instance_id": "xxxxxxx", "events": [ { "name": "rc_expiration", "params": { "affiliation": "APP_STORE", "app_id": "XXXXX", "environment": "SANDBOX", "event_id": "1d4cfa0c-6ab5-4e14-b6a0-4b23ac30f90a", "expiration_at": 1751542603000000, "expiration_reason": "UNSUBSCRIBE", "original_app_user_id": "XXXXXX, "original_transaction_id": "2000000922156146", "period_type": "NORMAL", "presented_offering_id": "XXXX", "product_id": "XXXXX", "purchased_at": 1751542423000000, "transaction_id": "2000000954063064"
Hi everyone! I'm just getting started with programming, and I'm currently trying to integrate RevenueCat with Supabase to control user access based on subscription status.I created an Edge Function in Supabase that receives the webhook from RevenueCat and tries to extract the app_user_id from the payload to identify the user and update their data.The issue is: even though I can see the app_user_id correctly in the request body, I still get a 400 error saying "user_id not found". 🥲Since I'm new to all this, there's a good chance I'm missing something simple — I'd really appreciate any help or guidance! serve(async (req) => { try { const body = await req.json(); const entitlement = body.entitlements?.premium_access; const event = body.event; const userId = body.app_user_id || body.subscriber_attributes?.user_id?.value || body.customer || body.aliases?.[0]; if (!userId) { console.error("user_id not found"); return new Response("user_id not
As per the subject, how is the USD value calculated for the webhook ‘price’ field if the purchase is made in a different currency? Building for both the App Store and Google Play. Thanks
In linked post, the answer to this question remained unclarified, I would basically like to ask for a follow up on that question:The `store_transaction_id` in CustomerInfo of v1 REST API , is it the unchanging ORIGINAL transaction ID for all platforms? Or does it change after renewals?
I’m currently integrating OneSignal with RevenueCat, and I’ve run into a situation that I believe others may have faced as well. I have two separate apps: one for iOS and one for Android. Each app has its own distinct OneSignal App ID, as required by OneSignal for platform-specific notifications.However, in the RevenueCat dashboard under Integrations > OneSignal, I only see the option to enter a single OneSignal App ID. Since my iOS and Android apps have separate OneSignal projects (and therefore different App IDs), I'm unsure how to properly configure the integration to support both platforms at the same time.My main goal is to ensure that RevenueCat sends subscription events to the correct OneSignal app depending on the platform, so I can properly target users for notifications on each OS.Thanks in advance for any guidance or suggestions!
This is from an expo 53 react native implementation.The errors[StoreKit] [b86562ee] Request failed with error Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"[StoreKit] [3e167164] Request failed with error Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"[StoreKit] [b86562ee] Error updating Storefront: Error Domain=StoreKit_Shared.StoreKitInternalError Code=7 "(null)"Error Domain=ASDErrorDomain Code=509 "No active account" UserInfo={NSLocalizedDescription=No active account}occurs when calling // Set API key based on platformconst apiKey = Platform.select({ios: process.env.EXPO_PUBLIC_IOS_RC_API_KEY || 'appl_xxxxxxxxxxxxxxxxxxxxxxxxxx',android: process.env.EXPO_PUBLIC_ANDROID_RC_API_KEY || 'your_android_api_key_here',});// Enable debug logs in developmentif (__DEV__) {await Purchases.setLogLevel(LOG_LEVEL.DEBUG);}// Configure RevenueCat with anonymous IDawait Purchases.configure({apiKey,entitlementVerificationMode: Purchases.ENTITLEMENT_VERIFICATION_MO
Hello!We use RevenueCat as our app subscription management platform and as a single location to monitor our revenue across iOS and Web (Stripe).From iOS, users can only purchase subscriptions, and everything displays as expected. However, from Web (Stripe), users have multiple options for purchasing our product. Some Stripe Payment Links combine non-renewing products with renewing products (subscriptions), while others are only have non-renewing products.When someone follows a Stripe Payment Link to purchase multiple non-renewing products, then in the RevenueCat Dashboard, we see multiple separate “One Time” purchase line items, and all revenue is properly tracked.However, when the Stripe Payment Link includes both non-renewing products and a subscription, then in the RevenueCat Dashboard, we see only 1 “New Sub” line item, and only the revenue from the subscription is tracked. The rest is untracked. It’s all a bit inconsistent and confusing. Thank you for any help with tracking all of
Hello, I did everything correctly via integration Firebase, but my conversions in Google Ads doesn’t have a value so ROAS can’t optimise How can we solve this issues? Thanks
Hello!Is there a way to track shipping fees charged to our customers via Stripe Payment links in RevenueCat? We want to use RevenueCat as a central location to track all sources of revenue and this would be very helpful. Thank you for any help with tracking all of our revenue!
Hello RevenueCat community,I'm facing an issue with my app "Flight Canvas" being rejected by App Review. The reviewer attempted to make in-app purchases but encountered errors.App Review Feedback:"When validating receipts on your server, your server needs to be able to handle a production-signed app getting its receipts from Apple's test environment. The recommended approach is for your production server to always validate receipts against the production App Store first. If validation fails with the error code 'Sandbox receipt used in production,' you should validate against the test environment instead."Current Situation:The app works perfectly in TestFlight with sandbox purchases RevenueCat logs show successful offering fetching and subscription recognition Customer info shows proper entitlement activation in testing Using RevenueCat for all IAP handling (no custom receipt validation)Question:Is there a setting in RevenueCat I need to change to handle this specific App Review scenari
Hello, the flow I’m trying to implement is the following:✅ user might or might not have downloaded and logged in on the app ✅ user visits my website and by following a stripe payment link they purchase a subscription through a stripe checkout session ✅ stripe sends the purchase to revenuecat through server to server notifications ✅ revenuecat creates an anonymous user with an anonymous user id ✅ user gets in the app, logs in with their email (same email as they used for stripe) ⚠️ what i’d want to do at this point: call loginUser with revenuecat, a user with the same email is found and they have a stripe subscription attached, in the app i get identified as that user and with access to the revenuecat offering.i think there are two blockers i’m not finding a solution for:revenuecat is not setting the email field in the user metadata (of the anonymous user it creates) when it receives the server to server notification, this is somewhat necessary because it’s the only way i have to connec
Prevously my appsflyerID in revenue cat events integrations would be set to the user ID as I did not set it manually. As of March 25th this stopped happening and the integration is broken as the appsflyer id is required for it to work. Why did the appsflyer IDs stop auto populating?
Is there a workaround to the problem described here?
Hi there, I'm reaching getting the error message below upon trying to add more webhooks:“This project has reached the max number of webhook integrations.”I have 5 webhooks currently and will need a lot more to handle all the different event types. What is everyone's approach to this? I haven’t seen anything relating to this issue. In the docs it does not say anything about the limit. Any insights would be appreciated. Thank you!
My revenuecat id is “app99d60b4027”at the sandbox mode is working fine butI got this error when try to purchase on “live mode”3D Secure 2 is not supported for the specific transaction.I was try both of my credit card, all is same error.Step to reproduce:1. goto https://pay.rev.cat/lkdqglryuptczslh/userprodtest-0012. choose package and fill credit card form3. press “Pay Now” buttonnote: userprodtest-001 just a random mocking idResult:Thank you.
Hi,I have configured Stripe + RevenueCat integration based on the documentation, but I do not see any subscriptions created in my RevenueCat test data. The IDs appear to line up (see screenshots), and server-to-server notifications are enabled with ‘Track new purchases from server-to-server notifications’ turned on. The RevenueCat app is installed and visible in Stripe. I have mapped Stripe product IDs (from the Default Sandbox) to product IDs in RevenueCat. However, even when a successful subscription is created in Stripe, nothing is received by RevenueCat.If someone could help me understand what might be going on and what steps I might take to debug, it would be much appreciated!
Hey everyone, I am asked to input the Sandbox Api Key here: Any idea where I can find it?
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.