Get help with webhooks, third-party integrations, and attribution providers.
Recently active
In my RevenueCat project, I implemented Stripe, which is connected to RevenueCat.I followed the documentation on how to implement web hooks, copied the “Signing secret” from Stripe to the “Stripe Webhook Secret” field in RevenueCat.But when I submit the secret, I got an error: “Invalid Password”, as shown below: Did I miss something?How can I fix that?Thanks.
Hi.I'm trying to implement subscription purchases and in-app purchases using Google play and RevenueCat payment service.Although we had already succeeded in integrating other apps, we had problems integrating payments for the new app.I don't think the RevenueCat payment service works by accident.I hope everything runs smoothly.Let me tell you why I say this.We followed all the integration methods currently provided by RevenueCat and repeated them not just once, but several times.So, please refrain from telling people to refer to this while sharing reference documents.So, I often waited for more than 24 or 36 hours, and now even after waiting for a week, the payment does not work.Of course, the review and approval was completed in the closed testing track, and there were many times I waited while revising the product description for a quick method.But it still doesn't work.I am now waiting for a quick reply and hope this helps all users here who are having the same problem as me.We look
I’m tinkering around with RevenueCat for an app my company is releasing Q4 this year. We use Firebase as a simple backend.Context:One of our features is the submission of images for server-side processing. The submission of a job is done via a Firebase cloud function, and the abilities of the user to submit these jobs can be different depending on the user’s current subscription/entitlements. As such, it is important that the custom claims on the Firebase auth token are up-to-date when the backend function is called. Otherwise, the user might make a purchase to attain some feature, and not be able to access it immediately because the Function will reject their request. Question:When are the custom claims set, and can I expect them to be available immediately in my Firebase functions after a purchase?More specifically, if I await any calls into RevenueCat when a purchase is made, will all Firebase functions called from that point onwards have the custom claim set in the request? Or is t
Hello,Unfortunately documentation page https://www.revenuecat.com/docs/firebase-integration provides only client-side authorization check getAuth().currentUser.getIdTokenResult() .then((idTokenResult) => { // Confirm the user has a premium entitlement. if (!!idTokenResult.claims.activeEntitlements.includes("premium")) { // Show premium UI. showPremiumUI(); } else { // Show regular user UI. showFreeUI(); } }) .catch((error) => { console.log(error); }); It won’t prevent me to write code accessing Firestore with expired subscription. Can you please provide some examples / design patterns / best practices for server side? For example, Cloud Firestore Rules which check subscription status, or maybe cloud functions? Hard to guess ;)
Hello Team,Is there any possible way to test revenueCat’s webhook events in my local envirement ?I mean something like stripe CLI tool or any way to see the events on my local machine without need to deploy a test server or directly test in production Thank you!
So google ads needs IAP events to be fired via google analytics, which is then used by google ads to optimise campaigns.I am using RC for react native for both subscription with trial and product purchase. I am just wondering if these IAP events are fired automatically in both android and ios?I can see there is an Firebase integration, but i think Google ads will need device identifier to identify users, so was wondering if events in analytics are logged via an integration will it still work.In short, I want IAP events (in_app_purchase, Subscription trial and subscription convert) to be logged to analytics which will work with Google Ads action optimisation. Whats the best way to work with this?
Hi, I am in the process of finishing my integration with RevenueCat and having an issue where the subscription events are not updated in the user collection.StackVue.js + CapacitorJS + FirebaseWhat’s happeningSubscriptions are successful User collection is updated with RevenueCat data (I’m using the same collection as my normal user collection) I cancel the subscription in Google Play successfully I receive the event in Firestore User collection is not updatedUser collection’s entitlements and subscriptions sections after cancellation The only steps I’ve not completed is connecting up to Google Analytics but otherwise I think I’m setup correctly.Is this not working or is my expectations of how this integration works incorrect?I was expecting that when a user unsubscribes that the unsubscribe_detected_at would be updated and when the sub expires that the subscriptions and entitlements would update accordingly.Regards,Chris
Hello,we used the event `in_app_purchase` to track the purchases that where made in our app. Sadly, that event has stopped firing after updating the RevenueCat and Firebase Capacitor Plugin.Does someone know if the event `in_app_purchase`, which is automatically collected by the firebase sdk, is the same as `rc_trial_start`?Firebase Events Docs: https://support.google.com/analytics/answer/9234069?hl=en&visit_id=638606024194872788-4062852051&rd=1Thanks in advance,Marius
I have set up an integration between OneSignal and RevenueCat, checked over the App ID and API key, both are correct. I recently found out that our app was not setting the OneSignal ID and on the Purchases SDK for flutter (8.0.1). We fixed this and checked that the user does indeed have a valid OneSignal ID and it should be sending the given data tags to OneSignal. however it seems that when i look through the integration logs that RevenueCat sends empty body to OneSignal and in turn gets a 404 reply with the given error below (the webhook to our backend sends the update correctly so theres no issue there). Note: i have not change any of the tag names so they are default{"errors":[{"code":"subscription-0","title":"Subscription not found"}]} Any idea why this is happening? EDIT: seems flutter SDK still only supports old device centric (9.0) version of RevenueCat, does this mean the integration does not work at all in that case unless we set it manually?
Hi,We are implementing webhooks and would like to know if there is a specific order the id’s come back in the `transferred_from` and `transferred_to` arrays. During our testing, they seem to be a little inconsistent *Update*I should probably clarify that I am referring to the transfer webhook jic someone is reading this, down the line and it isn’t clear.
I am testing Stripe integration with RevenueCat and have everything configured and working per your documentation. However, I am running into an issue with Stripe checkout and initial billing failures. When using Stripe checkout, if the initial payment fails the Subscription is automatically placed in an ‘Incomplete’ state. In this scenario, Stripe still emits a customer.subscription.created event which, per your documentation, I handle and post the token to RevenueCat. This subscription immediately fails and Stripe sends an invoice.updated event which I have configured to be sent to RevenueCat. I am then listening to Webhooks emitted by RevenueCat on my own server to do some minimal state management locally.This series of actions causes 3 events - Initial Purchase, Billing Issue, and Cancellation - to be sent to me by RevenueCat. All 3 events have identical event_timestamp_ms and purchased_at_ms timestamps. In other words, all 3 events appear to be emitted simultaneously.The problem i
The Overview metrics in v2 API MRR and Revenue are returning as whole numbers.This should be in double so that the values can be more precise.Example, real MRR is 16.82 but the API returns as 16 which is inaccurate.
I am currently using Android subscriptions in the sandbox environment. When a user makes a purchase, the initial_purchase event is received correctly. However, events such as renew, cancellation, and expiration are not being received. Is this expected behavior in the sandbox environment? For reference, below is the webhook I received:{ "event": { "event_timestamp_ms": 1724862639635, "product_id": "premium:5-monthly", "period_type": "NORMAL", "purchased_at_ms": 1724862633772, "expiration_at_ms": 1724862929764, "environment": "SANDBOX", "entitlement_id": null, "entitlement_ids": [ "premium" ], "presented_offering_id": "default", "transaction_id": "GPA.3346-5354-2391-53417", "original_transaction_id": "GPA.3346-5354-2391-53417", "is_family_share": false, "country_code": "KR", "app_user_id": "671e13db-492e-4779-a39e-a9f4cd89c245", "aliases": [ "671e13db-492e-4779-a39e-a9f4cd89c245" ], "original_app_user_id": "671e13db-492e-47
I’m currently testing in the sandbox environment. The INITIAL_PURCHASE webhook is being delivered correctly, but I’m not receiving the RENEW, CANCELLATION, or EXPIRATION events. What’s strange is that when I resubscribe, both the INITIAL_PURCHASE and the previous EXPIRATION events are delivered together at that time. Can you help me understand why this is happening and how I can ensure that the RENEW, CANCELLATION, and EXPIRATION events are sent as expected?
Hello,I integrated the FB SDK according to your documents and after the release I did not see AppInstall events in the FB Console.I assume this is because I disabled automatic FB event tracking and all RC sends is subscription events.I can't use the AppActivate event because it can't be related to ad campaigns.Can you explain if I might have made a mistake somewhere when linking FB and RC.
I’m developing a subscription-based app where users only need to pay on one device (including Android, iOS, and web) to use it on all devices.From previous attempts, I’ve learned that using only Stripe webhooks, when I create a subscription in Stripe (in ), if there is no subscription data for that customer in RevenueCat, it will not send the customer data and the billing record to RevenueCat (I hope I’m understanding this correctly). Therefore, I decided to additionally use the API (not sure if this is the best approach, if there are other suggestions please let me know, thank you).After creating a subscription in Stripe (real mode not test mode), I sent the information to RevenueCat using the API v1 /receipts/, and the transaction with that ID does appear in Recent Transactions. However, when I receive customer information via the API or in Unity, this subscription information does not appear in the customerinfo. Also, on the web, this transaction has not been assigned an entitlement
Hi everyone,I’m currently experiencing a significant issue with subscription update events (customer.subscription.updated) from Stripe being delayed in syncing with RevenueCat. In some cases, it’s taken over a day for these updates to appear on the RevenueCat dashboard after the customer has been charged.This delay is causing major problems, as our users are paying for subscriptions but are not being granted access promptly due to the delayed data sync. Since we rely on RevenueCat as the source of truth for managing subscriptions, this issue is affecting a lot of our customers.Has anyone else encountered this problem? If so, were you able to find a solution or workaround? I’d appreciate any advice or insight on how to resolve this issue quickly.Thanks in advance for your help!
Our app subscriptions are currently done via appstore and playstore purchases and we’re trying to add stripe into the mix. But we’re not sure how to handle the case where an old user signs back after a new subscription as anonymous. In case of appstore and playstore purchases, the transfer purchase call does the job but not so in stripe purchases. How is this to be handled? Just post a second receipt against the signed in user’s app user id? It’ll result in the stripe subscription attached to both revenuecat customers. I’m not sure about any unintended side effects of this flow. Is this the way to go here? Or am I missing something
I’ve connected the RevenueCat integration with Facebook Ads, but it looks like all the events are coming from App Events API and not Conversion API.I want to enable Meta’s attribution for iOS14+ for StartTrial events with AEM but it doesn’t look like I can be eligible with the events coming in from App Events API.
Hello everyone, I have an app on flutterflow that is set to check on a customer subscription status every time it starts, so is updated in the app. This is causing my customer to keep his status until he opens the app again, even when he has cancelled the subscription before. Right now I thought that integrating my Firebase DB to Revenuecat could figured this out by updating instantly my db, but I noticed there's no “boolean” attribute on firebase when a customer is made. I was expecting something like “subscribed=true false” but there's only dates (on string) and useless data for me. Any idea how can I check a customer subscription status with firebase information instead of checking as an API in app?thx
In the iOS SDK, you can check an entitlement for a customer and determine if that entitlement is in the sandbox environment or not. For the same customer, when looking at the Firebase collection setup via the integration, the entitlements object has nothing indicating if the entitlement was granted in the sandbox or the production environment: "entitlements": { "pro": { "grace_period_expires_date": null, "product_identifier": "pro_1199_1m", "expires_date": "2024-08-01T20:03:48Z", "purchase_date": "2024-08-01T20:02:16Z" } },The only way I can think to determine if this is in the sandbox is to match the product_identifier for the entitlement over to the subscriptions object and see if is_sandbox is set. Is there a better way to do this? For a given product_identifier, will there only be a single matching entry under the subscriptions object, or will there potentially be multiple entries?
I have this error when trying to fetch offering from Revenue cat[Error: 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). Here is my Setup:app store agreementsapp store product:in revenue cat, i can import product automatically from app store here is my offerings & product: Can someone tell me what's going on =(( I'm stuck with it for 2 days now
According to https://www.revenuecat.com/docs/integrations/attribution/facebook-ads: The Facebook integration requires some device-specific data. RevenueCat will only send events into Facebook Ads Manager if the below Attribute keys have been set for the device. $idfa iOS advertising identifier UUID Required: ✅ (iOS only) 95% of users opt out of app tracking, so the IDFA won’t be available. Does this mean Meta won’t see conversions 95% of the time? Is it possible to send conversion events with just, say, IP, email, and phone numbers?
We want to automate subscription offers and messages along the customer journey, including progressive discount.Showing the right paywall with the right offer at the right time.AFAIK this is not possible with RevenueCat only.Can you recommend any services compatible with RevenueCat for that?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.