Thanks for reporting this important issue.
On their account details page, the Automatic EOT field is showing a past date as expected, but their accounts were not demoted to a free subscriber account.
We are using fixed term 1 year purchases, and I just found a setting in PayPal options -> Automatic EOT behavior -> FIxed Term Extensions (auto extend), and this is set to Yes for me.
I’m guessing this causes the non-demotion, correct? Will this now demote all customers that should have already been demoted, or do I need to run a cron for the demotions to take effect?
Having fixed-term extensions will NOT adversely affect s2Member’s EOT System. It just means that IF a customer purchases something new, that new purchase will extend any existing access they’ve already purchased in the past. So for instance, if I pay for 1 year of access to your site (a Buy Now purchase), and then I pay for another year (a Buy Now purchase), I now have a full two years, instead of 1 year from the date of my second purchase.
Regarding this problem you’re reporting. It sounds like s2Member’s EOT System is not actually running via WP_Cron yet, on your installation. If that’s the case, and your EOT Times are already set, as you mentioned they were, the only thing to do is turn on s2Member’s Auto-EOT System via WP_Cron, and anyone that has expired in the past will automatically expire within a day or two after you’ve gotten this corrected.
Please confirm for me, what you have configured here:
Dashboard -› s2Member® -› PayPal® Options -› Automatic EOT Behavior