When using a payment gateway that requires SSL; upon moving to checkout the browser is stuck in a redirect loop.
You may receive an error similar to:
The page isn't loading properly. Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
This webpage has a redirect loop ERR_TOO_MANY_REDIRECTS
Too many redirects occurred trying to open “https://example.com/checkout/”. This might occur if you open a page that is redirected to open another page which then is redirected to open the original page.
Cannot display the web page.
note: Some versions of Internet Explorer will continuously loop without displaying error
Some hosting environments do not declare that they are running securely in a standard way (or at all in some cases). This will cause issues with the is_ssl() to not be set properly. Shopp see’s that SSL is required and then checks for SSL. If is_ssl() is not set, Shopp will attempt to redirect to HTTPS. Thus creating a loop.
The current “proper” workaround for this is adding the following to your wp-config.php:
$_SERVER['HTTPS'] = $_SERVER['SSL'];
note: wp-config.php is located in the base directory of your WordPress installation.
This will allow is_ssl() to work properly. The need for this particular fix is due to some circumstances where is_ssl() is called before hooks are available.