Page 1 of 2

EOT not extending with new purchase

PostPosted: May 15th, 2011, 4:59 pm
by theone
I am experiencing an unusual problem where the EOT time is not extending when a user purchases an additional membership prior to their current term expiring. However, it works fine when the user does not have an EOT to begin with.

I am currently testing with PayPal in sandbox mode. Here is my button code. They are "Buy Now" buttons.

Code: Select all
[s2Member-PayPal-Button level="2" ccaps="" desc="1 Month (non-recurring)" ps="paypal" cc="USD" ns="1" custom="www.mydomain.com" ta="0" tp="0" tt="D" ra="14.95" rp="1" rt="M" rr="BN" image="default" output="button" /]


Code: Select all
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="business" value="seller@seller.com" />
<input type="hidden" name="cmd" value="_xclick" />
<!-- Instant Payment Notification & Return Page Details -->
<input type="hidden" name="notify_url" value="http://www.mydomain.com/members/?s2member_paypal_notify=1" />
<input type="hidden" name="cancel_return" value="http://www.mydomain.com/members/" />
<input type="hidden" name="return" value="http://www.mydomain.com/members/?s2member_paypal_return=1" />
<input type="hidden" name="rm" value="2" />
<!-- Configures All Of The Checkout Fields -->
<input type="hidden" name="no_shipping" value="1" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="custom" value="www.mydomain.com" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="page_style" value="paypal" />
<input type="hidden" name="item_name" value="1 Month (non-recurring)" />
<input type="hidden" name="item_number" value="2::1 M" />
<!-- Identifies/Updates An Existing Member After Checkout -->
<input type="hidden" name="on0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON0; ?>" />
<input type="hidden" name="os0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS0; ?>" />
<input type="hidden" name="modify" value="0" />
<!-- Customizes Prices, Payments & Billing Cycle -->
<input type="hidden" name="amount" value="14.95" />
<!--<input type="hidden" name="src" value="BN" />-->
<!--<input type="hidden" name="sra" value="1" />-->
<!--<input type="hidden" name="a1" value="0" />-->
<!--<input type="hidden" name="p1" value="0" />-->
<!--<input type="hidden" name="t1" value="D" />-->
<!--<input type="hidden" name="a3" value="14.95" />-->
<!--<input type="hidden" name="p3" value="1" />-->
<!--<input type="hidden" name="t3" value="M" />-->
<!-- Displays The PayPal® Image Button -->
<input type="image" src="http://mydomain.com/members/wp-content/themes/1/custom-login/options-1.png" style="width:auto; height:auto; border:0;" alt="PayPal®" />
</form>


Code: Select all
www.mydomain.com/members/?s2member_paypal_return=1&tx=3J5989757C988023D&st=Completed&amt=14.95&cc=USD&cm=www%2emydomain%2ecom&item_number=2::1%20M
User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_5_8; en-us) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/5.0.3 Safari/533.19.4
array (
  'transaction_subject' => 'www.mydomain.com',
  'payment_date' => '14:55:22 May 15, 2011 PDT',
  'txn_type' => 'web_accept',
  'last_name' => 'User',
  'option_selection1' => '2GU21945LY975150R',
  'residence_country' => 'US',
  'item_name' => '1 Month (non-recurring)',
  'payment_gross' => '14.95',
  'mc_currency' => 'USD',
  'business' => 'seller@seller.com',
  'payment_type' => 'instant',
  'protection_eligibility' => 'Ineligible',
  'payer_status' => 'verified',
  'tax' => '0.00',
  'payer_email' => 'buyer@buyer.com',
  'txn_id' => '3J5989757C988023D',
  'quantity' => '1',
  'receiver_email' => 'seller@seller.com',
  'first_name' => 'Test',
  'option_name1' => 'Updating Subscr. ID',
  'payer_id' => 'GFQM3JV5ZZC6Y',
  'receiver_id' => 'C9645FNMKD4T6',
  'item_number' => '2::1 M',
  'handling_amount' => '0.00',
  'payment_status' => 'Completed',
  'payment_fee' => '0.73',
  'mc_fee' => '0.73',
  'shipping' => '0.00',
  'mc_gross' => '14.95',
  'custom' => 'www.mydomain.com',
  'charset' => 'windows-1252',
  's2member_log' =>
  array (
    0 => 'Return-Data received on: Sun May 15, 2011 9:51:41 pm UTC',
    1 => 's2Member POST vars verified through a POST back to PayPal¬Æ.',
    2 => 's2Member originating domain ( _SERVER[HTTP_HOST] ) validated.',
    3 => 's2Member txn_type identified as (web_accept|subscr_signup|subscr_payment).',
    4 => 's2Member txn_type identified as (web_accept|subscr_signup|subscr_payment) w/ update vars.',
    5 => 's2Member Level/Capabilities updated w/ advanced update routines.',
    6 => 'Redirecting Customer to the Login Page. They need to log back in.',
  ),
  'subscr_gateway' => 'paypal',
  'subscr_id' => '3J5989757C988023D',
  'eotper' => '1 M',
  'ccaps' => '',
  'level' => '2',
)


