Community Support Forums — WordPress® ( Users Helping Users ) — 2012-01-14T22:57:39-05:00 http://www.primothemes.com/forums/feed.php?f=4&t=16809 2012-01-14T22:57:39-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60539#p60539 <![CDATA[Re: EOT not working with Paypal]]> I-6845PEKKNPMV, s2Member couldn't find an s2Member account tied to that Subscription ID.

If you edit a user, you'll see at the bottom of their profile there are some extra fields added by s2Member. One of those fields is the Subscriber ID field. When the customer makes a purchase through s2Member, that field is automatically filled in by s2Member, thereby linking any IPN messages with that Subscriber ID to that specific user account in s2Member.

I can think of two scenarios where that field might not be properly filled in:

1) You manually added some of your users and didn't fill in their Subscription ID's

or

2) Your IPN Integration and/or PDT/Auto-Return Integration is not properly configured (see WP Admin -> s2Member -> PayPal Options)

Statistics: Posted by Raam Dev — January 14th, 2012, 10:57 pm


]]>
2012-01-14T03:29:59-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60494#p60494 <![CDATA[Re: EOT not working with Paypal]]>
Yes I found and EOT ipn log

Code:
PHP v5.2.17 :: WordPress® v3.2.1 :: s2Member® v111105
Memory 23.80 MB :: Real Memory 24.50 MB :: Peak Memory 24.06 MB :: Real Peak Memory 24.50 MB
mydomain.com/?s2member_paypal_notify=1
User-Agent:
array (
  'txn_type' => 'subscr_eot',
  'subscr_id' => 'I-6845PEKKNPMV',
  'last_name' => 'Lastname',
  'option_selection1' => 'mydomain.com',
  'option_selection2' => 'IP',
  'residence_country' => 'FR',
  'item_name' => 'Access for 24 hours',
  'mc_currency' => 'EUR',
  'business' => 'my@email.com',
  'verify_sign' => 'HASH',
  'payer_status' => 'unverified',
  'payer_email' => 'customer@email.com',
  'first_name' => 'Firstname',
  'receiver_email' => 'my@email.com',
  'option_name1' => 'Originating Domain',
  'payer_id' => 'ID',
  'invoice' => 'Invoice~IP',
  'option_name2' => 'Customer IP Address',
  'item_number' => '1',
  'custom' => 'mydomain.com',
  'charset' => 'windows-1252',
  'notify_version' => '3.4',
  'ipn_track_id' => 'HASH',
  's2member_log' =>
  array (
    0 => 'IPN received on: Sun Dec 11, 2011 9:20:20 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 Sun Dec 11, 2011 9:20:25 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 => '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',
  'period1' => '0 D',
  'period3' => '1 D',
  'ip' => 'IP',
)


Here is the subscriber in my WP-Admin http://twi.tl/041i0z1K38111B0h1Q3A although you can't see it, the account is still in a level 1 role (as are all my customers).

I am confused by :
Code:
    6 => 'Skipping this IPN response, for now. The Subscr. ID is not associated with a registered Member.',

Statistics: Posted by seb2point0 — January 14th, 2012, 3:29 am


]]>
2012-01-13T19:31:31-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60461#p60461 <![CDATA[Re: EOT not working with Paypal]]>
Your logs should show messages from PayPal about the cancellation/EOT. Do you not have those?

Statistics: Posted by Raam Dev — January 13th, 2012, 7:31 pm


]]>
2012-01-13T01:32:33-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60413#p60413 <![CDATA[Re: EOT not working with Paypal]]>
Thanks for your reply. Apparently I had already enabled logs a while back so I have plenty of data. Here is a log for a customer who paid for one month.

