subscr_eot
is sent when a user’s last paid interval has expired. subscr_cancel
is sent as soon as the use cancels the subscription – for example:
User signs up on day 1 for a subscription which is billed once a month.
subscr_signup
is sent immediately, subscr_payment
is sent as soon as payment goes through (usually immediately as well).
On day 13, the user cancels. subscr_cancel
is immediately sent, although the user has technically paid through to day 30. Cancelling at this point is up to you.
On day 30, subscr_eot
is sent – the user has cancelled, and this is the day which his last payment paid until.
Not much changes with trial subscriptions – if a user cancels before a trial subscription is up, subscr_cancel
is sent immediately, and subscr_eot
is sent at the end of the trial.