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 ();