Page 1 of 2

Demoted by s2Member

PostPosted: December 28th, 2011, 3:22 am
by sijo55
Hi..

One user paid for one year membership through PayPal at dec 21st and today I accidentally did find this:
Demoted by s2Member: Fri Dec 23, 2011 10:59 pm UTC

..and the user was back as a Subscriber?

What can have caused this?

Re: Demoted by s2Member

PostPosted: December 29th, 2011, 4:42 am
by Cristián Lávaque
It is possible that he was demoted after several failed attempts to charge his card. Could you post the log entries for him, x'ing out any private info?

Re: Demoted by s2Member

PostPosted: December 29th, 2011, 5:15 am
by sijo55
The payment was done with no problems as I can see on my PayPal pages.
I dont have any logs for this. If I have, I dont know where to find it?

Re: Demoted by s2Member

PostPosted: December 29th, 2011, 3:08 pm
by Raam Dev
You'll need to Enable Logging Routines: WP Admin -> s2Member -> PayPal Options -> PayPal Account Details -> Enable Logging Routines = Yes.

Once that's done, you can find the log files in wp-content/plugins/s2member-logs/. Keep in mind there won't be any log entries for stuff that occurred when logging was disabled.

Re: Demoted by s2Member

PostPosted: December 29th, 2011, 3:27 pm
by sijo55
Ok, thanks. Then I'll wait to see if this happen again..

Re: Demoted by s2Member

PostPosted: January 12th, 2012, 4:31 pm
by webbmalin
This happend to many customers on one of my site. Seems to be after the trial expires.

I've just enabled the logging routines now, so I'll wait and see.

Re: Demoted by s2Member

PostPosted: January 13th, 2012, 4:39 am
by sijo55
Today a user paid for 1 month subscription through PayPal and the EOT was set to January 15 2012 ??
It should be set to February 13 2012
I have the logs for this transaction. Would you like them in PM?

Re: Demoted by s2Member

PostPosted: January 13th, 2012, 7:35 pm
by Raam Dev
sijo55: Could you please post the logs here using the [code] tags and X-out any private information?

Re: Demoted by s2Member

PostPosted: January 14th, 2012, 2:53 am
by sijo55
Ok, here we go:
IPN.LOG
Code: Select all
PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 66.86 MB :: Real Memory 68.75 MB :: Peak Memory 67.87 MB :: Real Peak Memory 68.75 MB
www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'mc_gross' => '35.00',
  'invoice' => '4f0ff10be719d~84.215.26.197',
  'protection_eligibility' => 'Ineligible',
  'payer_id' => 'xxx',
  'payment_date' => '01:13:15 Jan 13, 2012 PST',
  'payment_status' => 'Completed',
  'charset' => 'windows-1252',
  'first_name' => 'xxx',
  'option_selection1' => '34',
  'option_selection2' => '84.215.26.197',
  'mc_fee' => '3.99',
  'notify_version' => '3.4',
  'subscr_id' => 'xxx',
  'custom' => 'www.xn--idyry-yua.no',
  'payer_status' => 'verified',
  'business' => 'xxx',
  'verify_sign' => 'AcLqGSRS5A.hv4DbNxZ34V7fDJClAxdNUGCkM0f.WUbMkSlkZNbI3Y0h',
  'payer_email' => 'xxx',
  'option_name1' => 'Referencing Customer ID',
  'option_name2' => 'Customer IP Address',
  'txn_id' => '2P667301WB485793F',
  'payment_type' => 'instant',
  'last_name' => 'xxx',
  'receiver_email' => 'xxx',
  'payment_fee' => '',
  'receiver_id' => 'xxx',
  'txn_type' => 'subscr_payment',
  'item_name' => 'Abonnement pr. måned',
  'mc_currency' => 'NOK',
  'item_number' => '1',
  'residence_country' => 'NO',
  'transaction_subject' => 'Abonnement pr. måned',
  'payment_gross' => '',
  'ipn_track_id' => 'xxx',
  's2member_log' =>
  array (
    0 => 'IPN received on: Fri Jan 13, 2012 9:13:23 am 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 ( `subscr_payment|recurring_payment` ).',
    4 => 'Sleeping for 5 seconds. Waiting for a possible ( `subscr_signup|subscr_modify|recurring_payment_profile_created` ).',
    5 => 'Awake. It\'s Fri Jan 13, 2012 9:13:28 am UTC. s2Member `txn_type` identified as ( `subscr_payment|recurring_payment` ).',
    6 => 'Skipping this IPN response, for now. The Subscr. ID is not associated with a registered Member.',
    7 => 'Re-generating. This IPN will go into a Transient Queue; and be re-processed during registration.',
  ),
  'subscr_gateway' => 'paypal',
  'ccaps' => NULL,
  'level' => '1',
  'ip' => '84.215.26.197',
)

PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 67.65 MB :: Real Memory 68.50 MB :: Peak Memory 67.86 MB :: Real Peak Memory 68.50 MB
www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_signup',
  'subscr_id' => 'xxx',
  'last_name' => 'xxx',
  'option_selection1' => '34',
  'option_selection2' => '84.215.26.197',
  'residence_country' => 'NO',
  'mc_currency' => 'NOK',
  'item_name' => 'Abonnement pr. måned',
  'business' => 'xxx',
  'recurring' => '0',
  'verify_sign' => 'A6jtGSpOSkn2qxl2KmUNrhDR2hXEAW3CAoOy2L7293qQg73nztEve1TO',
  'payer_status' => 'verified',
  'payer_email' => 'xxx',
  'first_name' => 'xxx',
  'receiver_email' => 'xxx',
  'option_name1' => 'Referencing Customer ID',
  'payer_id' => 'xxx',
  'invoice' => '4f0ff10be719d~84.215.26.197',
  'option_name2' => 'Customer IP Address',
  'reattempt' => '1',
  'item_number' => '1',
  'subscr_date' => '01:13:06 Jan 13, 2012 PST',
  'custom' => 'www.xn--idyry-yua.no',
  'charset' => 'windows-1252',
  'notify_version' => '3.4',
  'period3' => '1 M',
  'mc_amount3' => '35.00',
  'ipn_track_id' => 'xxx',
  's2member_log' =>
  array (
    0 => 'IPN received on: Fri Jan 13, 2012 9:13:40 am 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 => 'Storing IPN signup vars now. These are associated with a User\'s account record; for future reference.',
  ),
  'subscr_gateway' => 'paypal',
  'eotper' => NULL,
  'ccaps' => NULL,
  'level' => '1',
  'ip' => '84.211.117.161',
  'period1' => '0 D',
  'mc_amount1' => '0.00',
  'initial_term' => '0 D',
  'initial' => '35.00',
  'regular' => '35.00',
  'regular_term' => '1 M',
)

PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 67.43 MB :: Real Memory 68.75 MB :: Peak Memory 67.85 MB :: Real Peak Memory 68.75 MB
www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_eot',
  'subscr_id' => 'xxx',
  'last_name' => 'xxx',
  'option_selection1' => '34',
  'option_selection2' => '84.215.26.197',
  'residence_country' => 'NO',
  'item_name' => 'Abonnement pr. måned',
  'mc_currency' => 'NOK',
  'business' => 'xxx',
  'verify_sign' => 'AITLeRoblqLrtOzPWvHvy2F-maAZAyK3M8qXk3UzJGcIJxsrX3Ak3Ezy',
  'payer_status' => 'verified',
  'payer_email' => 'xxx',
  'first_name' => 'xxx',
  'receiver_email' => 'xxx',
  'option_name1' => 'Referencing Customer ID',
  'payer_id' => 'xxx',
  'invoice' => '4f0ff10be719d~84.215.26.197',
  'option_name2' => 'Customer IP Address',
  'item_number' => '1',
  'custom' => 'www.xn--idyry-yua.no',
  'charset' => 'windows-1252',
  'notify_version' => '3.4',
  'ipn_track_id' => 'xxx',
  's2member_log' =>
  array (
    0 => 'IPN received on: Fri Jan 13, 2012 9:13:38 am 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 ( `subscr_eot|recurring_payment_expired|recurring_payment_suspended_due_to_max_failed_payment` ) - or - `recurring_payment_profile_cancel` w/ `initial_payment_status` ( `failed` ).',
    4 => 'Sleeping for 5 seconds. Waiting for a possible ( `subscr_signup|subscr_modify|recurring_payment_profile_created` ).',
    5 => 'Awake. It\'s Fri Jan 13, 2012 9:13:43 am UTC. s2Member `txn_type` identified as ( `subscr_eot|recurring_payment_expired|recurring_payment_suspended_due_to_max_failed_payment` ) - or - `recurring_payment_profile_cancel` w/ `initial_payment_status` ( `failed` ).',
    6 => 'Auto-EOT Time for this account ( delayed ), set to: Sun Jan 15, 2012 9:13 am UTC',
  ),
  'subscr_gateway' => 'paypal',
  'period1' => '0 D',
  'period3' => '1 D',
  'ip' => '84.211.117.161',
)


