PriMoThemes — now s2Member® (official notice)

This is now a very OLD forum system. It's in READ-ONLY mode.
All community interaction now occurs at WP Sharks™. See: new forums @ WP Sharks™

Calendar year subscription questions

s2Member Plugin. A Membership plugin for WordPress®.

Calendar year subscription questions

Postby thevv » October 22nd, 2011, 9:34 pm

Hi -
First, Jason, your videos are fantastic, and s2Member rocks! Second, all you fine folks who are helping us newbies here on the forum are doing a wonderful job. THANK YOU! I've found answers to all my questions except this (I apologize in advance if the answer is already here):

I'm helping a client (and friend) morph her weekly newspaper into an electronic only edition. Her plan is to roll out the electronic version in November, and require registration, offering free access to content until the end of 2011. Then, require everyone to pay for an annual, calendar year subscription. (We've already talked about how a user can register on March 10th, and get access until March 9 of next year, and this is okay.) It would be nice, though, to collect some cash prior to the end of this year for 2012. :D However, if I set up a Level #1 PayPal button now, everyone who wants to pay now won't have a calendar year 2012 subscription period. I gather we can edit their EOT date manually, which won't be a problem as most people are accustomed to sending in a check for their 'paper' subscription (we will create these users manually), and I don't expect a huge number of PayPal transactions. Is this a viable solution? Or will PayPal not 'know' their real EOT date is 12/31/12? Or is this also handled nicely by s2Member, because it won't go to PayPal to charge their renewal until 12/31/12?

As far as membership levels go, I had originally thought I could give both Level #0 and Level #1 (paid) access to 'all' under pages categories, posts, and tags; then on January 1 restrict Level #0 to specific pages and posts. Will this work? Is there a better/easier way to do this?

And what happens when a Level #0 customer accesses the site on January 1? (Will they be redirected to the Membership Options Page for the restricted content, even though they are already registered? Ad s2Member will automatically update their membership level in their existing user account after their completed PayPal transaction? I *think* so, please confirm?)

Thanks
Elaine
User avatar
thevv
Registered User
Registered User
 
Posts: 4
Joined: October 22, 2011

Re: Calendar year subscription questions

Postby Jason Caldwell » October 23rd, 2011, 12:38 pm

Thanks for the great questions.
~ and thanks for the KUDOS, much appreciated!

As far as membership levels go, I had originally thought I could give both Level #0 and Level #1 (paid) access to 'all' under pages categories, posts, and tags; then on January 1 restrict Level #0 to specific pages and posts. Will this work? Is there a better/easier way to do this?

Yes, you're on the right track. Membership Levels provide incremental access. So, if you protect content at Level #0, then all Level #0 and Level #1 Users/Members will have access to it. In Janurary, you can change this configuration a bit. Instead of protecting content at Level #0, require Level #1. Of course, you could still protect *some* content at Level #0, but that would be optional of course.

( click screenshots to enlarge )
SNAG-0061.png
SNAG-0062.png
SNAG-0054.png

And what happens when a Level #0 customer accesses the site on January 1? (Will they be redirected to the Membership Options Page for the restricted content, even though they are already registered? Ad s2Member will automatically update their membership level in their existing user account after their completed PayPal transaction? I *think* so, please confirm?)
Yes, you are correct in both cases.

I'm helping a client (and friend) morph her weekly newspaper into an electronic only edition. Her plan is to roll out the electronic version in November, and require registration, offering free access to content until the end of 2011. Then, require everyone to pay for an annual, calendar year subscription. (We've already talked about how a user can register on March 10th, and get access until March 9 of next year, and this is okay.) It would be nice, though, to collect some cash prior to the end of this year for 2012. :D However, if I set up a Level #1 PayPal button now, everyone who wants to pay now won't have a calendar year 2012 subscription period. I gather we can edit their EOT date manually, which won't be a problem as most people are accustomed to sending in a check for their 'paper' subscription (we will create these users manually), and I don't expect a huge number of PayPal transactions. Is this a viable solution? Or will PayPal not 'know' their real EOT date is 12/31/12? Or is this also handled nicely by s2Member, because it won't go to PayPal to charge their renewal until 12/31/12?
Well, it sounds like you're leaning toward offering folks a completely free registration option, where they don't go through PayPal at all. If that's what you decide to do, then you'll simply enable Open Registration with s2Member, and allow folks to signup at Level #0 ( e.g. they become a Free Subscriber at Level #0 ).

Then, in Jan 2012, you can introduce a new paid option, and provide existing Level #0 Free Subscribers with a PayPal Modification Button, generated by s2Member ( see: s2Member -> PayPal Buttons -> Subscription Modification Buttons ). This way Free Subscribers can become Level #1 Members in Jan 2012, and gain access to content protected at this higher Level.


