Simple Membership Plugin › Forums › Simple Membership Plugin › Membership Renewal Not Working
- This topic has 15 replies, 5 voices, and was last updated 6 years, 2 months ago by
matteobanana.
-
AuthorPosts
-
January 2, 2017 at 10:54 pm #9429
rjhickory
ParticipantI have followed all of the steps to implement membership renewal. It works just fine for members who renew before their expiration date. Once the expiration date passes for a member the expiration message appears like it should (Your account has expired. Please renew your account to gain access to this content.) However, when they click the “renew” link it doesn’t unlock the protected page so they can make a renewal payment. I had to extend all the member expiration dates as a temporary work-around.
Anyone know how to fix this? And yes, I have Enable Expired Account Login checked etc.
January 3, 2017 at 6:23 am #9432mbrsolution
ModeratorHi, just a few questions. Have you enabled the following feature Enable Expired Account Login located under Advance Settings? Did you also add a Membership Renewal URL?
If you did all of the above, can you enable Debug mode and next time someone goes to renew their account and it does not work can you check the log files. Report back.
Thank you
January 4, 2017 at 12:24 am #9445rjhickory
ParticipantYes, and yes. Debug logs show a successful login. The problem is that the plugin does not “unprotect” the protected content for an expired member.
I wrote some php code in the functions file to force a login and then redirect expired members to an obscure, unprotected page where they can interact with the renewal button. All of that works with PayPal etc. but is not desirable. Would love this to work out of the box as intended.
I have strong php anf database skills so feel free to send me spelunking in the depths to test anything you can think of.
Thanks!
January 4, 2017 at 5:53 am #9447mbrsolution
ModeratorHi, thank you for providing the extra information. The plugin developers will investigate further your issue.
Regards
January 6, 2017 at 6:21 am #9514admin
KeymasterIf the payment comes thru fine then the plugin activates the account and extends it by updating the access start date value.
You can see how it does that in the following file (read line number 55 – 61)
simple-membership/ipn/swpm_handle_subsc_ipn.php
If the account is not getting activated automatically after the payment, then something is wrong. The debug log will help.
January 11, 2017 at 1:33 am #9566rjhickory
ParticipantThis has nothing to do with payments. The problem is that the plugin does not “unprotect” the protected content for an expired member. How can a member make a renewal payment on a protected page when they can’t get to that page because they are expired???
January 11, 2017 at 1:48 am #9567admin
KeymasterThe membership payment buttons should be on the “Join Us” page which is an open page so anyone can go there and make a payment. You should not be protecting the joibn us page to begin with.
If you are talking about renewal, then please note that the plugin always allow access to the renewal page to logged in members (even if their account is expired).
Have you specified a correct URL in the following Advanced Settings field where your renewal/upgrade payment buttons are?
Membership Renewal URLThat page is always open to logged-in members. If it is not open in your site then this is a site specific issue. It is likely the plugin’s URL compare check is failing due to not having a “www” or something similar in the value that you configured in the settings.
January 11, 2017 at 1:57 am #9569rjhickory
ParticipantYour documentation says:
Step 5) Protect/hide this “Membership Renewal” page so members are required to log into the site before making the payment. The plugin can easily apply the payment to a member’s profile when the member is logged into the site.I have everything set up correctly as per the documentation. Please tell me what PHP file the URL compare check is located in so I can look into it as you say it is a site specific issue.
January 11, 2017 at 11:49 pm #9585admin
KeymasterIt ALLOWS the member (expired or not) to view the content of the “RENEWAL” page. This is why it says to optionally protect that page (if you want to).
You can see the code in the following file:
simple-membership/classes/class.swpm-access-control.phpCheck the following function in that file:
is_current_url_a_system_page()January 12, 2017 at 12:40 am #9586rjhickory
ParticipantYou suck. How the hell would the plugin know who the renewal payment was coming from if that person didn’t log in first. The problem I have is no one took the time to even read and understand the problem I’m having. You still have not acknowledged nor addressed it. Whatever, I don’t care because I programmed my own workaround.
January 12, 2017 at 1:09 am #9587mbrsolution
Moderator@rjhickory, please be polite. This is a forum to help people with issues. We are here to do as much as we can to help those that run into issues.
Many are using this plugin and implementing the feature you mentioned above without any issues. It is a mystery to us that it is not working for you. However we will investigate further why you are having this problem after the account has expired as per the following comment.
However, when they click the “renew” link it doesn’t unlock the protected page so they can’t make a renewal payment
Kind regards
July 18, 2017 at 8:51 am #11518aawvweb
ParticipantWas there ever a solution to this? I ask because I’m having the exact same problem.
I’ve enabled expired account login, have triple checked to make sure that the correct membership renewal URL is listed, and then protected the page content to only be accessible to logged-in members. When an active member logs in, that member can access the renewal page just fine. When an expired member logs in, the login is successful, and when I try to visit any restricted areas of the site, the prompt to renew pops up. But the renewal page is seemingly inaccessible even though an expired member should be able to access it. The renew message prompt keeps on refreshing each time I click the renew link.
While I could just remove protection of the membership renewal page, I’d rather not give non-logged-in site visitors access to the page. Then again, all my Stripe pay buttons are the same for both new members and renewing members, so maybe this is no big deal at the end of the day?
Anyway, if anyone has a clue, I’m all ears. Thanks in advance for the help!
July 18, 2017 at 6:07 pm #11521aawvweb
ParticipantFor the time being, I’ve just made the Membership Renewal URL the same as the Join URL, which is not protected at all.
July 18, 2017 at 9:50 pm #11523mbrsolution
Moderator@aawvweb, that is good news.
Your solution is what @admin mentions in the following reply above. If you were to use a different URL, that URL should not be visible in your site and not protected because this URL is only for members who want to renew their account. However your solution works just fine :).
Kind regards
July 19, 2017 at 5:26 am #11529admin
KeymasterOn some server’s the plugin was failing to read the renewal URL correctly. The new update that I released should help with this.
-
AuthorPosts
- You must be logged in to reply to this topic.