Get help with webhooks, third-party integrations, and attribution providers.
Recently active
Hi team,We’ve spent the past few days setting up Intercom, only to connect with RevenueCat and find that no customer attributes (particularly email address) is being sent to Intercom.This issue is definitely on RevenuCat’s end, as the email attribute is listed on each revenuecat customer page, it is just not being included in the outgoing request.Can anyone shed some light on what is happening here?
I'm trying to integrate revenuecat with the stripe checkout on my squarespace website - so that when a customer subscribes the subscription will be automatically applied. Following this document up untill point 5 "Send Stripe Token to RevenueCat" https://www.revenuecat.com/docs/stripe#:~:text=Connect with Stripe,in the RevenueCat Stripe App. Does anyone know where the cURL code is meant to be added on the Squarespace platform?
I have a vanilla monthly/annual subscription plan on my app. In Stripe it’s 2 products, each with one price.I’m configuring the Stripe customer portal, where I will send customers to cancel their plans. Stripe allows me to let them “Switch plans”.Is this supported in RC or should I only let users cancel and start a new subscription?Thanks!
Revenue cat firebase integration events need to don't track sandbox purchases, i tried to disable in firebase extension Test events tracking, but still getting events with environment SANDBOX, how can i disable sandbox purchase tracking to firebase?
Hi, We are using RevenueCat to centralize all payment-related events for our app and our website. For web, we connected Stripe, and it’s working well. We can see the web events activity in RevenueCat Dashboard and Amplitude but we would like to track them in Google Analytics and we can’t find a proper way to do it. We have tested the Segment integration but Google Analytics is not attributing the events to users. It is just sending all the events from RevenueCat (app+web) without the right parameters (i.e: browser = segment.io instead of the right browser, no source attribution,...). Are we missing something or is it just not possible to send web RevenueCat events to Google Analytics? Thanks for your help
Hello! There is no method to set the protected attribute $firebaseAppInstanceId in react native, so the 3. of this tutorial for the revenueCat ↔ firebase analytics integration can’t be completed. Setting it with Purchases.setAttributes({$firebaseAppInstanceId: THE_ID }) doesn’t work. How can I do it?
I am struggling to get RevenueCat to automatically sync/recognise one-time purchases from Stripe Checkout.I have a Flutter app for both iOS and web (Firebase backend), and after significant work (writing custom conditional code for the Web logic...) have subscriptions working for both iOS and Web, integrated with RevenueCat. Customers can subscribe either as an IAP on iOS or using Stripe if on the Web app, and the subscription entitlement is managed by RevenueCat.But… user’s also need the ability to make one-time purchase of consumable credits. On iOS this is handled as an IAP that RevenueCat syncs, pushing the successful transaction event to my Firestore Function so I can track the credit balance.For one-time purchases via the Web app, Stripe Checkout successfully completes yet ReveneCat appears unaware of the transaction! Unlike for Stripe-managed subscription transactions there does not seem to be any automatic syncing or notification to RC of the one-time purchase.So far I have tri
I’ve been reading docs for hours and hours. I’ve read this post: https://www.revenuecat.com/docs/stripe To accept stripe payments I can use a Stripe Checkout (https://stripe.com/payments/checkout) It’s a stripe payment page hosted by stripe which prevents me from having to set up my own payment server. Here’s where I’m lost. After I receive a payment, I have to “Send Stripe tokens to RevenueCat”. How do I do that? I can’t figure out how to initiate a POST request from Stripe Checkout that sends the required info to Revenuecat. Here’s what I have to sent to Revenuecat… curl -X POST \ https://api.revenuecat.com/v1/receipts \ -H 'Content-Type: application/json' \ -H 'X-Platform: stripe' \ -H 'Authorization: Bearer YOUR_REVENUECAT_STRIPE_APP_PUBLIC_API_KEY' \ -d '{ "app_user_id": "my_app_user_id", "fetch_token": "sub_xxxxxxxxxx" }' Any help would be greatly appreciated. Chris
Firstore has a 1mb size limit. RevenueCat’s firestore extension creates a single customer record which holds all the purchases the user makes. There is a potential for a user to make so many purchases over time it would exceed the 1mb limit of firestore documents. How does Revenuecat handle this situation?
So I configured Webhooks and used the recommended approach of calling the RevenueCat API to handle logic.This works for all events tested so far. Except for the Cancellation event (I canceled Platinum):As shown in the image. The function is called at 11:38:35 with the cancellation event and after calling the RevenueCat API to check the expiration date, the platinum membership is not yet expired and thus my logic to remove the enitlement is not triggering as I am checking if the expiration date is in the past.Did I oversee something here?
I am using Webhooks to communicate with my MongoDB functions which is based on nodeJS.Now I have following problem:I do not know how to parse the data correctly. The payload arrives as object binary and I am unsure how to get the data out of it. Best regardsThomas
Platform: AndroidStore: Google PlayProduct Type: Monthly SubscriptionRevenueCat Purchases Version: com.revenuecat.purchases:purchases:5.1.0 A customer of our app from Moldova (Republic of Moldova) reported today that the price displayed in the app (9.49 USD) was not the price that he ended up paying (11.39 USD). Looking at the email receipt he sent us from Google, the extra 1.90 USD is labeled as Tax. I went in the Google Play Console where we can set our price for each country, and the price there is 9.49 USD → no sign of any VAT. I did a Google Search and the default VAT for Moldova is 20%, which matches the extra Tax from the transaction.I then checked RevenueCat, including the webhook for that specific transaction, and there is no trace of tax. The price is 9.49 and also, in the webhook, the `tax_percentage` field is 0. Then I found out that this is the case for all transactions made from that country, RevenueCat doesn’t know about the tax there. The biggest problem now is that fo
Please have a look at this customer:https://app.revenuecat.com/customers/64393e08/044c7fb8-183a-4928-be54-44b513ccd58aAccording to the history he bought a subscription with us on 19th August. But the webhook was fired today. This is a delay of 5 days which is totally unacceptable for an in app payment.Please verify whether the buy date (19th Agust) is really true or an errorAnd if it is true, you have to make sure such delays won’t occur anymore. Such huge delays can make customers get really mad and make them want their money back.
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
Currently the firebase integration sends both trial conversions and renewals as the same event to firebase (purchase), and this is a problem when it comes to running google ads. In google ads, we wish to see how many trials converted from a campaign, but since this isn’t a separate event, renewals and trial conversions are combined and its not possible to see the number of new paying subscribers that we obtained by a google ads campaign. Can RevenueCat please add the ability to also send the the trial converted event as rc_trial_converted ? This would be a great help. Below is the current Firebase event mapping. Currently trial conversions are mapped to ‘purchase’.
Like the title said, we suffer a wrong data in eCommerce Revenue (expected 0 but we receive 7.5K in the below image), which then causes wrong total revenue also. The actually revenue should be 31K-7.5K. All of previous month (which we haven’t integrated RevenueCat with Firebase yet), this number should be 0 (I’ve checked again)It looks like happen on iOS only because we has this value only on iOS, is this SDK bug?
We want to integrate RC with OneSignal and are facing some questions we do not find clear answers in the documentation.(https://docs.revenuecat.com/docs/onesignal)The main issue is that OneSignal does not have a combined “User”. They only have “PlayerIds” targeting specific devices and channels.Our Users use the app on multiple devices and platforms. (iPhone, iPad, Mac)We use anonymous user ids for RC and when a user restores their purchases, RC is creating aliases to link the data together.When we set the $onesignalId with the SDK, it is a PlayerId, meant to target push notifications to one specific device. So RC Subscription Events are only set to this PlayerId with the API Integration.If a user is using multiple devices, he has multiple PlayerIds. But RC is only adding tags to the one set as $onesignalId.To use OneSignal Journeys, we need to set the externalUserId.We can use the originalAppId from RevenueCat here.Sadly there is no detailed documentation on how to use Journeys and Pu
This is a technical question for the revenue cat suppourt team.Please have a look into my account. I configured the webhook in my dashboard and verified that the test webhook is working which it does.Beyond that no, webhook events are sent to my server at all. I configured the sandbox testing in google which works well. The events are properly shown in the customer profile. But the webhooks are just not triggered.Here an example for an event that never triggered a webhook: { "app_id": "appbf2ba432f2", "app_user_id": "e54178d1-0ba0-4f52-b768-8b16da7ec516", "country_code": "DE", "currency": "EUR", "entitlement_ids": null, "environment": "SANDBOX", "event_timestamp_ms": 1660003974081, "expiration_at_ms": 1660004387520, "is_family_share": false, "is_trial_conversion": false, "offer_code": null, "price": 8.130577688229488, "price_in_purchased_currency": 7.99, "product_id": "pro_monthly", "purchased_at_ms": 1660004087520, "store": "PLAY_STORE", "takehome_percentage": 0.85,
Hello everyone We are facing one bug with Revenuecat and firebase integration when reporting subscribed users. our system uses firebase and firebase assigned ids to the users, and we use the same ids to report a subscription, and revenuecat assigns it as an alias in the revenuecat dashboard. The bug show when a user transfers his entitlement to another account, like this example:here it’s transferring it to anonymous userin the attributes it’s showing fine the firebase app id then we move to the new account created after transferring the entitlements:it’s not showing firebase app instance id, and reporting the user as anonymous revenuecat user this is for the first time.the second time, for another user something similar happened and here what happened: the user transferred the entitlements to another user, so main account it was completely fine:the attributes for the main user had firebase app instance id there.in the transfer event it was as followsso it created an anonymous id for t
We run into a use-case that seems like an edge case but ends up being more common that you’d expect.User subscribes via App Store, let’s say an annual plan that ends on 2023-01-01. In the middle of the subscription, user now wants to be billed through Stripe (receiving a promo code or something like that). It is too late for a refund. User cancels their App Store subscription, though it is still active until 2023-01-01. User wants to purchase their new Stripe subscription but only get billed once their App Store one ends in the future.There are a few ways to do this:Just not support this at all, and force users to wait until their App Store subscription expires before they purchase their Stripe subscription (less than ideal). Let the user purchase their new Stripe subscription, but with a really long trial duration so that during the overlap period, they have the canceled (but non-expired App Store), then on 2023-01-01 when the first one expires, their Stripe trial ends and they get bi
Hey! Is there any way to have discord webhook compatible with Revenuecat? There is an integration with Slack, but regular Webhook in rc and discord does not work together. Any ideas what to do to connect discord?
Our backend system are splited to staging and production, but revenuecat’s sandbox looks doesn’t support webhook, so I want to add both staging and production webhooks to the app.
Hello , Once the revenue cat implementation is Done ,I went through the purchase => once i click and purchase any package its throughing me the following error Please do help..unity version = 2020.3.35f1revenue cat version = 4.0.0-rc.1unity IAP version = 4.1.5gradle version = 6.1.1/Unity: NullReferenceException: Object reference not set to an instance of an object at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.OnPurchaseOk (UnityEngine.Purchasing.Models.GooglePurchase googlePurchase) [0x00000] in <3eb221e23cc14c1eb9a89aaea1015de1>:0 at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.ApplyOnPurchases (System.Collections.Generic.IEnumerable`1[t] purchases, System.Action`1[t] action) [0x00027] in <3eb221e23cc14c1eb9a89aaea1015de1>:0 at UnityEngine.Purchasing.GooglePurchaseUpdatedListener.HandleResultOkCases (UnityEngine.Purchasing.Models.IGoogleBillingResult result, System.Collections.Generic.IEnumerable`1[t] purchases) [0x00008] in <3e
Do Refunds get sent to Amplitude?
If I check the docs (https://docs.revenuecat.com/docs/mixpanel) for the mixpanel integration, I see that for cancellations you differentiate between “Trial Cancelled” and “Cancellation”. However, on the uncancellation side there is only one event with the description “When a user re-enables the auto-renew status for a subscription.”Are uncancellations of trials not tracked or are they covered by this event?
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.