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.

Registration After Payment on External Site?

Home Forums Community Forum Registration After Payment on External Site?

This topic contains 4 replies, has 2 voices. Last updated by  Jason (Lead Developer) 4 years, 7 months ago.

Topic Author Topic
Posted: Thursday Jun 7th, 2012 at 8:49 pm #15876

Hi, just migrating from Wishlist Member to S2Member Pro.

On my previous site (example.com), I was using a combination of Ultracart/Authorize.net to process a buyer’s credit card. After a series of upsells, the thankyou URL of Ultracart would direct them to my membership site protected registration form (on members.example.com). So payment and registration happen on separate sites. If you know Wishlist Member, the membership-level-specific registration URLs take on the form of http://members.example.com/index.php?/register/Uadfa3 (which then redirects to a unique registration form for the corresponding membership level, for example http://members.example.com/wishlist-member?reg=1274731234). Simply accessing http://members.example.com/wishlist-member (without successful payment) does not allow registrations.

Since I am new to S2Member, I am unaware if there’s a suggested (and even obvious) way to accomplish the same. Any pointers are highly appreciated.

Question: If I keep the Ultracart/Authorize.net part on my main site, what do I need to specify for the thankyou URL for the registration form on my S2Member-protected members.example.com (let’s assume membership level 1)? I assume I shouldn’t use the registration for a free membership level since that would allow anybody to register.

The reason why I think I need to stick with Ultracart/Authorize.net, and not use the built-in Authorize.net integration is that ability for one-click upsells/downsells and complicated trial payment structures. But I am happy to stand corrected.

  • This topic was modified 4 years, 7 months ago by  Uli Iserloh.

List Of Topic Replies

Viewing 4 replies - 1 through 4 (of 4 total)
Author Replies
Author Replies
Posted: Saturday Jun 9th, 2012 at 7:00 am #16062
Staff Member

Thanks for the heads up on this request for support.

you know Wishlist Member, the membership-level-specific registration URLs take on the form of http://members.example.com/index.php?/register/Uadfa3 (which then redirects to a unique registration form for the corresponding membership level, for example http://members.example.com/wishlist-member?reg=1274731234). Simply accessing http://members.example.com/wishlist-member (without successful payment) does not allow registrations.

Since I am new to S2Member, I am unaware if there’s a suggested (and even obvious) way to accomplish the same. Any pointers are highly appreciated.

With s2Member, you can simply implement either a Payment Button Shortcode, or a Pro Form Shortcode (with s2Member Pro). If you insert these Shortcodes into different pages on your site, then you will have different pages for different membership Levels, and the URLs associated with these Pages are whatever you decide to make them (i.e. these are WordPress Pages, just like any other WP Page).

With respect to Registration/Profile Fields collected during checkout…

These are handled automatically, in s2Member’s logic behind-the-scene.

Dashboard -› s2Member® -› General Options -› Registration/Profile Fields
When you configure each Registration/Profile Field, it’s possible to narrow its use down to a specific Membership Level, so that it’s only visible during checkout, where what’s being sold through a Pro Form, matches that Level.

In the free version of s2Member, the checkout occurs first, and registration occurs after. In this case, the same is true. The registration form will only display Registration/Profile Fields associated and configured by you, where these Registration/Profile Fields are associated with the Level of Membership the customer purchased.

Question: If I keep the Ultracart/Authorize.net part on my main site, what do I need to specify for the thankyou URL for the registration form on my S2Member-protected members.example.com (let’s assume membership level 1)? I assume I shouldn’t use the registration for a free membership level since that would allow anybody to register.

If the product being sold, is through a completely different shopping cart system, on a completely different site, then I’m not sure you’re going to pull this off without custom code to connect the two different software applications together. No matter how you redirect the customer to your s2Member-powered site, s2Member has no way of knowing they’re a paid customer, unless custom code is introduced.

The reason why I think I need to stick with Ultracart/Authorize.net, and not use the built-in Authorize.net integration is that ability for one-click upsells/downsells and complicated trial payment structures. But I am happy to stand corrected.

Please describe what your current upsell/downsell path looks like,
and we’ll be happy to let you know if that’s possible in s2Member Pro.
Posted: Saturday Jun 9th, 2012 at 9:32 am #16063

Jason,
thanks for the extensive reply. Regarding your question about the nature of the upsell: The initial purchase on example.com is for the digital membership materials only, but in the (one-click) upsell I am offering them a printed booklet and DVD (physical goods that get shipped). During the upsell, they can click either YES or NO. If they click NO, they get presented with a downsell (again YES/NO option). Afterwards, they get sent to the thankyou URL on members.example.com

Since the initial offer comes with life-time access, I am not concerned tying the two systems (Ultracart/Authorize.net on example.com and my Wishlist Member powered members.example.com) together – i.e. the membership site does not need to handle EOT issues.

Posted: Saturday Jun 9th, 2012 at 10:17 am #16065

Ok, I created a free Authorize.net/Free Registration form and placed it on a new page. So the only problem is that folks could pass around the registration URL which would then allow free registration.

[s2Member-Pro-AuthNet-Form register="1" level="1" ccaps="" desc="" custom="members.example.com" tp="0" tt="D" captcha="clean" /]

What Authorize.net transaction parameters would I need to pass through the thankyou URL, for S2member pro forms to verify that a user has paid?

Posted: Saturday Jun 9th, 2012 at 5:33 pm #16083
Staff Member

Thanks for the follow-up.

Gotchya. So a little custom code will be needed in this scenario, before you actually make that Shortcode available to just anyone. From a very basic security standpoint, you could simply pass a query string into the Post or Page that contains that s2Member Shortcode, and then test for that query string before displaying the Shortcode.

Instructions:

1. First off. You’re going to need to install this plugin, so you can add small PHP code snippets into a WordPress Post or Page, and expect those to be parsed properly. This plugin is pretty simple, just install and that’s it.
http://wordpress.org/extend/plugins/exec-php/

2. Now you might edit the Post or Page where your Shortcode lives, by wrapping the Shortcode with some conditional logic. Here’s how you might go about it. This code would go right into your Post or Page editor.

<?php if(!empty($_GET&#91;'verification'&#93;)){ ?>
	[s2Member-Pro-AuthNet-Form register="1" level="1" ccaps="" desc="" custom="members.example.com" tp="0" tt="D" captcha="clean" /]
<?php } else { ?>
	Sorry, unable to verify your order.
<?php } ?>

So now, when you redirect the customer to the Post or Page on your WordPress site, where this Shortcode resides. A query string should be added onto the end of the URL, with the verification value.

http://www.example.com/register/?verification=xxxxxxxxxxxxxxx

Other considerations…

This is just a basic example to demonstrate how you might go about it. For obvious reasons, the value of $_GET[‘verification’] (i.e. the query string value), really needs to be verified in a more secure way. Otherwise, someone could type in ?verification=letmeregisterplease, and they’re in. If you have a way to connect with the other site, and perform a DB lookup to confirm that an order actually DID go through, that would work better for you. I’ve also seen site owners produce a hash, or use a combination of an order/transaction ID, and build a checksum verification value of some kind. It just depends on how security conscious you’d like to be.

The point here is… s2Member didn’t process the order, another shopping cart did that, and now s2Member is just being asked to facilitate registration. So custom code (something like you see above), will be needed.

Viewing 4 replies - 1 through 4 (of 4 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.