Currently we have our system routing payment IPN calls through the PayPal Central IPN script distributed as part of the PRO Extras package as we are handling multiple sites transactions through a single PayPal account. The IPN calls are coming back properly as far as we can tell. I have pasted in an IPN response from the logs below for our account modification form which upgrades free, level 0 users to paying level 1 users with a monthly subscription cost. This form also grants them a custom capability as well. I have redacted personal information and modified domain, custom capability names and thank you URLs to be generic placeholders for anonymity and security.
- Code: Select all
WordPress v3.2.1 :: s2Member v110815 :: s2Member Pro v110815
Memory 8.84 MB :: Real Memory 9.25 MB :: Peak Memory 9.00 MB :: Real Peak Memory 9.25 MB
www.mydomain.com/?s2member_paypal_notify=1&s2member_paypal_proxy=paypal&s2member_paypal_proxy_use=pro-emails,subscr-signup-as-subscr-payment&s2member_paypal_proxy_verification=[REDACTED]&s2member_paypal_proxy_return
_url=https%3A%2F%2Fwww.mydomain.com%2Fthankyou
User-Agent: WordPress/3.2.1; http://www.mydomain.com
array (
'txn_type' => 'subscr_signup',
'subscr_id' => '[REDACTED]',
'custom' => 'www.mydomain.com',
'txn_id' => '[REDACTED]',
'period1' => '0 D',
'period3' => '1 M',
'mc_amount1' => '0.00',
'mc_amount3' => '4.95',
'mc_gross' => '4.95',
'mc_currency' => 'USD',
'tax' => '0.00',
'recurring' => '4.95',
'payer_email' => '[REDACTED]',
'first_name' => '[REDACTED]',
'last_name' => '[REDACTED]',
'option_name1' => 'Referencing Customer ID',
'option_selection1' => '[REDACTED]',
'option_name2' => 'Customer IP Address',
'option_selection2' => '[REDACTED]',
'item_name' => '$4.95/month',
'item_number' => '1:my_custom_capability',
'proxy_verified' => 'paypal',
's2member_log' =>
array (
0 => 'IPN received on: Thu Aug 18, 2011 10:00:25 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/ 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 => 'Subscr. Return ( `modification=1` ), a Proxy Return URL is ready.',
8 => 'User exists. Handling `payment` for Subscription via ( `subscr-signup-as-subscr-payment` ).',
9 => 'Payment Notification URLs have been processed.',
10 => 'Storing IPN signup vars now. These are associated with a User\'s account record; for future reference.',
),
'subscr_gateway' => 'paypal',
'eotper' => NULL,
'ccaps' => 'my_custom_capability',
'level' => '1',
'ip' => '[REDACTED]',
'initial_term' => '0 D',
'initial' => '4.95',
'regular' => '4.95',
'regular_term' => '1 M',
's2member_paypal_proxy_return_url' => 'https://www.mydomain.com/thankyou',
's2member_paypal_proxy' => 'paypal',
's2member_paypal_proxy_use' => 'pro-emails,subscr-signup-as-subscr-payment',
's2member_paypal_proxy_verification' => '[REDACTED]',
)
Here is the shortcode for the Pro form that returns this IPN response:
- Code: Select all
[s2Member-Pro-PayPal-Form modify="1" level="1" ccaps="my_custom_capability" desc="$4.95/month" ps="paypal" lc="" cc="USD" dg="0" ns="1" custom="www.mydomain.com" ta="0" tp="0" tt="D" ra="4.95" rp="1" rt="M" rr="1" rrt="" rra="2" accept="paypal,visa,mastercard,amex,discover" accept_via_paypal="paypal" coupon="" accept_coupons="0" default_country_code="" captcha="0" success="https://www.mydomain.com/thankyou" /]
We have attempted success URL values both absolute and relative to no avail. Please keep in mind that transactions are going through, users are being upgraded and given their custom capability and being associated with the transaction, they are just not being directed to the success URL thank you page.
Any help on this would be greatly appreciated.