Or, another option would be to allow a "Free Trial" period from now until the end of 2011. Instead of enabling Open Registration, prepare a PayPal Subscription Button for access to Membership Level #1. If you want all billing to begin on an exact date in the future, that's not something s2Member or PayPal does by default. However, there is a way to hack through this, using a code snippet like the one shown below.

Code: Select all
<?php
$now 
= strtotime("now");
$fixed_time = strtotime("31 December 2011");
$days_until_fixed_time = round(($fixed_time - $now) / ($seconds_in_one_day = 86400));
?>

[s2Member-PayPal-Button ... level="1" ta="0.00" tp="<?php echo $days_until_fixed_time; ?>" tt="D" ra="24.95" rp="1" rt="Y" ... /]
* So in this example, I calculate dynamically the number of days between now and the end of this year. I give the customer this many days free, so that billing for all customers begins on the 1st day of Jan 2012.

In order to put this code snippet in a Post/Page, you will need a PHP Execution plugin, so that PHP code is parsed properly. See: http://wordpress.org/extend/plugins/php ... on-plugin/


Also, to fully understand all of s2Member's Shortcode Attributes, please check your Dashboard here:
s2Member -> PayPal Buttons -> Shortcode Attributes ( Explained )

Related articles:
viewtopic.php?f=4&t=2878&hilit=non+recurring+EOT#p9025
viewtopic.php?f=4&t=2878&hilit=non+recurring+EOT#p33412
viewtopic.php?f=36&t=1604
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: Calendar year subscription questions

Postby thevv » October 23rd, 2011, 1:32 pm

Thanks for the reply; this helps a lot - one more question -- if we want to enable people sign up and pay for their subscription for 2012 now (and allow them free access for the rest of 2011) can we do this and simply change their EOT date to 12/31/12? It would be great to be able to do this in addition to accepting cash and checks for 2012 membership between now and the end of the year. After Jan 1, it will no longer matter if the subscriber has a 'non-calendar year' subscription period; just that it is a whole year, so forcing a calendar year subscription isn't important. (She didn't want to make people pay for the paper edition and the online edition during November and December; the official start date for the online paid version is Jan 1.) I realize I will probably have to create a restriction of some sort for the 'free membership', but this can be a 'bogus' category and everyone will have free access until the end of the year, when we restrict free access to just a few static pages.
User avatar
thevv
Registered User
Registered User
 
Posts: 4
Joined: October 22, 2011

Re: Calendar year subscription questions

Postby Jason Caldwell » October 23rd, 2011, 7:52 pm

Thanks for the follow-up.
I understand. So once 2011 is over, are these people going to pay for each year annually? In other words, will there be a fee to renew automatically again on 12/31/12?
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: Calendar year subscription questions

Postby thevv » October 23rd, 2011, 8:16 pm

Correct. (She wants to offer both 'one-time' and 'recurring' PayPal buttons, which, if I remember your PayPal button video properly, is easily done.) It seems that all we would need to do is edit the subscriber's EOT date to 12/31/12. Note that this is also how I am planning to handle the two dozen subscribers who have sent in their payment for 2012 already; just dump them in Level #1 when they are manually added.

Further, it won't matter if a new member subscribes on January 14 (or any day of the year); their year can go from January 14, 2012 to Jan 13, 2013, which is, I think, how s2Member will handle a subscription activated from that point forward. Here's the issue -- people want to sign up and pay now. And for those who want to take a sneak peek, I think we should require them to register for Level #0, so that we have their contact information.

Thanks for your time -- looks to me like you're a workaholic, too!
E
User avatar
thevv
Registered User
Registered User
 
Posts: 4
Joined: October 22, 2011

Re: Calendar year subscription questions

Postby Jason Caldwell » October 25th, 2011, 5:10 pm

Thanks for the follow-ups.

OK, well first let me clarify that an Automatic EOT Time ( End Of Term ) is NOT really intended to be used for ongoing recurring Subscriptions in the way you've described. Specifying an EOT Time manually is telling s2Member that a Customer IS definitely going to expire on a specific date in the future.

Leaving the EOT Time field blank allows s2Member to handle the EOT automatically, based on what happens with their Subscription via PayPal ( recommended ).

If I understand your business model correctly, setting an EOT Time manually is NOT what you want to do, because you DO want these folks to renew automatically again in the future; and you do NOT want to set an Auto-EOT Time manually, because that would terminate their access to your site, even though payments could remain ongoing via their PayPal Subscription.

In short, specifying an EOT Time manually gives you absolute control over a Customer's site-access, but that's not always a good thing. It's best to leave the EOT Time for each account in s2Member's hands, because s2Member is communicating with PayPal dynamically, behind-the-scene via IPN, and s2Member will know when/if a Customer's account is failing payments, is cancelled, refunded... or, more importantly, if payments remain ongoing, and access should continue to be granted ( i.e. if payments remain ongoing, there is no EOT Time, because access is ongoing/indefinite, until payments stop ).