Code: Select all
www.mydomain.com/members/?s2member_paypal_notify=1
User-Agent:
array (
  'mc_gross' => '14.95',
  'protection_eligibility' => 'Ineligible',
  'payer_id' => 'GFQM3JV5ZZC6Y',
  'tax' => '0.00',
  'payment_date' => '14:55:22 May 15, 2011 PDT',
  'payment_status' => 'Completed',
  'charset' => 'windows-1252',
  'first_name' => 'Test',
  'option_selection1' => '2GU21945LY975150R',
  'mc_fee' => '0.73',
  'notify_version' => '3.1',
  'custom' => 'www. mydomain.com',
  'payer_status' => 'verified',
  'business' => 'seller@seller.com',
  'quantity' => '1',
  'verify_sign' => 'AsY18CNaMEIU48-O.977NL1A3Z6oA.PVJfScgAaZJgkA1MCvWFJVfjls',
  'payer_email' => 'buyer@buyer.com',
  'option_name1' => 'Updating Subscr. ID',
  'txn_id' => '3J5989757C988023D',
  'payment_type' => 'instant',
  'last_name' => 'User',
  'receiver_email' => 'seller@seller.com',
  'payment_fee' => '0.73',
  'receiver_id' => 'C9645FNMKD4T6',
  'txn_type' => 'web_accept',
  'item_name' => '1 Month (non-recurring)',
  'mc_currency' => 'USD',
  'item_number' => '2::1 M',
  'residence_country' => 'US',
  'test_ipn' => '1',
  'handling_amount' => '0.00',
  'transaction_subject' => 'www.mydomain.com',
  'payment_gross' => '14.95',
  'shipping' => '0.00',
  'ipn_track_id' => '2N.l9quJaNEcleTG4RDDfg',
  's2member_log' =>
  array (
    0 => 'IPN received on: Sun May 15, 2011 9:51:33 pm UTC',
    1 => 's2Member POST vars verified through a POST back to PayPal¬Æ.',
    2 => 's2Member originating domain ( _SERVER[HTTP_HOST] ) validated.',
    3 => 's2Member txn_type identified as (web_accept|subscr_signup).',
    4 => 's2Member txn_type identified as (web_accept|subscr_signup) w/ update vars.',
    5 => 's2Member Level/Capabilities updated w/ advanced update routines.',
    6 => 'Modification Confirmation Email sent to Customer, with a URL that provides them with a way to log back in.',
    7 => 'User exists. Handling `payment` for Subscription via (web_accept).',
    8 => 'Storing IPN signup vars now. These are associated with a User\'s account record; for future reference.',
  ),
  'subscr_gateway' => 'paypal',
  'subscr_id' => '3J5989757C988023D',
  'eotper' => '1 M',
  'ccaps' => '',
  'level' => '2',
  'period1' => '0 D',
  'mc_amount1' => '0.00',
  'period3' => '1 M',
  'mc_amount3' => '14.95',
  'initial_term' => '0 D',
  'initial' => '14.95',
  'regular' => '14.95',
  'regular_term' => '1 M',
  'recurring' => '0',
)


