We are experiencing a problem with the EOT function in S2member. I have reviewed many of the topics on this forum and see that if a user has no EOT set, then that user should have indefinite access at their permission level. This is fine for recurring members as well because Authorize.net communicates with S2member behind the scenes and sets an EOT if a membership is canceled or a payment fails.
However, it seems that our default EOT function is malfunctioning. Rather than allowing indefinite access for users with blank EOT fields, our S2member seems to be eliminating permissions if there is no EOT set. This is a serious problem for our site as it does not allow paid subscribers the access that they pay for.
Maybe this is due to the fact that we have Free Subscribers set to demote to public access upon expiration (as it is a 3 Day Limited Free Trial)? If so, is there a way to do this without jeopardizing the functionality for paid subscribers? We do not want to delete any members (even after expiration).
I know that S2member is communicating successfully with Authorize.net because when a monthly or annual member signs up, Authorize.net creates a recurring subscription for them. So, the issue has something to do with the EOT function within S2Member. Then, of course, we will have to make sure that s2member accounts for recurring payments properly and sets an EOT if a payment fails or a member cancels.
Below are some of the logs:
authnet-api.log:
LOG ENTRY: Wed Oct 2nd, 2013 @ precisely 12:24 am UTC
PHP v5.3.24 :: WordPress® v3.6.1 :: s2Member® v130816 :: s2Member® Pro v130816
Memory 27.43 MB :: Real Memory 27.75 MB :: Peak Memory 27.48 MB :: Real Peak Memory 27.75 MB
onlineoralsurgery.com/join/?choose_membership_verify=593a428f50&type=monthly
User-Agent: Mozilla/5.0 (iPad; CPU OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53
-------- Input vars: ( Wed Oct 2, 2013 12:24:17 am UTC ) --------
array (
'x_method' => 'create',
'x_email' => 'XXXXXXX',
'x_first_name' => 'XXXXX',
'x_last_name' => 'XXXXXXX',
'x_customer_ip' => 'XXXXXXXX',
'x_invoice_num' => 's2-524b67af2b762',
'x_description' => '1 Month @ $50 / then $50 USD / Monthly (recurring charge, for ongoing access) ((1383308655:1 M:1 M~onlineoralsurgery.com~1~USD))',
'x_amount' => '50.00',
'x_currency_code' => 'USD',
'x_start_date' => '2013-11-01',
'x_unit' => 'months',
'x_length' => 1,
'x_total_occurrences' => '9999',
'x_card_num' => '****************',
'x_exp_date' => '******',
'x_card_code' => '***',
'x_address' => '**** Rd',
'x_city' => 'Fairfield',
'x_state' => 'CT',
'x_country' => 'US',
'x_zip' => '06824',
'x_login' => 'xxxxxxxx/key/tran',
'x_tran_key' => 'xxxxxxxx/key/tran',
)
-------- Output string/vars: ( Wed Oct 2, 2013 12:24:18 am UTC ) --------
s2-524b67af2b762Ok<code>I00001
Successful.18499479
array (
‘response_reason_code’ => ‘I00001’,
‘response_code’ => ‘I00001’,
‘response_reason_text’ => ‘Successful.’,
‘response_text’ => ‘Successful.’,
‘subscription_id’ => ‘18499479’,
)
LOG ENTRY: Wed Oct 2nd, 2013 @ precisely 12:29 am UTC
PHP v5.3.24 :: WordPress® v3.6.1 :: s2Member® v130816 :: s2Member® Pro v130816
Memory 28.99 MB :: Real Memory 29.50 MB :: Peak Memory 29.15 MB :: Real Peak Memory 29.50 MB
onlineoralsurgery.com/wp-cron.php?doing_wp_cron=1380673783.0860590934753417968750
User-Agent: WordPress/3.6.1; http://onlineoralsurgery.com
——– Input vars: ( Wed Oct 2, 2013 12:29:44 am UTC ) ——–
array (
‘x_method’ => ‘status’,
‘x_subscription_id’ => ‘18499479’,
‘x_login’ => ‘xxxxxxxx/key/tran’,
‘x_tran_key’ => ‘xxxxxxxx/key/tran’,
‘x_invoice_num’ => ”,
‘x_description’ => ”,
)
——– Output string/vars: ( Wed Oct 2, 2013 12:29:44 am UTC ) ——–
Ok
I00001
Successful.activeactive
array (
‘response_reason_code’ => ‘I00001’,
‘response_code’ => ‘I00001’,
‘response_reason_text’ => ‘Successful.’,
‘response_text’ => ‘Successful.’,
‘subscription_status’ => ‘active’,
)
authnet-arb-ipn.log:
LOG ENTRY: Wed Oct 2nd, 2013 @ precisely 12:29 am UTC
PHP v5.3.24 :: WordPress® v3.6.1 :: s2Member® v130816 :: s2Member® Pro v130816
Memory 28.99 MB :: Real Memory 29.50 MB :: Peak Memory 29.15 MB :: Real Peak Memory 29.50 MB
onlineoralsurgery.com/wp-cron.php?doing_wp_cron=1380673783.0860590934753417968750
User-Agent: WordPress/3.6.1; http://onlineoralsurgery.com
array (
'response_reason_code' => 'I00001',
'response_code' => 'I00001',
'response_reason_text' => 'Successful.',
'response_text' => 'Successful.',
'subscription_status' => 'active',
'arb_ipn_signup_vars' =>
array (
'txn_type' => 'subscr_signup',
'subscr_id' => '18499479',
'custom' => 'onlineoralsurgery.com',
'txn_id' => '5580890872',
'period1' => '1 M',
'period3' => '1 M',
'mc_amount1' => '50.00',
'mc_amount3' => '50.00',
'mc_gross' => '50.00',
'mc_currency' => 'USD',
'tax' => '0.00',
'recurring' => '50.00',
'payer_email' => 'XXXXXXXX',
'first_name' => 'XXXXX',
'last_name' => 'XXXXXX',
'option_name1' => 'Referencing Customer ID',
'option_selection1' => '290',
'option_name2' => 'Customer IP Address',
'option_selection2' => 'XXXXXXXX',
'item_name' => '1 Month @ $50 / then $50 USD / Monthly (recurring charge, for ongoing access)',
'item_number' => '1',
'proxy_verified' => 'authnet',
'subscr_gateway' => 'authnet',
'eotper' => NULL,
'ccaps' => NULL,
'level' => '1',
'ip' => 'XXXXXXX',
'initial_term' => '1 M',
'initial' => '50.00',
'regular' => '50.00',
'regular_term' => '1 M',
),
's2member_log' =>
array (
0 => 'Ignoring this ARB/Status ( `active` ). It does NOT require any action on the part of s2Member.',
),
)
authnet-ipn.log:
LOG ENTRY: Wed Oct 2nd, 2013 @ precisely 12:24 am UTC
PHP v5.3.24 :: WordPress® v3.6.1 :: s2Member® v130816 :: s2Member® Pro v130816
Memory 25.45 MB :: Real Memory 25.75 MB :: Peak Memory 25.52 MB :: Real Peak Memory 25.75 MB
onlineoralsurgery.com/?s2member_pro_authnet_notify=1
User-Agent:
array (
'x_response_code' => '1',
'x_response_reason_code' => '1',
'x_response_reason_text' => 'This transaction has been approved.',
'x_avs_code' => 'Y',
'x_auth_code' => '02522C',
'x_trans_id' => '5580890872',
'x_method' => 'CC',
'x_card_type' => 'MasterCard',
'x_account_number' => 'XXXXXXXX',
'x_first_name' => 'XXXX',
'x_last_name' => 'XXXX',
'x_company' => '',
'x_address' => 'XXXXX Rd',
'x_city' => 'Fairfield',
'x_state' => 'CT',
'x_zip' => '06824',
'x_country' => 'US',
'x_phone' => '',
'x_fax' => '',
'x_email' => 'XXXXXXXX',
'x_invoice_num' => 's2-524b67af2b762',
'x_description' => '1 Month @ $50 / then $50 USD / Monthly (recurring charge, for ongoing access)',
'x_type' => 'auth_capture',
'x_cust_id' => '',
'x_ship_to_first_name' => '',
'x_ship_to_last_name' => '',
'x_ship_to_company' => '',
'x_ship_to_address' => '',
'x_ship_to_city' => '',
'x_ship_to_state' => '',
'x_ship_to_zip' => '',
'x_ship_to_country' => '',
'x_amount' => '50.00',
'x_tax' => '0.00',
'x_duty' => '0.00',
'x_freight' => '0.00',
'x_tax_exempt' => 'FALSE',
'x_po_num' => '',
'x_MD5_Hash' => '5DFA65E78C1D4851CE8868645BD90349',
'x_cvv2_resp_code' => 'M',
'x_cavv_response' => '',
'x_test_request' => 'false',
's2_initial_payment' => '1',
's2_invoice' => '1',
's2_custom' => 'onlineoralsurgery.com',
's2member_log' =>
array (
0 => 'IPN received on: Wed Oct 2, 2013 12:24:17 am UTC',
1 => 's2Member POST vars verified with Authorize.Net®.',
2 => 'Ignoring this IPN. The transaction does NOT require any action on the part of s2Member.',
),
)