diff --git a/src/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php b/src/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php
index 0db440a4..35de86c8 100644
--- a/src/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php
+++ b/src/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php
@@ -168,8 +168,12 @@ public static function authnet_sp_checkout ()
$global_response = array("response" => sprintf (_x ('Thank you. Your purchase has been approved.
— Please click here to proceed.', "s2member-front", "s2member"), esc_attr ($sp_access_url)));
- if ($post_vars["attr"]["success"] && substr ($ipn["s2member_authnet_proxy_return_url"], 0, 2) === substr ($post_vars["attr"]["success"], 0, 2) && ($custom_success_url = str_ireplace (array("%%s_response%%", /* Deprecated in v111106 ». */ "%%response%%"), array(urlencode (c_ws_plugin__s2member_utils_encryption::encrypt ($global_response["response"])), urlencode ($global_response["response"])), $ipn["s2member_authnet_proxy_return_url"])) && ($custom_success_url = trim (preg_replace ("/%%(.+?)%%/i", "", $custom_success_url))))
+ if ($post_vars["attr"]["success"]
+ && (substr($ipn['s2member_authnet_proxy_return_url'], 0, 2) === substr($post_vars['attr']['success'], 0, 2) || stripos($ipn['s2member_authnet_proxy_return_url'], 'http') === 0)
+ && ($custom_success_url = str_ireplace (array("%%s_response%%", /* Deprecated in v111106 ». */ "%%response%%"), array(urlencode (c_ws_plugin__s2member_utils_encryption::encrypt ($global_response["response"])), urlencode ($global_response["response"])), $ipn["s2member_authnet_proxy_return_url"]))
+ && ($custom_success_url = trim (preg_replace ("/%%(.+?)%%/i", "", $custom_success_url)))) {
wp_redirect(c_ws_plugin__s2member_utils_urls::add_s2member_sig ($custom_success_url, "s2p-v")) . exit ();
+ }
}
else // Else, unable to generate Access Link.
{
diff --git a/src/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php b/src/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php
index c131cff6..d0cc8936 100644
--- a/src/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php
+++ b/src/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php
@@ -287,8 +287,12 @@ public static function sp_checkout()
$global_response = array("response" => sprintf(_x('Thank you. Your purchase has been approved.
— Please click here to proceed.', "s2member-front", "s2member"), esc_attr($sp_access_url)));
- if($post_vars["attr"]["success"] && substr($ipn["s2member_paypal_proxy_return_url"], 0, 2) === substr($post_vars["attr"]["success"], 0, 2) && ($custom_success_url = str_ireplace(array("%%s_response%%", /* Deprecated in v111106 ». */ "%%response%%"), array(urlencode(c_ws_plugin__s2member_utils_encryption::encrypt($global_response["response"])), urlencode($global_response["response"])), $ipn["s2member_paypal_proxy_return_url"])) && ($custom_success_url = trim(preg_replace("/%%(.+?)%%/i", "", $custom_success_url))))
+ if($post_vars["attr"]["success"]
+ && (substr($ipn['s2member_paypal_proxy_return_url'], 0, 2) === substr($post_vars['attr']['success'], 0, 2) || stripos($ipn['s2member_paypal_proxy_return_url'], 'http') === 0)
+ && ($custom_success_url = str_ireplace(array("%%s_response%%", /* Deprecated in v111106 ». */ "%%response%%"), array(urlencode(c_ws_plugin__s2member_utils_encryption::encrypt($global_response["response"])), urlencode($global_response["response"])), $ipn["s2member_paypal_proxy_return_url"]))
+ && ($custom_success_url = trim(preg_replace("/%%(.+?)%%/i", "", $custom_success_url)))) {
wp_redirect(c_ws_plugin__s2member_utils_urls::add_s2member_sig($custom_success_url, "s2p-v")).exit();
+ }
}
else // Else, unable to generate Access Link.
{
diff --git a/src/includes/classes/gateways/stripe/stripe-sp-checkout-in.inc.php b/src/includes/classes/gateways/stripe/stripe-sp-checkout-in.inc.php
index c230bcef..72d48353 100644
--- a/src/includes/classes/gateways/stripe/stripe-sp-checkout-in.inc.php
+++ b/src/includes/classes/gateways/stripe/stripe-sp-checkout-in.inc.php
@@ -154,7 +154,7 @@ public static function stripe_sp_checkout()
{
$global_response = array('response' => sprintf(_x('Thank you. Your purchase has been approved.
— Please click here to proceed.', 's2member-front', 's2member'), esc_attr($sp_access_url)));
- if($post_vars['attr']['success'] && substr($ipn['s2member_stripe_proxy_return_url'], 0, 2) === substr($post_vars['attr']['success'], 0, 2)
+ if($post_vars['attr']['success'] && (substr($ipn['s2member_stripe_proxy_return_url'], 0, 2) === substr($post_vars['attr']['success'], 0, 2) || stripos($ipn['s2member_stripe_proxy_return_url'], 'http') === 0)
&& ($custom_success_url = str_ireplace(array('%%s_response%%', '%%response%%'), array(urlencode(c_ws_plugin__s2member_utils_encryption::encrypt($global_response['response'])), urlencode($global_response['response'])), $ipn['s2member_stripe_proxy_return_url']))
&& ($custom_success_url = trim(preg_replace('/%%(.+?)%%/i', '', $custom_success_url)))
) wp_redirect(c_ws_plugin__s2member_utils_urls::add_s2member_sig($custom_success_url, 's2p-v')).exit ();