Code:
PHP v5.2.17 :: WordPress® v3.2.1 :: s2Member® v111105
Memory 20.98 MB :: Real Memory 21.25 MB :: Peak Memory 21.04 MB :: Real Peak Memory 21.25 MB
mydomain.com/?s2member_paypal_return=1&s2member_paypal_return_tra=hash
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.3; SIMBAR={B16C7346-BC4E-11DF-96F4-891DCD57244C}; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; InfoPath.1; AskTB5.5)
array (
  'transaction_subject' => '1 month access',
  'payment_date' => '12:55:50 Dec 05, 2011 PST',
  'txn_type' => 'subscr_payment',
  'subscr_id' => 'ID',
  'last_name' => 'Lastname',
  'option_selection1' => 'mydomain.com',
  'option_selection2' => 'IP',
  'residence_country' => 'ES',
  'item_name' => '1 month access',
  'mc_currency' => 'EUR',
  'business' => 'my@email.com',
  'payment_type' => 'instant',
  'protection_eligibility' => 'Ineligible',
  'payer_status' => 'verified',
  'payer_email' => 'customer@hotmail.com',
  'txn_id' => 'ID',
  'receiver_email' => 'my@email.com',
  'first_name' => 'Firstname',
  'option_name1' => 'Originating Domain',
  'invoice' => 'ID',
  'payer_id' => 'ID',
  'option_name2' => 'Customer IP Address',
  'receiver_id' => 'ID',
  'item_number' => '1',
  'payment_status' => 'Completed',
  'mc_fee' => '0.90',
  'mc_gross' => '19.00',
  'custom' => 'mydomain.com',
  'charset' => 'windows-1252',
  's2member_log' =>
  array (
    0 => 'Return-Data received on: Mon Dec 5, 2011 8:56:06 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/o update vars.',
    5 => 'Registration Cookies set on ( `web_accept|subscr_signup|subscr_payment` ) w/o update vars.',
    6 => 'Transient Tracking Cookie set on ( `web_accept|subscr_signup|subscr_payment` ) w/o update vars.',
    7 => 'Redirecting Customer to Registration Page. They need to Register now.',
  ),
  'subscr_gateway' => 'paypal',
  'eotper' => NULL,
  'ccaps' => NULL,
  'level' => '1',
  'ip' => 'IP',
  'period1' => '0 D',
  'mc_amount1' => '0.00',
  'period3' => '1 M',
  'mc_amount3' => '19',
  'recurring' => '0',
  'initial_term' => '0 D',
  'initial' => '19',
  'regular' => '19',
  'regular_term' => '1 M',
  's2member_paypal_return_tra' => 'hash',
)


Just so I understand. Does PayPal send a notification at the EOT or does s2member preform end of term by itself using the information Paypal sends it in this return ? I imagine it is the latter.

Looking at this log, it seems like everything is being sent back correctly. As for the cron job I was using the WP-cron option but since it wasn't working I switched to real cron. Only problem : my host only allows actual PHP scripts to be executed on the server and not URL (therefore, no parameters). I had to create a php file on the server which I call up with cron which then calls the correct URL :

Code:
<?php
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "http://mydomain.com/?s2member_auto_eot_system_via_cron=1/");
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);

curl_close($ch);
?>

Statistics: Posted by seb2point0 — January 13th, 2012, 1:32 am


]]>
2012-01-12T20:08:21-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60395#p60395 <![CDATA[Re: EOT not working with Paypal]]>
You can enable logging in WP Admin -> s2Member -> PayPal Options -> PayPal Account Details -> Enable Logging Routines. The logs will definitely shed some light on any EOT issues you're having.

If you discover something in the logs that doesn't look right, please paste the relevant log entries here (using [code] tags), X-ing out any private information.

Statistics: Posted by Raam Dev — January 12th, 2012, 8:08 pm


]]>
2012-01-11T14:47:51-05:00 http://www.primothemes.com/forums/viewtopic.php?t=16809&p=60264#p60264 <![CDATA[EOT not working with Paypal]]>
I have S2Member installed and only taking PayPal payments. Everything seems to working fine except EOT is not working although I have set all the necessary parameters in my PayPal account.

It seems like I've done everything right. What are some steps that I can take to debug ? Is there a log I could look at ?

Thanks

Statistics: Posted by seb2point0 — January 11th, 2012, 2:47 pm


]]>