I’m trying to hack in support for an alternative Payment Gateway called NMI. Things are going well, except that the success url is not working. Here’s my log:
PHP v5.2.17 :: WordPress® v3.3.1 :: s2Member® v120309 :: s2Member® Pro v120309
Memory 50.61 MB :: Real Memory 51.25 MB :: Peak Memory 50.71 MB :: Real Peak Memory 51.25 MB
123.456.789.001/wpLoc/?s2member_paypal_notify=1&s2member_paypal_proxy=nmi&s2member_paypal_proxy_use=pro-emails,subscr-signup-as-subscr-payment&s2member_paypal_proxy_verification=************************************&s2member_paypal_proxy_return_url=%2Fthank-you%2F
User-Agent: WordPress/3.3.1; http://123.456.789.001
array (
‘first_name’ => ‘Mark’,
‘last_name’ => ‘Tester’,
‘username’ => ‘tester’,
‘option_name1’ => ‘Originating Domain’,
‘option_selection1’ => ‘123.456.789.001’,
‘option_name2’ => ‘Customer IP Address’,
‘option_selection2’ => ‘123.456.789.008’,
‘txn_id’ => ‘6111’,
‘subscr_id’ => ‘6111’,
‘custom’ => ‘123.456.789.001’,
‘payer_email’ => ‘mark.tester@gmail.com’,
‘item_number’ => ‘3’,
‘txn_type’ => ‘subscr_signup’,
‘period3’ => ‘1 Y’,
‘mc_amount3’ => ‘205’,
‘mc_gross’ => ‘205’,
‘recurring’ => ‘205’,
‘payment_type’ => ‘instant’,
‘payment_status’ => ‘Completed’,
‘proxy_verified’ => ‘nmi’,
‘s2member_log’ =>
array (
0 => ‘IPN received on: Sat Apr 14, 2012 9:28:08 pm UTC’,
1 => ‘s2Member POST vars verified with a Proxy Key’,
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: “Mark Tester” .’,
6 => ‘Subscr. Return ( `modification=0` ), a Proxy Return URL is ready.’,
7 => ‘Storing `payment` for Subscription via ( `subscr-signup-as-subscr-payment` ).’,
8 => ‘Creating an IPN response for `subscr_payment`. This will go into a Transient Queue; and be processed during registration.’,
9 => ‘Storing IPN signup vars into a Transient Queue. These will be processed on registration.’,
),
‘subscr_gateway’ => ‘nmi’,
‘eotper’ => NULL,
‘ccaps’ => NULL,
‘level’ => ‘3’,
‘ip’ => ‘123.456.789.008’,
‘period1’ => ‘0 D’,
‘mc_amount1’ => ‘0.00’,
‘initial_term’ => ‘0 D’,
‘initial’ => ‘205’,
‘regular’ => ‘205’,
‘regular_term’ => ‘1 Y’,
‘s2member_paypal_proxy’ => ‘nmi’,
‘s2member_paypal_proxy_use’ => ‘pro-emails,subscr-signup-as-subscr-payment’,
‘s2member_paypal_proxy_verification’ => ‘************************************’,
)
It looks like the s2member_paypal_proxy_return_url variable never makes it into the submitted array. What’s more, a payment confirmation is sent to the subscriber but no followup with username and password.
I went through the paypal-notify-in-subscr-or-wa-w-level.inc.php code and found the case where this URL is supposed to be processed. It should result in a log message that reads:
‘Storing IPN signup vars now. These are associated with a User\’s account record; for future reference.’
Instead of the output in index 9 above. I know because a few months back I actually had this working.
I’ve chased the data through every stage of processing many times over and am still at a loss as to why the s2member_paypal_proxy_return_url query var is not making it through. Please help.