SNAG-0066.png



I think you would be better off implementing a "Free Trial" period that lasts from whenever they join this year, up until the end of the 2011. This way access is free for this year, and payments will begin in Jan 2012 as you wish. More importantly, this way s2Member can remain in sync with PayPal, and will be perfectly able to handle all future communication with PayPal, handling EOT and other events automatically for you.


Allow a "Free Trial" period from now until the end of 2011. Instead of enabling Open Registration, prepare a PayPal Subscription Button for access to Membership Level #1. If you want all billing to begin on an exact date in the future, that's not something s2Member or PayPal does by default. However, there is a way to hack through this, using a code snippet like the one shown below.

Code: Select all
<?php
$now 
= strtotime("now");
$fixed_time = strtotime("31 December 2011");
$days_until_fixed_time = round(($fixed_time - $now) / ($seconds_in_one_day = 86400));
?>

[s2Member-PayPal-Button ... level="1" ta="0.00" tp="<?php echo $days_until_fixed_time; ?>" tt="D" ra="24.95" rp="1" rt="Y" ... /]
* So in this example, I calculate dynamically the number of days between now and the end of this year. I give the customer this many days free, so that billing for all customers begins on the 1st day of Jan 2012.

Once you get into 2012, you can take this down and just go back to a standard PayPal Button Code that you generated with s2Member ( no fancy PHP dynamics required after 2012 ).

In order to put this code snippet in a Post/Page, you will need a PHP Execution plugin, so that PHP code is parsed properly. See: http://wordpress.org/extend/plugins/php ... on-plugin/


Also, to fully understand all of s2Member's Shortcode Attributes, please check your Dashboard here:
s2Member -> PayPal Buttons -> Shortcode Attributes ( Explained )

Related articles:
viewtopic.php?f=4&t=2878&hilit=non+recurring+EOT#p9025
viewtopic.php?f=4&t=2878&hilit=non+recurring+EOT#p33412
viewtopic.php?f=36&t=1604
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: Calendar year subscription questions

Postby thevv » October 30th, 2011, 8:25 pm

Thanks, Jason for all the help. We've decided to just let it ride as you first suggested, then on January 1 add the option for people to pay with PayPal and register for a year of access to the site. (Subscribers are already accustomed to paying by check or cash at the office for their subscriptions; so we figure the PayPal option now wouldn't be worth the extra effort.)

I'd like to add a 'login' widget -- and there's a lot of them available -- which do you feel will function the best with s2Member? (Not sure we can afford Pro right now.)

Thanks again -
Elaine
User avatar
thevv
Registered User
Registered User
 
Posts: 4
Joined: October 22, 2011

Re: Calendar year subscription questions

Postby Jason Caldwell » October 31st, 2011, 10:45 am

Thanks for the follow-up.
These are the two I recommend:
viewtopic.php?f=36&t=2781
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: Calendar year subscription questions

Postby stormcloud » January 16th, 2012, 9:34 pm

Hi Jason, I'm trying to use the method listed above, and i'm getting an error from paypal:

Invalid first trial period. You must specify valid values for the A1, P1 and T1 parameters for a subscription.

Here is the final link i'm using:

Code: Select all
https://www.paypal.com/cgi-bin/webscr?business=payments%40ihssociety.com.au&cmd=_xclick-subscriptions&notify_url=http%3A%2F%2Fwww.ihssociety.com.au%2F%3Fs2member_paypal_notify%3D1&cancel_return=http%3A%2F%2Fwww.ihssociety.com.au%2F&return=http%3A%2F%2Fwww.ihssociety.com.au%2F%3Fs2member_paypal_return%3D1%26s2member_paypal_return_tra%3DfnIyOmZNUm1JaUVnbFY2cHZHZkV0YlJtN2IyNFVRbUlIQnlJOjE0OTFhZDVhZTA5OGE0YzNhNDQzOTA3MGQyZmMzMDRifEH_H1AR6U_3QuF-pKWOYo4kcFVJPS16J5CPLKzLLWfjJe_9cdtt9n4VV15p8TLr7zdtjr0IHkUgxk8vw2MeOvUzOzdVzEqSxbqnOWJBZcRMu0A5fi6GBVExRQ7fULrNgUZ8aJe-IhBTqYOaC5VfQ8Mn-4ljnBmPOzMdvvlpwp-rgNQuXN7ru6b_Xrsa6B_7MK4b1wGLcUCdOm7YiXNEQSJS_8dPJKQBsDFeXbxJyLVHfmenPBvjknBNFq8bFGH7hMz0puGl8KIxVk-ywvFuwHsloXdtJy0rfl6jpk9bc2Gpz_soLsfsMrxA0MWogWUhEj7W8kqImBLDoqA-02Yq_uI6g3VVzMf30yFoKla42a1zuU_g4oWCfJqmKQdzBX6wjw&rm=2&no_shipping=1&no_note=1&custom=www.ihssociety.com.au%7CSenior&currency_code=AUD&page_style=paypal&charset=utf-8&item_name=IHS+Senior+Member&item_number=2&invoice=4f14d9782a5dd%7E<?php echo $_SERVER['REMOTE_ADDR']; ?>&on0=Originating+Domain&os0=www.ihssociety.com.au&on1=Customer+IP+Address&os1=<?php echo $_SERVER['REMOTE_ADDR']; ?>&modify=0&src=1&sra=1&a1=129.00&p1=<?php echo $days_until_fixed_time; ?>&t1=D&a3=149.00&p3=1&t3=Y


