User case of CANCELLATION event

  • 18 September 2022
  • 3 replies

Badge +4

Hi everybody!

we are new if revenueCat community 👋

We don't understand the correct use case of CANCELLATION event.

We handle the EXPIRATION event with user's subscription deletion for all cancellation_reason values.

We are testing with sandbox environment and Google Play test subscription with auto-renew every 5 min and unsubscribe automatically at the 3th period.

We’ve seen that the are this history for every subscription we’ve created:

  • CANCELLATION ("cancel_reason": "BILLING_ERROR")
  • EXPIRATION ("expiration_reason": "BILLING_ERROR")

So, what should we do with the CANCELLATION event?

Thank in advance


Best answer by Jens 19 September 2022, 09:50

View original

3 replies

Userlevel 5
Badge +7

Hi there, the CANCELLATION event is fired whenever it becomes clear that the subscription will expire unless the customer takes action (eg, a billing issue has occurred, the customer has disabled auto-renewal). You don't necessarily have to handle the CANCELLATION event in any particular way if you just want to mark subscriptions as inactive when they expire, in that case the EXPIRATION event is the correct one, like you stated.

Badge +4


thank you.


Is it normal that CANCELLATION event fired after EXPIRATION event?

If you see the screen, both have the same datetime, but i’ve received before EXPIRATION event.



Userlevel 5
Badge +7

Yeah, in some cases (like billing errors if no grace period is configured), the two will fire at the same time, and you may receive the EXPIRATION event first. In other cases (like if the customer disabled auto-renewal), the CANCELLATION event will typically happen well before the EXPIRATION event.