Zmianie uległa suma kontrolna tworzonej transakcji "92: 'md5sum' => md5(implode('&',$tranferuj_md5sum))" - dodany & i potwierdzenie juz nie dziala.
public function cancel_order() { $cookie = cookie::get('sklep'); } $order = ORM::factory('order')->where('unique_id',(int)$this->uri->segment(3) )->find(); { if($order->status_id != 5) { $status_changes[] = array('status'=>ORM::factory('order_status')->find($order->status_id)->name,'date'=>date('Y-m-d H:i:s')); $order->status_id = 5; $order->transferuj_status = 'Zamówienie anulowane przez klienta.'; $order->save(); $_SESSION['msg']['info'] = 'Zamówienie zostało pomyślnie anulowane.'; $this->_send_email_about_canceling($this->uri->segment(3), $order->email); url::redirect('shop/order_form'); } $order->save(); } else $_SESSION['msg']['error'] == 'Zamówienie nie mogło być anulowane - błędne ID zamówienia lub próba naruszenia.'; url::redirect('shop/order_form'); } public function show_order_summary() { $tpl = new View('shop/show_order_summary'); { } $order = ORM::factory('order')->where('unique_id',$this->uri->segment(3))->find(); if($order->status_id != 1){//jezeli anulowana if($order->status_id == 5) $_SESSION['msg']['info'] = 'Zamówienie zostało anulowane'; else $_SESSION['msg']['info'] = 'Zamówienie jest w trakcie realizacji'; url::redirect('shop/show_order_summary/'.$this->uri->segment(3).'/cancelled'); } foreach ($product_info_summary as $product){ $amount_to_pay += $product['price_brutto']*$product['amount']; $payment_delivery = $product['payment_delivery']; } $amount_to_pay += $payment_delivery; $status = $this->uri->segment(4); $tpl->status = $status; if($status == 'ok') { $_SESSION['msg']['info'] = 'Transakcja wykonana pomyślnie.'; } elseif($status == 'error') { $_SESSION['msg']['error'] = 'Transakcja nie powiodła się.'; } { 'id' => $this->id_sprzedawcy, 'crc' => $crc, 'kod' => $this->kod_pomocniczny// kod potwierdyajacz sprzedawcy ); 'id' => $this->id_sprzedawcy,//ID sprzedawcy 'opis' => kohana::config('settings.cms.title.value'),//Opis transakcji 'crc' => $crc,//Ciag pomocniczy 'akceptuje_regulamin' => 'TRUE',// wartosc nieistatna 'wyn_url' => url::base().'shop/transferuj_receive_information/'.$this->uri->segment(3),//Adres URL powaiadomienia 'wyn_email' => kohana::config('settings.cms.shop_email.value'),//Adres mailowy powiadomienia kohana::config('settings.cms.email.value') 'opis_sprzed' => kohana::config('settings.cms.title.value'), 'pow_url' => url::base().'shop/show_order_summary/'.$this->uri->segment(3).'/ok',//Adres powrotny po wykonaniu transakcji z wynikiem poprawnym 'pow_url_blad' => url::base().'shop/show_order_summary/'.$this->uri->segment(3).'/error',//Adres powrotny po wykonaniu transakcji z wynikiem b?dnym (domy?nie j/w) 'pow_tekst' => 'Wróć do strony: '.kohana::config('settings.cms.short_title.value'),//Tekst na przycisku powrotnym 'email' => $order->email, 'nazwisko' => $order->lastname, 'imie' => $order->firstname, 'adres' => $order->address, 'miasto' => $order->city, 'kod' => $order->zipcode, 'kraj' => 'Polska', 'telefon' => $order->phone ); } //unset($_SESSION['shop']); $tpl->transferuj_data = $transferuj_data; $tpl->order = $order; $tpl->product_info_summary = $product_info_summary; $tpl->transferuj_ip_address = $this->transferuj_ip_address; $tpl->transferuj_address = $this->transferuj_address; $this->template->content .= $tpl->render(); } public function show_basket()//realized by ajax { $this->auto_render = false; $tpl = view::factory('shop/mini_basket'); $tpl->shop_basket = $_SESSION['shop']['basket']; return $tpl->render(); } public function remove_from_basket() { $this->auto_render = false; } public function _validate_postcode(Validation $array, $field) { $array->add_error($field, 'postcode'); } public function _string_must_not_be_number(Validation $array, $field) { $array->add_error($field, 'string_must_not_be_number'); } public function transferuj_receive_information() { $this->build_body = false; $order_unique_id = $this->uri->segment(3); //if(!$order_unique_id) // echo 'Błąd - błędny nr zamówienia. '; 'id', 'tr_status', 'tr_id', 'tr_amount' , 'md5sum', 'tr_paid', 'tr_error', 'tr_date', 'tr_desc', 'tr_email' );// tylko zeby wiedziec jakie pola przesyla $order = ORM::factory('order')->where('unique_id',$order_unique_id)->find(); { $post = $_POST; if($post['md5sum'] != md5($post['id'].$post['tr_id'].$post['tr_amount'].$post['tr_crc'].$this->kod_pomocniczny)) { $order->transferuj_status = 'BŁĄD'; $order->transferuj_transaction_id = $post['tr_id']; $order->paid_amount = $post['tr_paid']; $order->transferuj_error = 'Błąd transakcji: niepoprawna suma MD5 - próba naruszenia'; $order->save(); }else { // sprawdzenie stanu transakcji if($post['tr_status'] =='TRUE' && $post['tr_error']=='none') { $order->transferuj_status = 'OK'; $order->transferuj_transaction_id = $post['tr_id']; $order->paid_amount = $post['tr_paid']; $order->transferuj_error = 'Sukces'; $order->save(); } elseif($post['tr_status'] =='TRUE' && $post['tr_error'] == 'overpay') { $order->transferuj_status = $post['tr_error']; $order->transferuj_transaction_id = $post['tr_id']; $order->paid_amount = $post['tr_paid']; $order->transferuj_error = 'Ostrzeżenie - '.$post['tr_error'].' (nadpłata)'; $order->save(); } elseif($post['tr_status'] =='TRUE' && $post['tr_error'] == 'surcharge') { $order->transferuj_status = $post['tr_error']; $order->transferuj_transaction_id = $post['tr_id']; $order->paid_amount = $post['tr_paid']; $order->transferuj_error = 'Ostrzeżenie - '.$post['tr_error'].' (niedopłata)'; $order->save(); } elseif($post['tr_status'] =='FALSE') { $order->transferuj_status = 'BŁĄD'; $order->save(); } } } }