latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Some PayPal transactions not completing

Home Forums Community Forum Some PayPal transactions not completing

This topic contains 4 replies, has 2 voices. Last updated by  Ken Moody 4 years, 8 months ago.

Topic Author Topic
Posted: Tuesday Apr 24th, 2012 at 1:15 pm #11716
Ken Moody
Username: kenmoody

I am experiencing an issue where occasionally some subscription purchases are not completed on the wordpress/s2member side. The purchase is made through PayPal, PP process and assigns a transaction ID. But the wordpress user account (which is usually created after the PP transaction as I do not yet have PayPalPro) never has the s2member Configuration & Profile fields populated. And the account remains in the level0 role and is never assigned to the appropriate Level1 or Level2 role. So, a few questions arise from this…

1. Most obviously, why is this happening and what can I do to prevent this from happening again?

2. Is it acceptable for me to manually enter the following fields after looking up the transaction info on PayPal, and will these entries ensure proper syncing with account and expiration?
Paid Subscr. Gateway
Paid Subscr. ID
Custom Value
Automatic EOT Time

3. Is it feasible for me to manually extend the membership period by simply changing the Automatic EOT value? If I add a month or two to that time, with their access continue accordingly, or am I throwing something out of whack with how s2Member syncs with PayPal?

Thanks a ton for any assistance, it is sincerely appreciated!

KenM

List Of Topic Replies

Viewing 4 replies - 1 through 4 (of 4 total)
Author Replies
Author Replies
Posted: Tuesday Apr 24th, 2012 at 3:49 pm #11743
Raam Dev
Username: Raam
Staff Member

Hi KenM,

Please see my replies below:

1. Most obviously, why is this happening and what can I do to prevent this from happening again?

That’s hard to say without looking at the logs. If you haven’t already, please enable logging (Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging) and when this happens again please search the logs in wp-content/plugins/s2member-logs/ for the related transaction# and then share those entries here for us to look at (please remove any private customer information, such as email addresses).

2. Is it acceptable for me to manually enter the following fields after looking up the transaction info on PayPal, and will these entries ensure proper syncing with account and expiration?
Paid Subscr. Gateway
Paid Subscr. ID
Custom Value
Automatic EOT Time

Yes, absolutely. If you manually fill in those details, s2Member will simply handle those accounts as it would any other account when it receives an IPN message from PayPal (e.g., upon receiving an EOT IPN message from PayPal, s2Member will search for the matching Subscriber ID and then set the EOT).

The important thing to keep in mind is that if you’re dealing with recurring subscriptions (i.e., non Buy Now transactions), then you should not set the Automatic EOT Time field. s2Member will set that field on its own when it receives an EOT IPN message from PayPal. You can override this if you want by manually entering in a date here (see my next answer).

3. Is it feasible for me to manually extend the membership period by simply changing the Automatic EOT value? If I add a month or two to that time, with their access continue accordingly, or am I throwing something out of whack with how s2Member syncs with PayPal?

Yes, if you manually enter an EOT time in the Automatic EOT Time field, s2Member will always listen to the date you entered, even if it receives an IPN message from PayPal indicating an EOT. This means that if, for example, you manually set the EOT to a date to 6 months from now, but their PayPal subscription is canceled 1 month from now for some reason (for example because of a payment failure), s2Member will continue giving that account access until the date you specified in the Automatic EOT Time field.

Here’s some more information:

EOT = End Of Term. ( i.e. Account Expiration / Termination. ).

If you leave this empty, s2Member will configure an EOT Time automatically, based on the paid Subscription associated with this account. In other words, if a paid Subscription expires, is cancelled, terminated, refunded, reversed, or charged back to you; s2Member will deal with the EOT automatically.

That being said, if you would rather take control over this, you can. If you type in a date manually, s2Member will obey the Auto-EOT Time that you’ve given, no matter what. In other words, you can force certain Members to expire automatically, at a time that you specify. s2Member will obey.

Valid formats for Automatic EOT Time:

mm/dd/yyyy
yyyy-mm-dd
+1 year
+2 weeks
+2 months
+10 minutes
next thursday
tomorrow
today

* anything compatible with PHP’s strtotime() function.

Posted: Tuesday Apr 24th, 2012 at 4:09 pm #11752
Ken Moody
Username: kenmoody

Raam, thanks for your invovled and very helpful responses.

1. Yes, I do have logging turned on. I will try and track down the specific transactions and post the relevant log entries today. If I cannot find them, I’ll just post the next occurances.

2. Terrific!

3. Equally terrific!

Thanks again for your time, I will follow up as soon as I have some log entries to post.

KM

Posted: Wednesday Apr 25th, 2012 at 1:28 pm #11847
Raam Dev
Username: Raam
Staff Member

You’re most welcome, Ken! :)

Posted: Wednesday Apr 25th, 2012 at 4:31 pm #11860
Ken Moody
Username: kenmoody

Raam, I have a transaction that I can share info on from the log files. This is from the ipn.log file. If info from a different log file is needed, please let me know. If I had to guess it looks like it tried to do a reverse lookup for a user profile but was unable to find anything. However, with most of these transctions the user profile doesn’t get created until after the processing of the transaction. So I’m not even sure how that association is successfully made in the first place.

Many thanks again for your assistance on this!

PHP v5.2.17 :: WordPress® v3.3.1 :: s2Member® v120309 :: s2Member® Pro v120309
Memory 29.23 MB :: Real Memory 30.50 MB :: Peak Memory 30.04 MB :: Real Peak Memory 30.50 MB
dynastyleaguefootball.com/?s2member_paypal_notify=1
User-Agent:
array (
‘mc_gross’ => ‘14.99’,
‘invoice’ => ‘4f973a40637a8~68.102.110.218’,
‘protection_eligibility’ => ‘Ineligible’,
‘payer_id’ => ‘N48J46FLUUKVL’,
‘payment_date’ => ’16:42:35 Apr 24, 2012 PDT’,
‘payment_status’ => ‘Completed’,
‘charset’ => ‘windows-1252’,
‘first_name’ => ‘***hidden**’,
‘option_selection1’ => ‘dynastyleaguefootball.com’,
‘option_selection2’ => ‘68.102.110.218’,
‘mc_fee’ => ‘0.73’,
‘notify_version’ => ‘3.4’,
‘subscr_id’ => ‘I-CD5BDAA4HHY5’,
‘custom’ => ‘dynastyleaguefootball.com’,
‘payer_status’ => ‘unverified’,
‘business’ => ‘***hidden***’,
‘verify_sign’ => ‘AbeWSu3FHaXyvgBDdFhDuEeAqSBsAJdu1m-mndA3g-JmMlQx14mqhugi’,
‘payer_email’ => ‘m***hidden***’,
‘option_name1’ => ‘Originating Domain’,
‘option_name2’ => ‘Customer IP Address’,
‘txn_id’ => ‘142360025J3250435’,
‘payment_type’ => ‘instant’,
‘last_name’ => ‘***hidden***’,
‘receiver_email’ => ‘***hidden***’,
‘payment_fee’ => ‘0.73’,
‘receiver_id’ => ‘W6WNFHSSSYYHS’,
‘txn_type’ => ‘subscr_payment’,
‘item_name’ => ‘DLF Annual Membership Early Adopter Discount – $14.99 / year’,
‘mc_currency’ => ‘USD’,
‘item_number’ => ‘2’,
‘residence_country’ => ‘US’,
‘transaction_subject’ => ‘DLF Annual Membership Early Adopter Discount – $14.99 / year’,
‘payment_gross’ => ‘14.99’,
‘ipn_track_id’ => ‘6e4c198b210ce’,
‘s2member_log’ =>
array (
0 => ‘IPN received on: Tue Apr 24, 2012 11:43:20 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 ( `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 Tue Apr 24, 2012 11:43:25 pm 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’ => ‘2’,
‘ip’ => ‘68.102.110.218’,
)

Viewing 4 replies - 1 through 4 (of 4 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.