RTN.LOG
Code: Select all
PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 63.20 MB :: Real Memory 63.75 MB :: Peak Memory 63.39 MB :: Real Peak Memory 63.75 MB
www.xn--idyry-yua.no/iDyroy/?s2member_paypal_return=1&s2member_paypal_return_tra=fnIyOnp0WmpqZzdjUmVhZ2pPTXJBUmxISGwza1RTRm5jMGdCOmNkOGRjZGQ0ODNmNTJhMWQwZGE0MGEwYWJhMGNmNWU1fJDRk6L9AUS-e6dPhOEHF3hmDTO61GskgMUgwGPV9BtF-Bm4NzQEOL_pAPX7OqPiTxoz9mlO1FbccCsA9ZsaydRdwieVp9L271wXzMm2-VfifbVIHi00er2a9tcIlrznXMiCTNJ7WfJfHIiiCsW5N2j6rXq3fyUo-8dHv-dvvXToWw1qxUMMx-VGk53C_-50OKoXur4wKaJM8AtNxYKmpaSKBWKtGafQ0TagcLqS1phn4VVHonSCRBEQT6TrXDMZ8m3Q7fQplKFHqToGZAlLHswLakAYRqme_V-vIrqZam4byfPaUUrDAu40lexViMwr9BqfQQnGZ1zPKIULOAPXEBlR-9XAXTlG8q5DIZi_G1ntvSf31-iBVgJmxwz1M9dbLg&tx=2P667301WB485793F&st=Completed&amt=35.00&cc=NOK&cm=www%2exn%2d%2didyry%2dyua%2eno&item_number=&sig=CyOZlNyKYATpiWtJ4VS0dTcgcdxNMx%2fKKWkNM0SqUhyTBMhRYBrY4asgLOM6opboZiCS1j0yogEhS%2ffiNPW%2buKej1DmVtp8Va2r4nqP0kF4FKA1J4VOtM0fH1BIRSY%2fIYWzGRfCuqz2dzaHbGewTbnHrjrYg5KTaJ2%2f6gUhQivo%3d
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.33 Safari/535.11
array (
  'transaction_subject' => 'Abonnement pr. måned',
  'payment_date' => '01:13:15 Jan 13, 2012 PST',
  'txn_type' => 'subscr_payment',
  'subscr_id' => 'xxx',
  'last_name' => 'xxx',
  'option_selection1' => '34',
  'option_selection2' => '84.215.26.197',
  'residence_country' => 'NO',
  'item_name' => 'Abonnement pr. måned',
  'mc_currency' => 'NOK',
  'business' => 'xxx',
  'payment_type' => 'instant',
  'protection_eligibility' => 'Ineligible',
  'payer_status' => 'verified',
  'payer_email' => 'xxx',
  'txn_id' => '2P667301WB485793F',
  'receiver_email' => 'xxx',
  'first_name' => 'xxx',
  'option_name1' => 'Referencing Customer ID',
  'invoice' => '4f0ff10be719d~84.215.26.197',
  'payer_id' => 'xxx',
  'option_name2' => 'Customer IP Address',
  'receiver_id' => 'xxx',
  'item_number' => '1',
  'payment_status' => 'Completed',
  'mc_fee' => '3.99',
  'mc_gross' => '35.00',
  'custom' => 'www.xn--idyry-yua.no',
  'charset' => 'windows-1252',
  's2member_log' =>
  array (
    0 => 'Return-Data received on: Fri Jan 13, 2012 9:13:28 am 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 => 'Transient Tracking Cookie set on ( `web_accept|subscr_signup|subscr_payment` ) w/ update vars.',
    7 => 'Redirecting Customer to the Login Page. They need to log back in.',
  ),
  'subscr_gateway' => 'paypal',
  'eotper' => NULL,
  'ccaps' => NULL,
  'level' => '1',
  'ip' => '84.211.117.161',
  'period1' => '0 D',
  'mc_amount1' => '0.00',
  'period3' => '1 M',
  'mc_amount3' => '35',
  'recurring' => '0',
  'initial_term' => '0 D',
  'initial' => '35',
  'regular' => '35',
  'regular_term' => '1 M',
  's2member_paypal_return_tra' => 'fnIyOnp0WmpqZzdjUmVhZ2pPTXJBUmxISGwza1RTRm5jMGdCOmNkOGRjZGQ0ODNmNTJhMWQwZGE0MGEwYWJhMGNmNWU1fJDRk6L9AUS-e6dPhOEHF3hmDTO61GskgMUgwGPV9BtF-Bm4NzQEOL_pAPX7OqPiTxoz9mlO1FbccCsA9ZsaydRdwieVp9L271wXzMm2-VfifbVIHi00er2a9tcIlrznXMiCTNJ7WfJfHIiiCsW5N2j6rXq3fyUo-8dHv-dvvXToWw1qxUMMx-VGk53C_-50OKoXur4wKaJM8AtNxYKmpaSKBWKtGafQ0TagcLqS1phn4VVHonSCRBEQT6TrXDMZ8m3Q7fQplKFHqToGZAlLHswLakAYRqme_V-vIrqZam4byfPaUUrDAu40lexViMwr9BqfQQnGZ1zPKIULOAPXEBlR-9XAXTlG8q5DIZi_G1ntvSf31-iBVgJmxwz1M9dbLg',
)



