Updating an old installation
Maybe you haven’t updated s2Member in many months, or years even, and many versions were released since the one you're using. That’d a big jump in versions and there could be trouble when you update to the latest.
Here are some recommended steps you may want to consider:
– Make sure you have s2Member’s Deactivation Safeguards enabled. This wasn’t always enabled by default, and your installation may be old enough that it’s disabled. Dashboard -› s2Member -› General Options -› Deactivation Safeguards
– Create a backup of everything in your site (e.g. files, database).
– Check that your server is ready for the latest s2Member. The latest release may require some things that the old one didn’t. Use our server scanner find any issues and follow the suggestions given to solve them. See: Knowledge Base » s2Member Server Scanner
– Clone the live site to have a development copy you can work on and break without affecting your customers during your tests. See:
– If you have trouble updating straight to the latest release, then try doing the updates little by little. Keep notes of the steps you take so you can reproduce them later in the live site after you succeed. Here you can find previous releases:
– As part of your tests, remember to review the site to make sure everything is working correctly. There may be conflicts with other plugins or your theme, that weren’t there before. See: Troubleshooting Tips
– Once you succeed updating the dev copy to the latest version and have everything working fine, make a new backup of the live site and take the same successful steps there to update s2Member to the latest release.
If you don’t know how to do one or more of these steps, you may want to google it, or get someone to do it for you. You can find freelancers in sites like jobs.wordpress.net, freelancer.com, upwork.com or elance.com.
Blank page, 414 error, request URI too long
If you’re getting a blank page when redirected to the Membership Options Page, when returning from the payment gateway, or some other long URL, you may be getting a 414 error: Request URI too long. http://www.checkupdown.com/status/E414.html
What you need to do is contact your web host so they raise the limit for your website/account.
s2Member has a few URLs that can be quite long, and you need these to work or you’ll have trouble with some checkouts or redirections.
Adding a payment gateway
s2Member integrates with PayPal Standard, and the s2Member Pro add-on adds a few other payment gateways/services. See: http://s2member.com/features/
If you see that the payment gateway you want is supported by s2Member Pro and you don’t have it yet, go get it here: http://s2member.com/prices/
If you want s2Member to work with a payment gateway not listed there, find out if the payment gateway you want has an integration with s2Member, maybe they already did.
If they haven’t, you could ask them for it, create it yourself, or get a developer to do it for you. You can find freelancers in sites like jobs.wordpress.net, freelancer.com, elance.com or upwork.com.
These may be useful to create the integration:
WP Admin -› s2Member -› PayPal Options -› PayPal IPN Integration -> Proxy Key
WP Admin -› s2Member -› API / Scripting -› Remote Operations API
WP Admin -› s2Member -› API / Notifications
The Remote Operations API currently makes possible from a script outside of WordPress, to create a new user, authenticate an existing user, retrieve data from his account, update his account or delete it.
Or look at how one of the s2Member Pro payment gateways works and use it as a starting point for yours.
Keep in mind that if you don’t do a full integration, following the way the other ones have been done, you may have some limitations that you need to overcome or at least be aware of.
The one I know will happen if you use the PayPal IPN with proxy key, is that it’ll only work for new signups, not upgrades of existing users, because the user ID is not being referenced.
So it’s best to study an existing integration and emulate it to take advantage of all the features.