Hello,
I’ve just “inherited” a website that is using S2Member. I have installed the S2Member tester few days ago and it passes all checks. The website S2 Member used to work, then it stopped.
I have mainly two issues with it:
- Existing users, including those who had previously paid and subscribed to the website (then subscription expired and now they are resubscribing again) don’t get S2 roles applied after they pay. The logs say: “Storing IPN signup vars into a Transient Queue” as it should. Here’s an example, where I have asterisked private informations:
# IPN log
LOG ENTRY: Sat Mar 5th, 2016 @ precisely 12:18 pm UTC
PHP v5.5.9-1ubuntu4.14 :: WordPress v4.4.2 :: s2Member v160303
Memory 14.96 MB :: Real Memory 15.50 MB :: Peak Memory 15.19 MB :: Real Peak Memory 15.50 MB
www.pricefxgroup.com/?s2member_paypal_notify=1
User-Agent: PayPal IPN ( htt***www.paypal.com/ipn ) => Must make this a non link else I cannot post here!
Array
(
[mc_gross] => 50.00
[invoice] => 56dace5234647~151.62.111.157
[protection_eligibility] => Ineligible
[payer_id] => 6V3R7Z6TNXG64
[tax] => 0.00
[payment_date] => 04:18:31 Mar 05, 2016 PST
[payment_status] => Completed
[charset] => windows-1252
[first_name] => S****o
[option_selection1] => www_pricefxgroup_com => had to replace dots with _ else I couldn't post.
[option_selection2] => 151.62.111.***
[mc_fee] => 2.05
[notify_version] => 3.8
[custom] => www_pricefxgroup_com
[payer_status] => verified
[business] => premium@pricefxgroup.com
[quantity] => 1
[verify_sign] => Av8RT.d3Re8HSAcsT90DP9VsMmJEAT5aRmN6BNVMEc6B15fWjNDaKP2S
[payer_email] => ***********@live.it
[option_name1] => Originating Domain
[option_name2] => Customer IP Address
[txn_id] => 2B681562KV412723J
[payment_type] => instant
[last_name] => C*******e
[receiver_email] => d******1@gmail.com
[payment_fee] =>
[receiver_id] => KU********XD4
[txn_type] => web_accept
[item_name] => Accesso per tre mesi, senza rinnovo automatico
[mc_currency] => EUR
[item_number] => 2::3 M
[residence_country] => IT
[handling_amount] => 0.00
[transaction_subject] =>
[payment_gross] =>
[shipping] => 0.00
[ipn_track_id] => 4ca59992ac4f6
[s2member_log] => Array
(
[0] => IPN received on: Sat Mar 5, 2016 12:18: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` ).
[4] => s2Member `txn_type` identified as ( `web_accept|subscr_signup` ) w/o update vars.
[5] => Signup Confirmation Email sent to: "S*********e" <s********e@live.it>.
[6] => Storing `payment` for Subscription via ( `web_accept` ).
[7] => Creating an IPN response for `subscr_payment`. This will go into a Transient Queue; and be processed during registration.
[8] => Storing IPN signup vars into a Transient Queue. These will be processed on registration.
)
[subscr_gateway] => paypal
[subscr_id] => 2B68*********2723J
[subscr_baid] => 2B68*********2723J
[subscr_cid] => 2B68*********2723J
[eotper] => 3 M
[ccaps] =>
[level] => 2
[ip] => 151.62.111.***
[period1] => 0 D
[mc_amount1] => 0.00
[period3] => 3 M
[mc_amount3] => 50.00
[initial_term] => 0 D
[initial] => 50.00
[regular] => 50.00
[regular_term] => 3 M
[recurring] => 0
[currency] => EUR
[currency_symbol] => €
)
However they remain at “subscriber” role and no field in the user table is getting filled. It used to.
This is the Paypal button being used:
# Button shortcode
[s2Member-PayPal-Button level="2" ccaps="" desc="Accesso per tre mesi,
senza rinnovo automatico" ps="paypal" lc="IT" cc="EUR" dg="0" ns="1"
custom="www_pricefxgroup_com" ta="0" tp="0" tt="D" ra="50" rp="3" rt="M"
rr="BN" rrt="" rra="1"
image="ht*****paypal_com/it_IT/i/btn/btn_xpressCheckout.gif"
output="button" /]
Here’s core-rtn log:
# Core rtn
LOG ENTRY: Sat Mar 5th, 2016 @ precisely 12:18 pm UTC
PHP v5.5.9-1ubuntu4.14 :: WordPress v4.4.2 :: s2Member v160303
Memory 10.05 MB :: Real Memory 10.50 MB :: Peak Memory 10.20 MB :: Real Peak Memory 10.50 MB
www.pricefxgroup.com/?s2member_paypal_return=1&s2member_paypal_return_tra=fnIyOkdCY21Kd3YyZUMzajd5U05wVGQ0QXhZQXVRRTZaVkVWOjJiZDUzNmU5ZDVmOTVjZGQ4YjYzYTQxMmMyZmNiZjJlfBtwXooSAF2QwV8VIPuDu%5f6IbvwPy5D2y3dTykQu77aDYAkr8nGhYyQflJoVaDxZf6iq1mcI713yfwOWTsqePmGNK4HJuGA6GxiJD5w6wL4ZGHpcuasRlKE0REO%2dFnA4EXkrtkgQtgg2lnhPjqcUjjQd5CpDHteoNnuNNOYCiNek8kbmTSe5p0hiieHmWHGMGy0vTIQp53ToNOcwvz6NMFevLvcZ73vjKiA2PYLDZcPvvxC1OmseyYGeYTrppZ%2dlVCgslE1s81Hu3oEXk%5f1mVO1Am5P0eJhCL3jBiQDfV2XJ4Yc0%2dpl%5fLwcOI5CVV3GAf956Vnm%2dXlVUEjNV3l7v0GKh1xbLbEShXqU%5fdG0INaHjLhPwXBWJf5tJ1lQk1Eznig&tx=2B681562KV412723J&st=Completed&amt=50%2e00&cc=EUR&cm=www%2epricefxgroup%2ecom&item_number=2%3a%3a3%20M
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Array
(
[mc_gross] => 50.00
[invoice] => 56dace5234647~151.62.111.***
[protection_eligibility] => Ineligible
[payer_id] => 6V3*****XG64
[tax] => 0.00
[payment_date] => 04:18:31 Mar 05, 2016 PST
[payment_status] => Completed
[charset] => windows-1252
[first_name] => S***o
[option_selection1] => www_pricefxgroup_com
[option_selection2] => 151.62.111.***
[mc_fee] => 2.05
[custom] => www_pricefxgroup_com
[payer_status] => verified
[business] => premium@pricefxgroup.com
[quantity] => 1
[payer_email] => s**************e@live.it
[option_name1] => Originating Domain
[option_name2] => Customer IP Address
[txn_id] => 2B68*********23J
[payment_type] => instant
[last_name] => C*********e
[receiver_email] => d********1@gmail.com
[receiver_id] => KU**********JXD4
[txn_type] => web_accept
[item_name] => Accesso per tre mesi, senza rinnovo automatico
[mc_currency] => EUR
[item_number] => 2::3 M
[residence_country] => IT
[handling_amount] => 0.00
[shipping] => 0.00
[s2member_log] => Array
(
[0] => Return-Data received on: Sat Mar 5, 2016 12:18: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/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 (after displaying a quick thank-you message). They need to Register now.
)
[subscr_gateway] => paypal
[subscr_id] => 2B68*********23J
[subscr_baid] => 2B68*********23J
[subscr_cid] => 2B68*********23J
[eotper] => 3 M
[ccaps] =>
[level] => 2
[ip] => 151.62.111.***
[period1] => 0 D
[mc_amount1] => 0.00
[period3] => 3 M
[mc_amount3] => 50.00
[initial_term] => 0 D
[initial] => 50.00
[regular] => 50.00
[regular_term] => 3 M
[recurring] => 0
[currency] => EUR
[currency_symbol] => €
[s2member_paypal_return_tra] => fnIyOkdCY21Kd3YyZUMzajd5U05wVGQ0QXhZQXVRRTZaVkVWOjJiZDUzNmU5ZDVmOTVjZGQ4YjYzYTQxMmMyZmN<snip>)
I have read that S2Member should attach a customer ID to the user so it can match it with the payment transaction. None of this happens.
- I have the same identical issue with newly created users who didn’t exist at all, yet they still get the “Storing IPN signup vars into a Transient Queue” despite they register after the payment (!!!).
If you want I may post their IPN logs etc, but they are basically identical to the above.
Best regards