PayPal itself doesn’t allow to change the terms of an existing subscription, so to “change” it it needs to be replaced with a new one. Since s2Member doesn’t know the EOT of the existing subscription, it can’t figure out the paid time left.
For this kind of change, you’d have to use a bit of PHP to estimate the time the user has left (similar to the need to have EOT notifications) and add it to the shortcode’s initial term without charge, so the next regular payment of the new subscription happens after the already paid time. Knowledge Base » Using Variables In A Shortcode
I understand that I need to add the remaining days of the current subscription to the beginning of the new subscription.
But if your plugin simply gave the following data:
1. The number of days (or date) of the next payment for the current level.
2. EOT for Buy Now.
3. EOT (if the user cancel your subscription) for the current level.
(2 and 3 – should be in different variables. It is very bad that one value removes other.)
It would be much simpler.
—————
Of course, I can make a request directly to Paypal, but modify subscription form is opened with a delay (5-10 seconds, while there is a call to Paypal).
Plus, if Paypal will change settings, my script will work correctly (I will have all the time to control it myself).
Plus, I’m not sure that my script will work correctly in all cases (and you does not want to give correct the script).
————–
All these issues say that your plugin does not do functions that expects.
—————
Is this also works for Payflow, or do I need a different code for a Payflow?
I don’t understand the question.
http://www.s2member.com/kb/paypal-account-types/
2. PayPal Pro (PayFlow Edition) (aka: PayPal® Payments Pro) – this is what s2Member supports with respect to PayFlow. This type of account offers both of the API flavors. You can integrate with the PayPal Pro API, or with the PayFlow API.
If I sign up for PayPal Pro (PayFlow Edition) , is this API request will work without any modifications?
http://www.s2member.com/forums/topic/last-payment-time-is-wrong/#post-28491
Or do I need to use PayFlow API? Why use two different API? Paypal is going to transfer its service to PayFlow API?
If I’m not mistaken, it could notify a hack that uses the wp-loaded hook and then check the EOT time with get_user_field.
Knowledge Base » Hacking s2Member® Via Hooks/Filters
https://mail.google.com/mail/u/0/?shva=1#search/wp_loaded
http://www.s2member.com/codex/stable/s2member/api_functions/package-functions/#src_doc_get_user_field%28%29
I can see only $s2member_auto_eot_time = get_user_field (“s2member_auto_eot_time”);
But how can I know is this EOT for current lavel ot it is EOT for Buy Now?
How do I know EOT for the current level to which you have access, not Buy Now EOT?