Re: Secpay error, but there isn't
Had a quick look at this and I 'think' that the problem lies in the before_process part of the code.
Its currently
function before_process() {
global $HTTP_GET_VARS, $_POST;
if ($HTTP_GET_VARS['code'] == 'A' && !empty($HTTP_GET_VARS['auth_code']) && empty($HTTP_GET_VARS['resp_code']) && !empty($HTTP_GET_VARS['zenid'])) {
// MUST CONTAIN YOUR DIGEST PASSWORD ESTABLISHED WITH SECPAY
// $DIGEST_PASSWORD = "secpay" ;
$DIGEST_PASSWORD = MODULE_PAYMENT_SECPAY_DIGEST ;
list($REQUEST_URI, $CHECK_SUM) = split("hash=", $_SERVER['REQUEST_URI']) ;
if ($HTTP_GET_VARS['hash'] != MD5($REQUEST_URI.$DIGEST_PASSWORD)) {
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_GET_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
}
else
{
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_GET_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
}
I think it should be;
function before_process() {
global $HTTP_GET_VARS, $_POST;
if ($HTTP_GET_VARS['code'] == 'A' && !empty($HTTP_GET_VARS['auth_code']) && empty($HTTP_GET_VARS['resp_code']) && !empty($HTTP_GET_VARS['zenid'])) {
// MUST CONTAIN YOUR DIGEST PASSWORD ESTABLISHED WITH SECPAY
// $DIGEST_PASSWORD = "secpay" ;
$DIGEST_PASSWORD = MODULE_PAYMENT_SECPAY_DIGEST ;
list($REQUEST_URI, $CHECK_SUM) = split("hash=", $_SERVER['REQUEST_URI']) ;
if ($HTTP_GET_VARS['hash'] != MD5($REQUEST_URI.$DIGEST_PASSWORD)) {
zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, zen_session_name() . '=' . $HTTP_GET_VARS[zen_session_name()] . '&payment_error=' . $this->code, 'SSL', false, false));
}
}
}
With the else clause removed as the else clause is asking it to show the error page even if the error condition isn't met.
Hope this helps.
Shifting old sites from osC
Starting all new sites in Zen
Bookmarks