function __signature($amount, $order, $code, $currency, $clave) { $sha = new SHA(); $message = $amount . $order . $code . $currency . $clave; $digest1 = $sha->hash_string($message); $signature = strtoupper($sha->hash_to_string($digest1)); return $signature; }
public function after_extern_process() { global $temp_orders_id; if (isset($_GET['SHASIGN'])) { include DIR_WS_CLASSES . 'sha.php'; $get_params = array(); foreach ($_GET as $key => $value) { if ($key != 'SHASIGN' && $key != 'force_checkout_step' && $key != 'customer_id' && $key != 'osCsid' && trim($value) != '') { $get_params[strtoupper($key)] = $value; } } ksort($get_params); $temp_data = Checkout::get_all_data_from_temp_db($temp_orders_id); $hash_string = ''; foreach ($get_params as $key => $value) { $hash_string .= strtoupper($key) . '=' . $value . $this->instances[$temp_data[$temp_orders_id]['orders']['payment_method']]['sha_string']; } $sha = new SHA(); $hasharray = $sha->hash_string($hash_string); $hash = strtoupper($sha->hash_to_string($hasharray)); if ($_GET['SHASIGN'] != $hash) { //wrong ogone parameters $this->errors[$temp_data[$temp_orders_id]['orders']['payment_method']] = Translate('Er is iets fout gelopen bij de afhandeling van uw betaling. Contacteer ons voor meer uitleg.'); } $_GET['force_checkout_step'] = Checkout::get_step_for_type($this->type); $_POST['checkout_step'] = Checkout::last_active_step(); } return; }