Hi Dave. Thanks for the excellent question.By default, s2Member will send a Customer directly to PayPal®, and only after checkout is completed does the Customer have the ability to register a Username/Password for access to your site. This process works very well in most cases, and it has the benefit of increasing conversion rates; because there are fewer obstacles for the Customer on their way to the actual checkout process at PayPal®.
That being said, we believe the "ideal" approach is a combined Checkout/Registration process; in just one simple step ( available with s2Member Pro via PayPal® Pro integration ). Also works with Authorize.Net® integration. In addition, a PayPal® Express Checkout workaround is possible when a PayPal® Pro account is not possible. For further details, please see: viewtopic.php?f=4&t=304
But even with PayPal® Standard integration, there is a way to accomplish (registration before checkout), thereby reversing the process — if you prefer it that way. This is accomplished by turning Open Registration (on), and then making a PayPal® Button available to Free Subscribers at Level #0. In other words, you can let visitors register for free at Level #0, then charge them for access to higher Member Levels [1-4]. For further details, please check your WordPress® Dashboard under:
s2Member -> General Options -> Open Registration. If you're running a Multisite Network, see:
s2Member -> Multisite (Config) -> Registration Configuration.
s2Member's Simple Conditionals can help you further integrate this process, by allowing you to integrate a special PayPal® Button on your Login Welcome Page; one that will be seen only by Free Subscribers at Level #0. Please check your WordPress® Dashboard under:
s2Member -> API Scripting -> Simple Conditionals. We also suggest reading over the documentation on PayPal® Modification Buttons. See:
s2Member -> PayPal® Buttons -> Subscription Modifications.
Is there any way to do this quickly? If not, anyone know what files I would need to "adjust" to add this functionality myself? Most of my customers will not want to fill in all their information twice and I would like to not make them if possible.
Pre-populating registration fields is not possible by default, because in the free version of s2Member, the built-in WordPress® Login/Registration system is used; and it does not provide this capability. That being said, you could certainly accomplish this by making direct code edits to
/wp-login.php.
It is also possible to Hook into s2Member's Auto-Return URL processing for PayPal Standard integration. Here is how you might grab variables after a customer has completed checkout, and just before they are presented with the default registration form.
Create this directory and file:/wp-content/mu-plugins/s2-hacks.php
Inside the file, do something like this:- Code: Select all
<?php
add_action("ws_plugin__s2member_during_paypal_return_during_subscr_signup_wo_update_vars", "my_checkout_redirection");
function my_checkout_redirection($vars = array())
{
$first_name = $vars["paypal"]["first_name"];
$last_name = $vars["paypal"]["last_name"];
$register_url = c_ws_plugin__s2member_utils_urls::wp_register_url ();
wp_redirect($register_url);
exit();
}
?>
* This requires s2Member v3.5.4+ for it to work as expected.