/** * */ public function before_process() { global $messageStack; $sagepay_return_data = SagepayUtil::decodeAndDecrypt($_GET['crypt'], MODULE_PAYMENT_SAGEPAY_ZC_FORM_PASSWORD); $this->errorLog(array(array('title' => 'Response Data', 'content' => $sagepay_return_data))); $this->sagepayResponse = SagepayUtil::getResponseTokens($sagepay_return_data); $status = $this->sagepayResponse['Status']; if (in_array($status, array('OK', 'REGISTERED', 'AUTHENTICATED'))) { return; } $error_message = $this->getResponseErrorMessage($this->sagepayResponse['Status']); $payment_error_return = 'ERROR ' . sprintf($error_message, $this->sagepayResponse['StatusDetail']); $this->errorLog(array(array('title' => 'Response Values', 'content' => implode("\n", $this->sagepayResponse)))); $messageStack->add_session('checkout_payment', $payment_error_return, 'error'); zen_redirect(zen_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL', true, false)); }