Re: Demoted by s2Member

PostPosted: January 14th, 2012, 10:41 pm
by Raam Dev
sijo55,

The 'txn_type' => 'subscr_eot', IPN message came from PayPal. That means PayPal is notifying s2Member that something happened with the transaction.

Can you check on the PayPal side to see what the status of that transaction is?

Re: Demoted by s2Member

PostPosted: January 14th, 2012, 11:02 pm
by opohar
This problem was worked on recently and fixed with VERSION 111220. Check your version to see if you are running an older S2Member.

See the discussion here:

viewtopic.php?f=4&t=14876

Re: Demoted by s2Member

PostPosted: January 15th, 2012, 2:49 am
by sijo55
The status at PayPal for this transaction are completed and I have got the money.
And yes, I'm running the latest version.

Re: Demoted by s2Member

PostPosted: January 16th, 2012, 9:28 pm
by Raam Dev
sijo,

The 'txn_type' => 'subscr_eot', indicates that s2Member received an End of Term notification from PayPal for that transaction. If this is a subscription transaction, can you please check your PayPal account and look for the subscription that matches the Transaction ID. What is the 'Status' of that subscription?

Re: Demoted by s2Member

PostPosted: January 17th, 2012, 2:59 am
by sijo55
Hi..

The Status = Completed.

'txn_type' => 'subscr_eot':
That's because the payment profile is closed after payment. In the logfile there is 3 logs:
1. You set up an automatic payment profile
2. You received a payment
3. Profile is interrupted

Here is my paypal button:
Code: Select all
level="1" ccaps="" desc="Abonnement pr. måned" ps="paypal" lc="" cc="NOK" dg="0" ns="1" custom="www.xn--idyry-yua.no" ta="0" tp="0" tt="D" ra="35" rp="1" rt="M" rr="0" rrt="" rra="1" image="default" output="button"

Re: Demoted by s2Member

PostPosted: January 17th, 2012, 1:36 pm
by Raam Dev
The profile being interrupted is coming from PayPal, not from s2Memebr (the IPN message it coming from PayPal). That's why I'm asking if you could check PayPal to see why the recurring profile is being canceled.

Re: Demoted by s2Member

PostPosted: January 17th, 2012, 1:47 pm
by sijo55
Hi..

It is not a recurring profile, It is a non-recurring profile..

Re: Demoted by s2Member

PostPosted: January 20th, 2012, 4:49 pm
by Jason Caldwell
Thanks for the heads up on this Raam.
@sijo55 I'm reviewing this now.

Re: Demoted by s2Member

PostPosted: January 24th, 2012, 1:53 pm
by Jason Caldwell
Re-reviewing this now. I apologize for the delayed response.

Re: Demoted by s2Member

PostPosted: January 24th, 2012, 2:08 pm
by Jason Caldwell
OK. Thanks for your patience in this matter. I'm sorry that my response was delayed.

s2Member DOES expect and anticipate that PayPal will send an immediate EOT when the Subscription is NOT recurring. What's suppose to happen here is that the EOT Time would be set for the end of the first regular term, because it's NOT going to renew.

