WordPress Version: 4.9.4
s2Member Version: 170722 + s2Member Pro v170722
On the 17th I created a level 1 member subscription with 1 day try free and then afterwards $1.20 per month. About 1 hour after creating the subscription I cancel the subscription through Paypal and was expecting the member to be demoted back to level 0 free subscriber but it continues to stay on level 1.
[s2Eot /]
echos out “Next Payment: Mar 19th, 2018, 10:00 am UTC”
where if I do the following:
$eot = s2member_eot();
echo var_dump($eot);
which echoes out:
array(4) { [“type”]=> string(5) “fixed” [“time”]=> int(1521386410) [“tense”]=> string(6) “future” [“debug”]=> string(146) “This is the estimated EOT time. The PayPal Pro API says this subscription is no longer active, and thus, access should be terminated at this time.” }
echo gmdate("M jS, Y, g:i a T", $eot['time']);
echos out “Mar 18th, 2018, 3:20 pm GMT” which is a different time from using [s2Eot /].
Also I have noticed that no EOT set against the field “Automatic EOT Time” on the users record.
The other confusion is that I have the EOT Grace Time (in seconds) is set to “0” so even s2member_eot() is not right as the EOT should have been now and not 24 hours later which is the default.
It has now gone past 3:20pm, 18th March and I have run the following PHP:
$eot = s2member_eot();
echo var_dump($eot);
which echoes out:
array(4) { [“type”]=> string(5) “fixed” [“time”]=> int(1521386410) [“tense”]=> string(4) “past” [“debug”]=> string(146) “This is the estimated EOT time. The PayPal Pro API says this subscription is no longer active, and thus, access should be terminated at this time.” }
I can see the time is the same but the field tense has now changed to past so s2Member knows its gone past the EOT. But the user has not been demoted and is still on Level 1.
[s2Eot /]
echos out now “Access Expires: Mar 18th, 2018, 3:20 pm UTC”
I’ve reported this as a bug on github but it seems there is not a lot happening on there at the moment and I am now hoping that someone on here may have seen this before or knows a workaround I can do to either fix it or patch it to make it work correctly.
Thanks