Level0 user not being redirected to signup page but it does work for logged out users

I’ve been looking through other posts and KB articles but not having any luck solving this.

I have set up the site so that content is restricted above S1Level. I cancelled payment for a test user and they were demoted successfully. (Role is subscriber when I go to wordpress users page). Also it was set up as a daily recurring payment while testing (it will be monthly when we go live) and I cancelled it about a week ago. I know there is a days grace or that users can still see content until subscription period ends but I don’t think that is the issue here. Any other way to check that?

However they can still see all of the pages/categories etc. On this page (https://communitynetworkseire.com/community-health-network-members-area/) for example it says ‘Require Level1 or Higher’ under page level restriction. I have also included the page ID in the text field for level1 or higher in Page Access Restrictions.

I don’t think it’s an issue with login url etc. The login url is:


This is what I have in wordpress settings for wordpress and site address:

I have the most up to date version of S2Member

Any ideas what I might be doing wrong?

I found the log file for this and it does look like the user was demoted correctly and the grace period has expired? Can someone verify this? I used an online tool to convert the EOT timestamp and it is Monday, 26 August 2024 20:05:16. So the user should not be able to view content restricted to Level one and above… but they can.
Array
(
[user] => Array
(
[data] => stdClass Object
(
[ID] => 53
[user_login] => lorrainetest1
[user_pass] => XXXXX
[user_nicename] => lorrainetest1
[user_email] => XXXX
[user_url] =>
[user_registered] => 2024-08-17 19:04:18
[user_activation_key] =>
[user_status] => 0
[display_name] => Lorraine Test
[user_level] => 0
)

        [ID] => 53
        [caps] => Array
            (
                [s2member_level1] => 1
            )

        [cap_key] => wp_capabilities
        [roles] => Array
            (
                [0] => s2member_level1
            )

        [allcaps] => Array
            (
                [read] => 1
                [level_0] => 1
                [access_s2member_level0] => 1
                [access_s2member_level1] => 1
                [s2member_level1] => 1
            )

        [filter] => 
        [�WP_User�site_id] => 1
    )

[auto_eot_time] => 1724702716
[eot_del_type] => auto-eot-cancellation-expiration-demotion

)

And this is the core-ipn log

LOG ENTRY: Sun Aug 25th, 2024 @ precisely 1:26 pm UTC
PHP v7.4.33 :: WordPress v6.6.1 :: s2Member v240325 :: s2Member Pro v240325
Memory 164.07 MB :: Real Memory 2.00 MB :: Peak Memory 164.14 MB :: Real Peak Memory 2.00 MB
communitynetworkseire.com/?s2member_paypal_notify=1
User-Agent: s2Member v240325; https://communitynetworkseire.com
Array
(
[txn_type] => subscr_cancel
[subscr_cid] => cus_QgEMJurMVkY4Mz
[subscr_id] => sub_1PoruGI29BCDbKPFI8HxwH60
[custom] => communitynetworkseire.com
[period1] => 0 D
[period3] => 1 D
[payer_email] => XXX
[first_name] => Lorraine
[last_name] => Test
[option_name1] => Originating Domain
[option_selection1] => communitynetworkseire.com
[option_name2] => Customer IP Address
[option_selection2] => 80.233.47.157
[item_name] => $0.50 EUR / Daily (recurring charge, for ongoing access)
[item_number] => 1
[period] => 0 D
[option_name] => Originating Domain
[option_selection] => communitynetworkseire.com
[proxy_verified] => stripe
[s2member_log] => Array
(
[0] => IPN received on: Sun Aug 25, 2024 1:26:29 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 ( subscr_cancel|recurring_payment_profile_cancel|mp_cancel ).
[4] => Auto-EOT Time for this account: Mon Aug 26, 2024 8:05 pm UTC
)

[subscr_gateway] => stripe
[subscr_baid] => sub_1PoruGI29BCDbKPFI8HxwH60
[level] => 1
[ccaps] => 
[ip] => 80.233.47.157
[s2member_paypal_proxy] => stripe
[s2member_paypal_proxy_use] => pro-emails
[s2member_paypal_proxy_verification] => ddd77f97c130a6e82d3cf375256377ee

)

LOG ENTRY: Sun Aug 25th, 2024 @ precisely 7:06 pm UTC
PHP v7.4.33 :: WordPress v6.6.1 :: s2Member v240325 :: s2Member Pro v240325
Memory 164.12 MB :: Real Memory 166.00 MB :: Peak Memory 164.41 MB :: Real Peak Memory 166.00 MB
communitynetworkseire.com/?s2member_paypal_notify=1
User-Agent: s2Member v240325; https://communitynetworkseire.com
Array
(
[txn_type] => subscr_eot
[subscr_cid] => cus_QgEMJurMVkY4Mz
[subscr_id] => sub_1PoruGI29BCDbKPFI8HxwH60
[custom] => communitynetworkseire.com
[period1] => 0 D
[period3] => 1 D
[payer_email] =>XXX
[first_name] => Lorraine
[last_name] => Test
[option_name1] => Originating Domain
[option_selection1] => communitynetworkseire.com
[option_name2] => Customer IP Address
[option_selection2] => 80.233.47.157
[item_name] => $0.50 EUR / Daily (recurring charge, for ongoing access)
[item_number] => 1
[period] => 0 D
[option_name] => Originating Domain
[option_selection] => communitynetworkseire.com
[proxy_verified] => stripe
[s2member_log] => Array
(
[0] => IPN received on: Sun Aug 25, 2024 7:06:14 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 ( subscr_eot|recurring_payment_expired|recurring_payment_suspended_due_to_max_failed_payment ) - or - recurring_payment_profile_cancel w/ initial_payment_status ( failed ).
[4] => Skipping (demote|delete) Member, for now. An Auto-EOT Time is already set for this account. When an Auto-EOT Time has been recorded, s2Member will handle EOT (demote|delete) events using it’s own Auto-EOT System - internally.
)

[subscr_gateway] => stripe
[subscr_baid] => sub_1PoruGI29BCDbKPFI8HxwH60
[ip] => 80.233.47.157
[currency] => 
[currency_symbol] => $
[s2member_paypal_proxy] => stripe
[s2member_paypal_proxy_use] => pro-emails
[s2member_paypal_proxy_verification] => ddd77f97c130a6e82d3cf375256377ee

)

I’ve tested this again and am still seeing the problem. Any ideas where I might be going wrong?

That redirects me correctly to your Membership Options Page, and I see in the URL variables that Level 1 is the access required https://communitynetworkseire.com/sign-up-now/?_s2member_vars=page..level..1..page..1851..L2NvbW11bml0eS1oZWFsdGgtbmV0d29yay1tZW1iZXJzLWFyZWEv&_s2member_sig=1729262820-563bbcde4818b4067692a29a4e72b949

However they can still see all of the pages/categories etc.

Did you check if the user is still at Level 1? How do you know he can access that page? Did you test with your demoted test user if you can access the Level 1 content after the demotion to Subscriber/Level 0?

:slight_smile:

Hi Cristián,
Thank you for the reply and apologies for the long delay in replying to you - I moved house and unfortunately have not had time to work on this…

You are correct in saying that it goes to the member options page if you are not logged in. However I was logged in as this demoted user when I tested this and I could see the page content here https://communitynetworkseire.com/community-health-network-members-area/ when I tested this page and not the member options page as expected.

Hmm… Are you using a level or a custom capability to protect/access the page? Maybe you gave a ccap to the user, but on demotion you didn’t remove it and he then still has that ccap access to the page?

Could you tell me the restriction(s) (level, ccaps) you applied to that page, and the access (level, ccaps) that user has?

:slight_smile:

1 Like