Skip to main content

The docs say the following:

Cancellations in Stripe are automatically detected by RevenueCat the same way as subscriptions from the app stores. This means there may be up to a two-hour delay between when the subscription is cancelled in Stripe and when the cancellation is reflected in the RevenueCat backend.

I cancelled a subscription with Stripe over two hours ago, and the cancellation hasn’t appeared in RevenueCat. Is this information still accurate? Is there anything I need to do to make this work aside from the connection with Stripe? Do I need to forward webhooks from Stripe to RevenueCat or something aside from the initial receipt creation? Thanks!

Update: it finally came through, but it took way longer than 2 hours. Is this expected?


Hey @Jared!

RevenueCat polls Stripe subscriptions every few hours, it can vary depending on the queue. If you want the cancellation show up quicker, we recommend to re-post the same subscription to RevenueCat after a cancellation. For any customer.subscription.updated Stripe events, you can set up Stripe Server Notifications to send Stripe subscription updated webhooks into RevenueCat.


@tina I think the timing info could be a bit more clear. The docs specifically say “This means that it may take up to two hours for a Stripe cancellation to be reflected in the RevenueCat backend.” If RevenueCat pings Stripe every few hours, you should mention that in the docs and maybe put an absolute maximum so we know whether to have a meal or go to sleep in between tests ;)

 

Also the docs should probably clarify timing around how long it takes for purchases to show up in RevenueCat, maybe in cases with and without webhooks. I just setup Stripe + RevenueCat with webhooks and made a test purchase in the Stripe dashboard which based on the docs, I would assume would be immediately reflected. I see nothing in the RevenueCat dashboard so I’m not sure if it’s a setup issue or an expected delay.

 

Additionally the docs around sandbox for Stripe aren’t very clear. Like should I add all the Sandbox products to RevenueCat as well? The product IDs are different so I would assume yes or I’m not how RevenueCat would map them. However, I have two RevenueCat apps - one for development and one for production. I added my sandbox stripe products to my development RevenueCat app and I added my live stripe products to my production RevenueCat app. I’m not sure if this is right but it seems reasonable.


Transaction showed up. So it seems that not only are the stripe subscription cancellations delayed, but the purchases are also delayed and they are delayed with or without webhook by multiple hours. Does that sound right?


Hey @Tony 

Sorry for the delay, this got lost in my notifications. For purchases, you should send the Stripe token to RevenueCat in order for it to reflected in the dashboard immediately. Docs for reference: https://docs.revenuecat.com/docs/stripe#5-send-stripe-tokens-to-revenuecat 

 

As for Stripe sandbox products, since the IDs are different in production and sandbox, you should also add the Stripe sandbox products as separate product IDs and map them similarly to production (i.e: similar setup for Offerings and Entitlements). Developers would either add these sandbox products to the same production app or have a separate RevenueCat app for development / staging. 


Reply