Get help with webhooks, third-party integrations, and attribution providers.
Recently active
I have updated product description on Google play console. But in my code I still get StoreProduct object with old description. What should be done to get updated description? I am using vs code, windows, flutter.
Hello, Im am going through the firebase docs for the implementation and I am on the final stage, where I check the entitlements via the firebase claims with the code belowgetAuth().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); });When I go to check the active entitlements with the code like so console.log(idTokenResult.claims.activeEntitlements) it returns undefined and when I check the returned object of just console.log(idTokenResult.claims) activeEntitlements doesn’t exist. Also I enabled claims in the firebase setupWhat can possibly be the fix for this? Thanks
We have an AppsFlyer Integration that occasionally uses the customer_user_id as the appsflyer_id. Does anyone know why this would happen?Here’s an (anonymized) example.{ "af_events_api": "true", “appsflyer_id": "aaaaBBBBCCC", "bundleIdentifier": "com.bundle.app, “customer_user_id": "aaaBBBBCCC", "eventCurrency": "USD", "eventName": "renewal_event", "eventTime": "2021-10-08 21:27:43.000", "eventValue": "{\"af_revenue\": \"5.99\", \"renewal\": \"true\", \"af_content_id\": \"monthly_plan\", \"af_currency\": \"USD\"}"}A correct appsflyer_id looks like a Unix Epoch timestamp with a random number appended like this. "appsflyer_id": "1617274484000-5786735",Does anyone know why it occasionally doesn’t have the correct Appsflyer ID?
We’ve got some integrations with Amplitude and other third parties and we’ve noticed all Subscriber Attributes are being sent through these integrations. I’d love to know if it’s possible to curate the list of Subscriber Attributes that are being sent with these events.
Hi there,is it recommended to use RevenuCat Webhooks to sync purchases to an external system instead of using the built-in Webhooks of App Store Connect and Google Play?Is it even possible to sync user subscriptions via App Store Connect webhooks? I'm not sure if Apple gives out the email addresses of the users.Can you please give me a brief summary of the pros and cons of App Store / Play Store webhooks and RevenueCat webhooks?Kind Regards,Marius
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?
I want to refund the prorated amount to customer on subscription cancellation but I am using stripe customer portal for cancellation handling and it only gives option to add credit balance to customer for prorated amount. How can I handle refunds when this scenario happens?Thanks a lot!
Hello Guys,I have third party platform and every hour user data get from that platform using CRON JOB.That data valid and if data valid then grant-a-promotional-entitlement api and give lifetime access after some time or next time same data get then automatically revoke-promotional-entitlements call. all data valid and already verified. package used Axios(https://www.npmjs.com/package/axios) for grant-a-promotional-entitlementI will provide below sample codeimport axios from "axios";import config from "config";const grantPromotionalEntitlements = async (app_user_id: string, cronName: string) => { const PayloadObject = { url: revenueBaseAPI + `subscribers/${app_user_id}/entitlements/${"All_Features"}/promotional`, method: "POST", headers: { "content-type": "application/json", Authorization: `Bearer ${SECRATE_KEY}`, }, data: { duration: "lifetime", }, } as any; const res = await axios(PayloadObject) .then((res) => { return res.d
Dear Community,we are currently using RC for our subscribermanagement (full integration) and Appsflyer as attribution provider. Both Services are integrated in our app but until now we only had instagram paid ads for our native ios-App. We now want to use ads for our native android app. The goal event for our ads is the start of a trial. We have a monthly, quarterly and yearly subscription.I'm facing the issue, that our CMO asks for AF-Events with 3 different names depending what kind of subscription trial was started. As far as I know the RC to AF Integration is insufficient for that, because each trial start irrespectibly of the subscriptiontype sends the "Trial started event" (default name: rc_trial_started_event) to AF.Therefore I need to write code, that sends these 3 Events to AF. In my current implementation I send the Events in the "onCompleted" Callback of the "purchasePackage" Method.Here is the simple Code:Purchases.getSharedInstance().purchasePackage(this, pack, new Purchas
hi there, we just setup an integration to CleverTap but are getting very limited in using CleverTap to the best of it’s abilities due to what RevenueCat sends. See below WHAT WE WOULD LIKE TO DOIn CleverTap we would like to be able to target all users that have a specific subscription status say, all monthly subscribers or all subscribers who have cancelled WHAT RC SENDS TO CTRC sends each subscription event as “Events” and has the details of the subscription in the event properties of CleverTap REQUEST FOR CHANGEWe would love to be able to send user properties to CT and define the different user properties and send them based on the RC events. This way we can have user properties in CT, which would make it possible for us to target users
Hi there, I’m using this script to connect a stripe subscription to a RC User ID (aka posting receipts):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" }'Sometimes I make a mistake and then delete the RC customer, so I can reconnect them again. But now I’m running into various issues.First, after deleting in RC, I still can’t post the receipt to another RC User ID. I get a "Failed: Bad Request" response.Second, even after deletion, I still see the user ID in Stripe (I’m using the RC plugin in Stripe to open the customer page on the right). So the user is after all not really deleted, what would the failed request explain.After deleting I can’t find the customer anymore in the RC UI though.Also, the original user ID didn’t have the entitlement although the stripe purcha
Kochava is a very useful attribution and measurement platform.https://www.kochava.com/Are there any plans on supporting them as an integration?
We connected stripe to revcat. This allows us to let users subscribe on our own website, and automatically unlock access to the same subscription. We send all our paywall events (Initial Purchase Event, Trial started Event, Trial Converted Event, etc) to Appsflyer; however we would like confirmation that the same paywall events coming from stripe are also making their way to Appsflyer. Can you confirm that it is being taken care of in your implementaion?Also, what attributes can we use to distinguish paywall events that are strictly from the mobile app (revenue cat) versus the ones that are go through stripe? --
Hi Team, We have a client for whom we are looking to integrate RevenueCat APIs to get some stats. Can someone please confirm if it is possible to get Retention rate and LTV as shown in the below screenshot via API? I did go through API documentation however wasn’t able to find relevant API.Inputs or workaround on this would really be helpful. If there are other stats accessible via API which can be used to derive LTV and Retention rate, that would also be helpful.Thank you!
I am trying to prepare an import script for adding our one-time (i.e. Lifetime) historically purchases from Stripe into RC. I am able to successfully use the API to create annual subscription but have not figured out how to get passed the "{"code":7103,"message":"The receipt is not valid."}" error I keep getting for my one-time purchase query. I am using the Stripe checkout key at the fetch_token and Postman to get test the syntax structure first. Here's my code:header 'Accept: application/json'header 'Authorization: Bearer [stripe_secret_key]'header 'Content-Type: application/json'header 'X-Platform: stripe'{"product_id": "prod_HMezcIkru867vf","price": 99.99,"currency": "USD","is_restore": "false","app_user_id": "ZOVwTCYttQagvnO0ALT7vhmoYWf2","fetch_token": "ch_3K8UhVEwxMCNONa5180XDbh7","introductory_price": 49.99}
I initially setup the Firebase integration with my revenuecat project, but have decided not to use it (going to use webhooks for my use case, which is adding/reloading a credit system on each billing date). However, I can’t find any option to remove/delete the firebase integration from my project?
Hello RevenueCat Community,We've been using RevenueCat for our iOS, Android, and web apps, and we primarily use Firebase as our backend for all 3 apps. We've set up the RevenueCat’s Firebase integration (not the Firebase extension) by following the documentation provided here. The document seems to indicate that events for all 3 sources (App Store/Play Store/Stripe) can be sent to Google Analytics.We see the revenue data for our iOS and Android apps in the Firebase dashboard. However, we've noticed that the revenue for our web app, which is processed through Stripe, is missing. We do see the web app revenue on the RevenueCat dashboard, but it's not showing up in Firebase.We've double-checked the setup and believe that we've followed the integration steps correctly, but we're still not able to see the web app revenue in Firebase. Is there an additional step or configuration required for Stripe payments that's not covered in the documentation?Any guidance or suggestions would be greatly
Hi Team, I was wondering if it is possible to access the customer lists via REST API. I would need to access the subscriber attributes to see the media source, and correlate the proceeds with the spend in Apple Search Ads. I can get this data if I have the app_user_id, but how do I do it if I don’t have the app_user_id? I know there are many third-party apps that read this data from RevenueCat. This let me think that it should be possible.Best,Salvatore
I followed all the steps in the documents and I am in the testing phase and I am testing on a real device with Android 12 and I get this error In-app billing API version 3 is not supported on this device.W/[Purchases] - WARN(25864): 🤖‼️ Billing is not available in this device. DebugMessage: Google Play In-app Billing API version is less than 3. ErrorCode: BILLING_UNAVAILABLE.
I just want to check I’m not missing anything here: If I want to use Superwall for my paywalls and run pricing experiments, then I need to:administer the experiment/choort allocation in superwall track the results in RevenueCat using a chart which is segmented by offeringDid I miss anything? Is there a better way?
I have an iOS app which uses the RevenueCat Swift SDK and an web app which uses Stripe. Both apps are powered by Firebase as the backend. I want to sync the subscriptions between them. I installed Firebase extensions for RevenueCat and Stripe. Both extensions set custom authentication claims in the user’s access token. Is that a good way to sync purchases?Are there any other easy ways to sync the purchases? (by easy I mean little or zero backend work).Another option I’m exploring is to setup a listener for user document in Firestore, which is updated by both the extensions (RevenueCat and Stripe). So when any changes happen to that document, I can update the subscription info in the apps. PS: Actually, having to write backend code to sync purchases between web and iOS makes me think the purpose of using RevenueCat is lost.
I’m using expo with EAS. Both in production and expo it throws errors saying the Purchase Class is null and thus no functions exist on it. My IDE says it the class is imported and i can call the functions. Typescript says everything is fine. Can someone help me?I installed the react-native-purchases package multiple times and cleared Caches as well.
Hi, we are getting a lot of "None of the products registered in the RevenueCat dashboard could be fetched from the Play Store" errors being logged in our app, but they happen intermittently and with no visible pattern.We have checked our whole setup and everything is correctly configured, and it also works fine in all the devices we have tried on. All google products linked in RC console show Store Status Ok .Is it possible that this error gets triggered when something else happens besides a bad RC configuration? Can you convert it to a different one, like unknown error? We usually filter those out, because there is nothing we can do. But we can't ignore an error that may point to a config error.Thank you
Hi RevenueCat Community,I hope you're all doing well. I'm reaching out to seek assistance with some challenges we're facing while integrating RevenueCat into our mobile app. We would greatly appreciate any guidance or insights from the community. Here's a summary of the issues we're encountering: User Identifier Update: We have successfully implemented webhook integrations for subscription actions, but the user identifiers provided by RevenueCat are anonymous IDs. We need to associate these actions with specific users in our app. Is there any way to update the existing anonymous IDs of our current users to our preferred user IDs? This would help us maintain accurate correlations between subscription actions and user profiles. Subscription Cancellation Identification: Due to the anonymous IDs provided by RevenueCat, it's challenging for us to identify which user has cancelled their subscription when we receive webhook data on our server. Are there alternative methods or additional inf
Hi, In order to conform with GDPR, when a user deletes his account, should we also delete the data populated in Firestore by the RevenueCat extension i.e data populated in the “events” and “customers” collections?For instance, I could easily delete “/customers/{app_user_ids}” documents but it gets tricky when I need to delete “/customers/{$RCAnonymousIDS}” documents because I would need to do a search in all these documents to target the ones that contain an “alias” to the app_user_id in question. Similarly, I would need to do the same for the “events” collection and i was wondering if I could avoid doing that and just not delete any of the data in “customers” and “events” collections and still comply with GDPR, could you please clarify? Br, Nader
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.