latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Membership Renewal and setup

Home Forums Community Forum Membership Renewal and setup

This topic contains 10 replies, has 3 voices. Last updated by  Ayurveda 4 years ago.

Topic Author Topic
Posted: Monday Dec 17th, 2012 at 2:38 pm #34856
Ayurveda
Username: panchakarma

Hi guys,
I’m setting up the s2 member plug-in to cope with the membership of our organisation. I have a couple of threads running in relation to different issues already but I thought it may be sensible to make sure I am setting it up in the most efficient manner before going ahead.
We have to setup S2 to copy the membership system of our organisation, as all of our non-digital administration is set up to process membership and renewals in this manner. We only had one level of membership at this level has a few different permutations. Our 12 month membership prices are as follows:
• Full membership January to December £180.
• Associate membership January to December £85.
• Student membership January to December £35.

We then have other payments which deal with members who choose to join in differing points of the year.

• Full membership starting April to June: £160 to renewal date.
• Full membership starting July to September: 130 to renewal date.
• Full membership starting October to December: £110 to renewal date.
• Associate membership starting July to December: £50 to renewal date.

Annually, upon renewal our members currently have to sign a declaration that their qualifications and contact details are valid and up-to-date. We hope to replicate this process by including a registration/renewals form which contains all membership details and a terms and conditions checkbox which will have to be checked before payment is allowed. – We need to direct any members who’s subscriptions have expired toward our 12 month membership options. When they try to login after membership expiry, a message such as “Your membership has expired. Please follow this link to our >Membership Options Page<”. Once they have then made their selection from the 3 x payment level options (Full, Associate or Student), they will need to be presented with their account details and only be allowed to pay once they have placed a tick in the checkbox, declaring that they are correct and agreeing to our terms. This needs to happen both at initial registration and at subsequent renewals.
We also need to set the membership renewal date to 1st Jan for all memberships. I have found this thread containing code which seems to allow a set membership expiry date:

http://www.primothemes.com/forums/viewtopic.php?f=4&t=10100&p=58978#p21726

And I have followed these instructions but that is as far as I wish to go without knowing that my ‘route map’ is one that will lead to the solution. It is my first contact with S2member and I want to get things right.
I don’t know whether to set the buttons up as buy it now or subscriptions? Also, the code above prevents any purchase of services beyond the date set, so does that mean I should set them all to 12 months and let the default end date take care of the rest?

Thanks for your help guys. I have purchased the pro version primarily to enable me to access support in facilitating these functions and I would REALLY appreciate your guidance as to how to set this up?

  • This topic was modified 4 years ago by  Ayurveda.
  • This topic was modified 4 years ago by  Ayurveda.

List Of Topic Replies

Viewing 10 replies - 1 through 10 (of 10 total)
Author Replies
Author Replies
Posted: Wednesday Dec 19th, 2012 at 7:48 am #35022

I believe you can do something like that, but it’ll obviously require some customization to show the right buttons correctly depending on the user and his situation.

It is my first contact with S2member and I want to get things right.
I don’t know whether to set the buttons up as buy it now or subscriptions?

If instead of relying on an automatic payment, you’ll make the user do it manually, then I think it’ll be best to use buy-now transactions. These would also facilitate extending the paid access time automatically. [hilite path]Dashboard -› s2Member® -› PayPal® Options -› Automatic EOT Behavior -> Fixed-Term Extensions ( auto-extend )[/hilite]

We have to setup S2 to copy the membership system of our organisation, as all of our non-digital administration is set up to process membership and renewals in this manner.

I recommend you read this article related to that: Knowledge Base » How to Migrate to s2Member Pro from Other Software.

When they try to login after membership expiry, a message such as “Your membership has expired. Please follow this link to our >Membership Options Page<”.

Well, if you have the Auto EOT Behavior set to demote, then he’d be at Level 0, so you can use a conditional that checks for that in your Login Welcome Page and if he’s at that level after having had a paid membership, which you can check with the paid registration time constant, then you could either redirect him to the Membership Options page, or just present him with a message to that effect right in the Login Welcome page, which may be best, in my opinion.

Once they have then made their selection from the 3 x payment level options (Full, Associate or Student), they will need to be presented with their account details and only be allowed to pay once they have placed a tick in the checkbox, declaring that they are correct and agreeing to our terms.

Well, s2Member doesn’t have this capability, but you could implement it yourself. When you show the user the button/link to extend/renew his membership, you could first present him with a his profile and have him review and save, before forwarding him to the payment page.

For the profile page, this may help you: [hilite path]Dashboard -› s2Member® -› API / Scripting -› Member Profile Modifications[/hilite]

This needs to happen both at initial registration and at subsequent renewals.

For the initial one, i.e. registration, using the pro-form would include the profile fields to register, as well as payment options. Once logged in, though, the pro-form doesn’t include registration, so the profile fields aren’t shown.

For new fields in the profile, you can use s2Member’s custom profile fields. [hilite path]Dashboard -› s2Member® -› General Options -› Registration/Profile Fields[/hilite]

We also need to set the membership renewal date to 1st Jan for all memberships. I have found this thread containing code which seems to allow a set membership expiry date:

Right. It’d take a bit of PHP with conditionals to set those times. You could do it in the shortcode itself to adjust the time of access he’s purchasing (Knowledge Base » Using variables in a shortcode), or in a hack to set the specific date, as you saw in that post you linked to.


I hope that helps!

Posted: Thursday Dec 20th, 2012 at 1:59 pm #35183
Ayurveda
Username: panchakarma

A fantastically comprehensive response which has kept me busy for a while! Thanks Cristian. I have managed to follow your guide most of the way but I am failing to get this script, which I found in another post, to operate at the top of my members welcome page:

