Trial, extra day added to PayPal profile

Hi there,

I have a question. If I set a trial to let’s say 7 days. Why does the PayPal profile that is created have the start date set to 7 + 1 days?

Shortcode:
[s2Member-Pro-PayPal-Form level="2" ccaps="freetrial" desc="7 Days free / then FULL access, one-click cancel." ps="REMOVED" lc="" cc="USD" dg="0" ns="1" custom="URL_REMOVED|en" ta="0" tp="6" tt="D" ra="20" rp="1" rt="M" rr="1" rrt="" rra="2" accept="paypal,visa,mastercard,amex,discover,maestro,solo" accept_via_paypal="paypal" coupon="" accept_coupons="1" default_country_code="" captcha="0" /]

Now if I look at PayPal profile, we see this:
[STATUS] => ACTIVE
[CREATIONDATE] => 05212017
[START] => 05292017
[NEXTPAYMENT] => 05292017
[PAYPERIOD] => MONT
[LASTCHANGED] => 05212017

Imagine that the time of payment/registration is 12:00 pm to simplify this…

21st (this is registration/payment date) of May to 22nd of May = 1 day of trial
22 to 23 = 2 day of trial
23 to 24 = 3 day of trial
24 to 25 = 4 day of trial
25 to 26 = 5 day of trial
26 to 27 = 6 day of trial
27 to 28 = 7 day of trial and here it should end on 28 of May at 12:00 pm

Why plus one day?

I assume it is because of the 24 hour Grace Period set by s2Member (by default). You can change this at WordPress Dashboard → s2Member→ PayPal Options → Automatic EOT Behavior.

Yes, that is what I assumed as well but should grace period really be added to the PayPal profile? I think not.

Isn’t point of grace period to have a “delay” when checking things. Like check for payments, you always add some extra time to the check as things with external services cannot really be synced to the second…

If you add grace period to PayPal profile and S2 uses 7 days plus grace period then the grace period nulls itself.

Only one should have grace period and PayPal profile should not be the one.

GitHub would probably be the proper place to raise this issue (not that I disagree with you).