Hi Mark. Thanks for the excellent question.s2Member handles cancellations in a variety of ways, depending on the circumstance. For instance, there is a difference between a "cancellation" and an "EOT" ( End Of Term ).
Here are a couple of examples:
1. You sell a PayPal "Subscription".s2Member listens to PayPal IPN responses that would include things like: cancellations, subscription terminations ( i.e. the subscription ended naturally ), max failed payments, refunds, and charge backs.
In this case, if a "cancellation" IPN is received, s2Member will react to that cancellation with a delayed EOT. Meaning, s2Member will calculate the date of expiration ( aka: the Auto-EOT Time ), based on the last payment date ( which s2Member tracks ), the length of the regular term, and whether or not a Subscriber was within a trial period when the cancellation occurred. All of these things are taken into account, and then an Auto-EOT is set for the account, which will be reflected on a per-User basis inside your Dashboard, by going to Users -> and clicking Edit next to a particular User. You can also modify the EOT Time manually if you prefer.Incidentally, s2Member's Auto-EOT System runs, by default, through WP-Cron, and it has a set of options that you can configure further if you like. In your Dashboard, see:
s2Member -> PayPal Options -> EOT Behavior.2. You sell Fixed-Term Access ( through a "Buy Now" transaction ).In this case, the EOT Time is known ahead of time, because it's for a fixed-term. So in this case, s2Member will set the Auto-EOT Time immediately after checkout.
---------------------------------------------------------------------------------------------
With or without a "Subscription", and with or without an EOT Time, s2Member will have a special reaction to refunds/reversals ( i.e. charge backs ) with an
immediate EOT ( as opposed to a delayed EOT ). However, this can be re-configured through your Dashboard, under:
s2Member -> PayPal Options -> EOT Behavior.Also see this article on s2Member's handling of EOTs.
viewtopic.php?f=4&t=649&p=2793&hilit=cancellation#p2793