However, in this case, s2Member was unable to find all of the transaction details for some reason. In this IPN log entry, the value of period3 = 1 D, is s2Member's default value (which really should NOT be used under normal operation). s2Member should have picked up the recorded value for the User within WordPress, which is 1 M (i.e. 1 Month) for this customer.

Code: Select all
PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 67.43 MB :: Real Memory 68.75 MB :: Peak Memory 67.85 MB :: Real Peak Memory 68.75 MB
http://www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_eot'....
  'period3' => '1 D' ( problem is HERE )
  'ip' => '84.211.117.161',
)


So, to resolve this matter, we need to determine why s2Member was unable to locate the original IPN Signup Vars for this User's account. Here are some things that come to mind.

1. Do you have any custom code running along with s2Member that might interrupt the normal flow of events inadvertently?

2. Are you running any caching plugins for WordPress that are caching object data? Perhaps allowing data to become stale inadvertently?

3. Do you have any PHP errors in your PHP error log associated with s2Member? If so, please post those and we'll review them carefully for anything that might have caused this on your installation.

Re: Demoted by s2Member

PostPosted: January 24th, 2012, 2:12 pm
by Jason Caldwell
Another possible solution in this case, is to sell access to your site with "Buy Now" functionality. Since these Subscriptions are NOT recurring, you could just as easily sell them with s2Member's "Buy Now" functionality for a fixed-term. It's the same end result, but without going through PayPal's Subscription management system. This avoids the IPN handling of EOT events all together, and instead s2Member set's the EOT based on your fixed-term configuration in the Button Shortcode.

When you generate your Button or Pro Form with s2Member, choose one of the "Buy Now" options from the drop-down menu, and avoid the use of "Subscription" options in this case. For fixed-term access, the only time you'd want to use "Subscription" buttons, is if you're also going to offer an initial/trial period. If you're offering no initial/trial period, and you only allow fixed-term access, go with a "Buy Now" button.

Re: Demoted by s2Member

PostPosted: January 24th, 2012, 3:30 pm
by sijo55
Hi Jason..
To answer your questions:
1. No
2. I'm using Quick Cache Versjon 111203
3. No errors

Re: Demoted by s2Member

PostPosted: January 24th, 2012, 8:51 pm
by Jason Caldwell
Thanks for the follow-up.

Can I see the Subscription IDs from each of these log entries please? Are they the same?
Code: Select all
PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 67.65 MB :: Real Memory 68.50 MB :: Peak Memory 67.86 MB :: Real Peak Memory 68.50 MB
http://www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_signup'
'period3' => '1 M',
7 => 'Storing IPN signup vars now. These are associated with a User\'s account record; for future reference.',

Code: Select all
PHP v5.2.14 :: WordPress® v3.3.1 :: s2Member® v111220 :: s2Member® Pro v111220
Memory 67.43 MB :: Real Memory 68.75 MB :: Peak Memory 67.85 MB :: Real Peak Memory 68.75 MB
www.xn--idyry-yua.no/iDyroy/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_eot'
'period3' => '1 D',
The period3 value was stored first, but then unavailable later, is what it looks like. Something is not making sense though. Were both of these the same Subscr. ID (i.e. subscr_id).

Re: Demoted by s2Member

PostPosted: January 25th, 2012, 2:51 am
by sijo55
They are the same:
Code: Select all

'txn_type' => 'subscr_signup',
'subscr_id' => 'I-EU5YAWPTGN48',

'txn_type' => 'subscr_eot',
'subscr_id' => 'I-EU5YAWPTGN48',

Re: Demoted by s2Member

PostPosted: January 25th, 2012, 2:28 pm
by Jason Caldwell
So sorry. You have me at a loss on this one thus far.

I suggest that we work together on this by attaching a debugger to your installation specifically designed to report more information about the processing of this EOT routine.

Please unzip and upload the attached file, allowing it to override your existing copy of:
/s2member/includes/classes/paypal-notify-in-subscr-or-rp-eots-w-level.inc.php

When/if an EOT is bypassed by s2Member, you should begin seeing log entries with additional details inside: /s2member-logs/paypal-eots.debug.log So the next time an EOT fails, let's take a look at the log entry from this file and try to make sense of what's happening on your installation. The log entries will follow the same format, but they'll have some additional variables populated which I can use to help further debug this for you.


Re: Demoted by s2Member

PostPosted: January 25th, 2012, 2:53 pm
by sijo55
Hi again Jason..

Thanks! I have downloaded the file and installed it.
Now we have to wait for someone to pay through paypal. It can take some time..