Which is spitting out:
Code: Select all
https://www.paypal.com/cgi-bin/webscr?business=payments%40ihssociety.com.au&cmd=_xclick-subscriptions&notify_url=http%3A%2F%2Fwww.ihssociety.com.au%2F%3Fs2member_paypal_notify%3D1&cancel_return=http%3A%2F%2Fwww.ihssociety.com.au%2F&return=http%3A%2F%2Fwww.ihssociety.com.au%2F%3Fs2member_paypal_return%3D1%26s2member_paypal_return_tra%3DfnIyOmZNUm1JaUVnbFY2cHZHZkV0YlJtN2IyNFVRbUlIQnlJOjE0OTFhZDVhZTA5OGE0YzNhNDQzOTA3MGQyZmMzMDRifEH_H1AR6U_3QuF-pKWOYo4kcFVJPS16J5CPLKzLLWfjJe_9cdtt9n4VV15p8TLr7zdtjr0IHkUgxk8vw2MeOvUzOzdVzEqSxbqnOWJBZcRMu0A5fi6GBVExRQ7fULrNgUZ8aJe-IhBTqYOaC5VfQ8Mn-4ljnBmPOzMdvvlpwp-rgNQuXN7ru6b_Xrsa6B_7MK4b1wGLcUCdOm7YiXNEQSJS_8dPJKQBsDFeXbxJyLVHfmenPBvjknBNFq8bFGH7hMz0puGl8KIxVk-ywvFuwHsloXdtJy0rfl6jpk9bc2Gpz_soLsfsMrxA0MWogWUhEj7W8kqImBLDoqA-02Yq_uI6g3VVzMf30yFoKla42a1zuU_g4oWCfJqmKQdzBX6wjw&rm=2&no_shipping=1&no_note=1&custom=www.ihssociety.com.au%7CSenior&currency_code=AUD&page_style=paypal&charset=utf-8&item_name=IHS+Senior+Member&item_number=2&invoice=4f14d9782a5dd%7E<MyIPAddress>&on0=Originating+Domain&os0=www.ihssociety.com.au&on1=Customer+IP+Address&os1=<MyIPAddress>&modify=0&src=1&sra=1&a1=129.00&p1=348&t1=D&a3=149.00&p3=1&t3=Y


Is there an issue with it being 348 Days? When trying to set this manually in the button generator, it tells me Max Days = 7, Max Weeks = 52 etc
User avatar
stormcloud
Registered User
Registered User
 
Posts: 6
Joined: November 29, 2011

Re: Calendar year subscription questions

Postby Jason Caldwell » January 16th, 2012, 9:46 pm

Yes, maximum days for PayPal is 90 per the documentation here. You can get around this by using weeks or months instead though. See: https://cms.paypal.com/us/cgi-bin/?cmd= ... 8A6HI00JQU

FYI: This limitation does NOT affect s2Member Pro Forms. Pro Forms can have any number of days/weeks/months. The "Button" limitation is something imposed by PayPal though, and affects Buttons.
~ Jason Caldwell / Lead Developer
& Zeitgeist Movie Advocate: http://www.zeitgeistmovie.com/

Is the s2Member plugin working for you? Please rate s2Member at WordPress.org.
You'll need a WordPress.org account ( comes in handy ). Then rate s2Member here Image
.
User avatar
Jason Caldwell
Lead Developer
Lead Developer
 
Posts: 4045
Joined: May 3, 2010
Location: Georgia / USA

Re: Calendar year subscription questions

Postby stormcloud » January 16th, 2012, 10:05 pm

Perfect, thanks for the info.
User avatar
stormcloud
Registered User
Registered User
 
Posts: 6
Joined: November 29, 2011


Return to s2Member Plugin

Who is online

Users browsing this forum: Exabot [Bot], Google [Bot] and 1 guest

cron