Exemple #1
0
 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;
 }