Re: EOT not extending with new purchase

PostPosted: May 15th, 2011, 10:29 pm
by Cristián Lávaque
What do their profiles say in the EOT field?

Re: EOT not extending with new purchase

PostPosted: May 16th, 2011, 11:08 am
by theone
Well, if there is no EOT to begin with it will show a date 30 days from when I purchase a new membership.

However, if I already have an EOT and purchase a new membership it will not change the existing EOT in anyway. It will remain the same as if nothing was ever changed.

Note that the EOT was never manually entered, they were always acquired through IPN.

Re: EOT not extending with new purchase

PostPosted: May 16th, 2011, 12:27 pm
by Cristián Lávaque
And they were all buy-now transactions?

Have you created any customization involving EOTs?

Re: EOT not extending with new purchase

PostPosted: May 16th, 2011, 12:53 pm
by theone
They are all Buy Now buttons, yes. I have not done any customization with EOT. It is just simply not extending an existing EOT but works fine when there is no EOT at all. I've purchased 4 memberships consecutively and it will not extend. Only the first purchase will register.

I've tested this with new users and existing users and both yield the same results.

Re: EOT not extending with new purchase

PostPosted: May 16th, 2011, 1:06 pm
by Cristián Lávaque
I'll check this with Jason then. Thanks!

Re: EOT not extending with new purchase

PostPosted: May 18th, 2011, 1:20 am
by Jason Caldwell
Thanks for reporting this important issue.
An update for this is going to be included in the next release ( coming in just a few days ).

This will become an option under:
s2Member -> PayPal Options -> EOT Behavior.
SNAG-0000.png

Re: EOT not extending with new purchase

PostPosted: May 18th, 2011, 2:19 pm
by b4thestreet
I am having a similar issue. When members enroll for a free trial on our site they use the following form:

[s2Member-Pro-PayPal-Form register="1" level="2" ccaps="" desc="Signup now, it's Free!" custom="b4thestreet.com" tp="15" tt="D" captcha="clean" success="http://b4thestreet.com/main/login/" /]

This grants them Level 2 access for 2 weeks.

If the member upgrades (for example to Level 3) prior to the expiration of their trial the membership level does not auto upgrade nor is the EOT time changed to reflect; in this case one month purchase cycle. I must manually go in and adjust them to Level 3 and extend the EOT. Any help would be greatly appreciated.

Re: EOT not extending with new purchase

PostPosted: May 25th, 2011, 3:02 pm
by b4thestreet
Good afternoon,

I JUST upgraded to the BETA 110524 released yesterday to developer accounts. I am looking for the setting highlighted in the above image (download/file.php?id=223&mode=view), but there is no 'Fixed-Term Extensions'. As I had not heard from anyone I assumed it was because a new version was to be released imminently. However as no fix to my problem has been created I am hoping someone can lend some assistance.

Brief description: When upgrade or downgrade their Membership Level is not automatically changed.

Again, thanks for ANY help you can offer. It is greatly appreciated.

Re: EOT not extending with new purchase

PostPosted: May 25th, 2011, 7:24 pm
by Cristián Lávaque
In s2Member 110524RC that setting can be found here WP Admin -> s2Member -> PayPal Options -> Automatic EOT Behavior.

Re: EOT not extending with new purchase

PostPosted: May 26th, 2011, 1:01 am
by b4thestreet
My mistake. I didn't updated correctly. I found the option. Thank you for the quick response.

Re: EOT not extending with new purchase

PostPosted: May 26th, 2011, 1:42 am
by Cristián Lávaque
Great. :)

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 12:40 pm
by b4thestreet
My issue has not been resolved with the upgrade. When a user registers an EOT event IS created. However, users are still able to access the site when after the EOT has expired. When a new user comes to the site they use the 'PayPal Pro / Free Registration Form', however I have modified the wordpress shortcode to include: level="2" and tp="15". See below:

