Hi there. Thanks for the great question.Actually, s2Member uses a combination of tactics, because there are issues that need to be addressed, depending on the way you're using s2Member. For instance, some newer PayPal accounts do not send "subscr_eot" responses, and in other cases, Membership is sold on a Buy Now basis.
For these reasons, s2Member has the ability to detect what method works best, on a site-by-site basis, and on a per Customer basis; it adapts itself to your needs. As a site owner, you have the ability to take control over this behavior through s2Member's configuration options, and also through the application of an Auto-EOT Time, which can be assigned to each User manually if you like. If you set an Auto-EOT Time manually, s2Member will respect it ( it will NOT be overwritten ).
In other words, s2Member DOES handle EOT's by itself, but ONLY when it must, or when it's been configured to do so ( by YOU ), through the application of an Auto-EOT Time, on a per Customer basis.
You can set a manual EOT-Time, by going to your list of Users, and clicking "Edit". This will bring up a panel with several s2Member fields that can be edited by a site owner. You can take further control over s2Member's handling of EOT events, by navigating to:
s2Member -> PayPal Options -> EOT Behavior.
(as I have read you hint may be in future releases), how would the expiration dates for existing members be handled?
As support for additional gateways is released, the functionality will remain quite similar. s2Member will integrate ( as much as possible ) with the gateway provider, and supplement the gateway provider's shortcomings with its own built-in EOT system.
-------- Some examples of when s2Member can rely on PayPal's IPN system --------
- You sell a recurring Subscription, and payments start to fail ( more than twice in a row ). s2Member is notified by PayPal, and s2Member will take action based on your EOT configuration under:
s2Member -> PayPal Options -> EOT Behavior.
- You sell a recurring Subscription, and the subscription ends naturally. s2Member will be notified by PayPal, either through a `subscr_eot` on the last payment date, or at the end of the Subscription term, depending on the type of PayPal account that you have ( i.e Subscription ID's start with "S-", or with "I-" ).
-------- Some examples of when s2Member is forced to use it's own Auto-EOT System ----------
- A cancellation IPN is received by PayPal, and it requires a delayed EOT, because there is still time left on the Subscription. s2Member will automatically configure an Auto-EOT Time, so it's own system can handle the delayed EOT automatically, at the correct point in time.
- A subscription is sold with a "Buy Now" transaction, and it's for a fixed-term length. For example, you sell a 1 year subscription, and it's for a flat rate of $49. s2Member has to use it's own built-in Auto-EOT Time in this case. So again, it adapts itself automatically.