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.

Updating Subscription?

Home Forums Community Forum Updating Subscription?

This topic contains 3 replies, has 3 voices. Last updated by  Jason (Lead Developer) 3 years, 11 months ago.

Topic Author Topic
Posted: Wednesday Jan 23rd, 2013 at 2:03 pm #39197

Greetings,

I’ve had a look at our s2Member Installation, and also over the internet but I can’t seem to find a function that lets me upgrade peoples subscription, without updating their membership level.

The scenario is that our company is looking to launch an online university style service, that allows people to pay a flat monthly fee, but they can also make additional payments for more courses.

Initially, this wouldn’t be an issue as I would be using the Custom Capabilities for this, but I know that Custom Capabilities, even if charged monthly, wouldn’t update their initial subscription. Is it at all possible, with or without any custom coding to have some custom capabilities update their current subscription if we wanted to offer courses with a monthly fee?

The alternative to this, would be setting up different membership levels, but we’re looking to offer a lot of courses, and we really don’t want to have to program hundreds of different Else If Statements based on whether or not people have certain custom capabilities, as well as what level they’re on.

List Of Topic Replies

Viewing 3 replies - 1 through 3 (of 3 total)
Author Replies
Author Replies
Posted: Wednesday Jan 23rd, 2013 at 2:16 pm #39205
Michael
Username: echoca

I’m not an expert but from what understand from reading though things.

You would just add a buy now button to buy another “course”. I don’t know if this will work for adding another charge to the subscription but just a buy once access.

  • This reply was modified 3 years, 11 months ago by  Michael.
Posted: Wednesday Jan 23rd, 2013 at 2:44 pm #39213

Hey Micheal,

We’re aware we can do this fine with a one-time payment, we currently use this model for other parts of our company, but we’re looking to launch a course system, where you pay a monthly fee to be on the course.

Now, I don’t have a major issue because people have two separate recurring payments isn’t unmanageable, but we’re looking at having around 4 – 6 courses minimum by the launch of the “university” and we’re looking to expand that.

We also want the ability for people to drop and start new courses when they please, through a really easy to use interface we’ve built. The problem is, if someone over time adds all the courses to their account, that is going to be a lot of subscriptions being processed, when it would be easier to have it update into one manageable monthly payment.

We could manually do this of course, but that would be impossible considering the amount of people we’ve already got excited about joining onto the programme.

Posted: Friday Jan 25th, 2013 at 5:00 am #39494
Staff Member

Thanks for your inquiry. ~ We appreciate your patience :-)

The problem is, if someone over time adds all the courses to their account, that is going to be a lot of subscriptions being processed, when it would be easier to have it update into one manageable monthly payment.

Exactly. s2Member® supports only one active subscription at a time. In other words, each customer can be associated with one Paid Subscr. ID in the Dashboard. Adding additional one-time purchases on top of that is no sweat for s2Member®, but adding additional monthly recurring fees (where you have more than one Recurring Billing Profile associated with each customer), is not something that s2Member® supports at this time.

What I think is easier, is to change the amount of money that you’re billing the customer each billing cycle (i.e. change the existing subscription associated with their account, by changing the amount that’s being charged each month). With s2Member® Pro, this is handled through Billing Modification Forms. A customer modifies their Recurring Billing Profile with you, by upgrading to a higher Membership Level and/or by purchasing additional Custom Capabilities.

So for instance, let’s say a customer registers initially for Membership Level #1 at $19/month.
Now they want access to course A and course B, and that costs an additional $5/month (for each course).

So you introduce a Billing Modification Form that simply adds the extra Custom Capabilities to their Membership with you, and you charge the adjusted rate of $29/month for this entire package. s2Member® Pro Billing Modification Forms will terminate the existing Recurring Billing Profile, and it will create a new one to takes it’s place (i.e. a new Recurring Billing Profile that matches the new package they have).

Of course, it’s not always just that simple, because often times, there are conditions and dynamics involved with calculating prices during checkout. Some site owners deal with this by implementing their s2Member Pro Forms with PHP code (i.e. in a custom WordPress template file).

For instance, something like this; where you calculate prices/terms dynamically in custom ways — in your own code; and then pass that information along to your s2Member® Pro Form Shortcode.

See also: Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms

<?php
$base_monthly_rate = 19.00;
$amount_per_course = 5.00;
$new_course_ccaps = array('course_a', 'course_b');

$user = wp_get_current_user();
$existing_level = c_ws_plugin__s2member_user_access::user_access_level($user);
$existing_ccaps = c_ws_plugin__s2member_user_access::user_access_ccaps($user);
$caps_in_new_package = array_merge($existing_ccaps, $new_course_ccaps);

$level = $existing_level;
$ccaps = implode(',', $caps_in_new_package);
$ra = $base_monthly_rate + ($amount_per_course * count($caps_in_new_package));

echo do_shortcode('&#91;s2Member-PayPal-Pro-Form ... level="'.$level.'" ra="'.$ra.'" ccaps="'.$ccaps.'" ... /&#93;');
?>

In this example, the only problem is this…

The customer is going to pay you $29 now (during they’re upgrade), because those are the terms of the new Custom Capability package they are purchasing. However, in many cases the customer will have already paid you $19 for the current month they are in, so the very first charge in this new Recurring Profile, should be less that amount. This is accomplished with the ta="" tp="" tt="" Shortcode Attributes.

See: Dashboard -› s2Member® -› PayPal® Pro Forms -› Shortcode Attributes (Explained)

This considers what I just mentioned, and uses ta="" tp="" tt="".

<?php
$base_monthly_rate = 19.00;
$amount_per_course = 5.00;
$new_course_ccaps = array('course_a', 'course_b');

$user = wp_get_current_user();
$existing_level = c_ws_plugin__s2member_user_access::user_access_level($user);
$existing_ccaps = c_ws_plugin__s2member_user_access::user_access_ccaps($user);
$caps_in_new_package = array_merge($existing_ccaps, $new_course_ccaps);

$level = $existing_level;
$ccaps = implode(',', $caps_in_new_package);
$ra = $base_monthly_rate + ($amount_per_course * count($caps_in_new_package));

$ta = $ra - $base_monthly_rate; // Discounted price for the first month in this new plan.
$tp = 1; $tt = 'M'; // 1 month at this discounted rate.

echo do_shortcode('&#91;s2Member-PayPal-Pro-Form ... level="'.$level.'" ra="'.$ra.'" ccaps="'.$ccaps.'" ta="'.$ta.'" tp="'.$tp.'" tt="'.$tt.'"... /&#93;');
?>
Viewing 3 replies - 1 through 3 (of 3 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.