[s2Member-Pro-PayPal-Form register="1" level="2" ccaps="" desc="Signup now, it's Free!" custom="b4thestreet.com" tp="1" tt="D" captcha="clean" ccaps="freetrial" success="http://b4thestreet.com/main/login/" /]

When a user registers an EOT for 15 days later is entered, however on expiry their account is not blocked/downgraded/etc.

I am wondering if the issue is caused by me setting the free trial to Level 2 access?? I am desperately trying to find a solution as now I have 50+ users on expired EOTs using our news service for free. Any help is greatly appreciated.

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 4:19 pm
by Cristián Lávaque
How long after the EOT did you notice they still had access? Immediately after or over a couple of days?

Do their accounts still have the Level 2 and "freetrial" ccap?

About those that still have the access incorrectly, you can remove it manually in their profiles, or in bulk with the Import tool.

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 4:56 pm
by b4thestreet
As usual I thank you for the quick response!! Its appreciated.

I understand that it may take several hours for the programs CRON to propagate the EOT changes however, I am noticing the EOT on most accounts exceeding 2 weeks to a month past expiry.

The accounts remain in Level 2 and retain any ccap I set.

I appreciate any and all help. Sincere thanks

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 5:21 pm
by Cristián Lávaque
Got it. Hmm... Yeah, the EOT behaviour should have been applied to the accounts then.

Do users have an EOT time set when they register with that form?

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 5:33 pm
by b4thestreet
No. The short code is exactly as posted:

[s2Member-Pro-PayPal-Form register="1" level="2" desc="Signup now, it's Free!" custom="b4thestreet.com" tp="15" tt="D" captcha="clean" ccaps="freetrial" success="http://b4thestreet.com/main/login/" /]

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 5:37 pm
by Cristián Lávaque
No, not in the shortcode. I mean, if you create a new account with that form, and go check the profile, does it have an EOT set? (You will see that field if as an admin, not as the new user.)

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 5:53 pm
by b4thestreet
Yes. I have created/tested with that form several times. It DOES create an EOT. I further test the log in to ensure it gives Level 2 service. I then Go into the user admin and back date the EOT manually (by a week for simplicity). I am STILL able to log in with an expired EOT on that account. I am prepared to give you an admin log in for the site if it would help resolve the issue.

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 6:39 pm
by b4thestreet
...and as a side note I am trying to update the 44 accounts that should be down graded through the import/export option; I am able to change every field EXCEPT "Role". I am trying to change it from s2member_level2 to Subscriber. I tried "Role ID" as well. I was able to bulk change "Custom Capabilities" and clear the existing EOT. Any suggestions?

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 10:23 pm
by Cristián Lávaque
For the role change with the import, instead of "Subscriber" try "0".

I'll ask Jason about the EOT. Just in case he needs it, please email the dashboard login info using this form http://s2member.com/contact

Re: EOT not extending with new purchase

PostPosted: June 16th, 2011, 11:38 pm
by b4thestreet
I will try that next time for sure. I resorted to manually making the changes this go. I emailed Jason credentials as you requested. Thanks again.

Re: EOT not extending with new purchase

PostPosted: June 17th, 2011, 12:16 am
by Cristián Lávaque
Cool.

Re: EOT not extending with new purchase

PostPosted: June 17th, 2011, 2:38 am
by Jason Caldwell
Thanks for reporting this important issue.
~ and thanks for the heads up Cristián.

I received your Dashboard login details and I've taken a quick look. However, I'm not seeing any of your s2Member Level 2 accounts with an EOT Time, or with Administrative Notes indicating that an EOT was processed. Can you please supply me with a Username and/or User ID of a couple of accounts that should have been demoted but were not?

Re: EOT not extending with new purchase

PostPosted: June 17th, 2011, 9:02 am
by b4thestreet
The 42 users that were on expired EOTs was just emailed to you. Yesterday I manually changed each users role from s2member_level2 to subscriber, but I left the EOTs in tact.

I have actually never seen an Administrative note. Let me know if there is anything more I can provide.

I greatly appreciate all the help.