<?php
if(current_user_can('access_s2member_level1')) /* User is a paid member */ update_user_meta( get_current_user_id(), 's2_is_paid_member', true); ?>
<?php
if(!current_user_can('access_s2member_level1') && get_user_meta(get_current_user_id(), 's2_is_paid_member', true)) /* User is not a paid member */ wp_redirect('http://apa.uk.com/membership-renewals'); exit(); ?>

It will send demoted members to my renewals page. Could you look at the code for me please? I would really appreciate it. Many thanks.

Posted: Friday Dec 21st, 2012 at 9:01 am #35241

Glad I could help. :)

Regarding the code, if you’re only using s2_is_paid_member there and nowhere else, then you can probably do without it. Would this do what you need?

[hilite pre_code]

[/hilite]

Or, if /membership-renewals is the page you set as the Membership Options one, then instead of that code, what you can do is protect the page at Level 1 and the user will be redirected if he doesn’t have that access. [hilite path]Dashboard -› s2Member® -› General Options -› Membership Options Page[/hilite]

Posted: Friday Dec 21st, 2012 at 10:11 am #35249
Ayurveda
Username: panchakarma

Hi Cristian,
The way we have the system set up is so that all memberships run to a specific date which is defined by the php code:

<?php
    add_action ("ws_plugin__s2member_during_configure_user_registration_front_side", "my_fixed_EOT_time");
    add_action ("ws_plugin__s2member_during_paypal_notify_during_subscr_signup_w_update_vars", "my_fixed_EOT_time");
    add_action ("ws_plugin__s2member_during_paypal_notify_during_subscr_modify", "my_fixed_EOT_time");
    function my_fixed_EOT_time ($vars)
        {
            $expire_on = strtotime(date('Y') . '-12-31');
            update_user_option ($vars["user_id"], "s2member_auto_eot_time", $expire_on);
        }
?>

We are then selling ‘by now’ one year non-recurring payments which all terminate on the same date. Our EOT behaviour is set to demote. Our membership options page contains all of the buy now buttons and our membership renewals page contains three PayPal billing modifications forms which relate to our three different price points for level 1 membership (dependent on financial status). What I need to achieve is for demoted members to receive a notification and a redirection to our membership renewals page on login where they will simply select the price point PayPal billing modifications form which applies to them. As our organisation is a trust based, not for profit association, our members can be trusted to make the right selection, we just need this remind and redirect process in place for them.

<?php
if (!current_user_can('access_s2member_level1')) {
	wp_redirect('http://apa.uk.com/membership-renewals'); 
	exit();
}
?>

Unfortunately, this code is not working. When i set my eot to a date that has already passed, it just allows me access as if my eot had not expired.

As I only have basic knowledge of PHP, I don’t know why I’m afraid.

Once again many thanks Christian, your diligence this close to our deadline it’s very much appreciated.

  • This reply was modified 4 years ago by  Ayurveda.
Posted: Saturday Dec 22nd, 2012 at 10:24 am #35329

What I need to achieve is for demoted members to receive a notification and a redirection to our membership renewals page on login where they will simply select the price point PayPal billing modifications form which applies to them. As our organisation is a trust based, not for profit association, our members can be trusted to make the right selection, we just need this remind and redirect process in place for them.

Billing modification buttons are for subscriptions, which aren’t what you’re selling. Use the Buy Now buttons again for the renewal.

Thanks for explaining the process.

Unfortunately, this code is not working. When i set my eot to a date that has already passed, it just allows me access as if my eot had not expired.

If you’re using the conditional in the page’s body, then it’s too late for a redirection using the headers, you would have to use a JavaScript one.

Or just show the renewal options right there:

[hilite pre_code]

Normal login welcome.

Renewal options.

[/hilite]
Posted: Saturday Dec 22nd, 2012 at 5:19 pm #35367
Ayurveda
Username: panchakarma

Great, that’s the best idea, I’ll put the renewals options there. Can I use the success attribute in the buy now buttons shortcode Cristian?

Posted: Sunday Dec 23rd, 2012 at 3:15 am #35408
Bruce
Username: Bruce
Staff Member

Can I use the success attribute in the buy now buttons shortcode

Yes. The Buy Now Pro Form supports the success attribute.

Posted: Sunday Dec 23rd, 2012 at 9:02 am #35427
Ayurveda
Username: panchakarma

Thanks again Guys,
I have to say, you give some of the best and most comprehensive support that I’ve come across. A very few are as good but none are better. Absolutely first class.

As far as our site is concerned almost everything is working as it should now, but is it possible to enter a custom url for the confirmation email login link? We need to redirect to our custom login if possible.

Posted: Monday Dec 24th, 2012 at 7:48 am #35466

Thanks again Guys,
I have to say, you give some of the best and most comprehensive support that I’ve come across. A very few are as good but none are better. Absolutely first class.

Thank you very much for the kudos! :D

As far as our site is concerned almost everything is working as it should now, but is it possible to enter a custom url for the confirmation email login link? We need to redirect to our custom login if possible.

You mean the signup confirmation email? or the new user email? It’s fine to edit either one, but I wouldn’t remove the registration link from the signup confirmation one.
[hilite path]Dashboard -› s2Member® -› PayPal® Options -› Signup Confirmation Email[/hilite]
[hilite path]Dashboard -› s2Member® -› General Options -› Email Configuration -> New User[/hilite]

Posted: Sunday Dec 30th, 2012 at 4:33 pm #35823
Ayurveda
Username: panchakarma

Thanks Guys,
As I said, first class.

Happy New Year.

Viewing 10 replies - 1 through 10 (of 10 total)

This topic is closed to new replies. Topics with no replies for 2 weeks are closed automatically.

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.