Raport - CALIVITA - Sklep Dystrybutora - NATURALNE SUPLEMENTY - 25 lat {literal}
Ta strona używa plików cookie w celu usprawnienia i ułatwienia dostępu do serwisu oraz prowadzenia danych statystycznych. Dalsze korzystanie z tej witryny oznacza akceptację tego stanu rzeczy.
Polityka PrywatnoÅ›ci    AKCEPTUJĘ
{/literal}

Hity CaliVity

        

    Polinesian Noni

      

         Ocean 21 

    

       ParaProtex

     

       AC-Zymes

      

         Nopalin

        

         OxyMax

 

Suplementy Calivita

Raport

false,'message' => 'błędny numer POS'); //--- bledny numer POS $sig = md5($parts[1].$parts[2].$parts[3].$parts[5].$parts[4].$parts[6].$parts[7].PLATNOSCI_KEY2); if ($parts[8] != $sig) return array('code' => false,'message' => 'błędny podpis'); //--- bledny podpis switch ($parts[5]) { case 1: return array('code' => $parts[5], 'message' => 'nowa'); break; case 2: return array('code' => $parts[5], 'message' => 'anulowana'); break; case 3: return array('code' => $parts[5], 'message' => 'odrzucona'); break; case 4: return array('code' => $parts[5], 'message' => 'rozpoczęta'); break; case 5: return array('code' => $parts[5], 'message' => 'oczekuje na odbiór'); break; case 6: return array('code' => $parts[5], 'message' => 'autoryzacja odmowna'); break; case 7: return array('code' => $parts[5], 'message' => 'płatno¶ć odrzucona'); break; case 99: return array('code' => $parts[5], 'message' => 'płatno¶ć odebrana - zakończona'); break; case 888: return array('code' => $parts[5], 'message' => 'błędny status'); break; default: return array('code' => false, 'message' => 'brak statusu'); break; } } if(!isset($_POST['pos_id']) || !isset($_POST['session_id']) || !isset($_POST['ts']) || !isset($_POST['sig'])) die('ERROR: EMPTY PARAMETERS'); //-- brak wszystkich parametrow if ($_POST['pos_id'] != PLATNOSCI_POS_ID) die('ERROR: WRONG POS ID'); //--- błędny numer POS $sig = md5( $_POST['pos_id'] . $_POST['session_id'] . $_POST['ts'] . PLATNOSCI_KEY2); if ($_POST['sig'] != $sig) die('ERROR: WRONG SIGNATURE'); //--- błędny podpis $ts = time(); $sig = md5( PLATNOSCI_POS_ID . $_POST['session_id'] . $ts . PLATNOSCI_KEY1); $parameters = "pos_id=" . PLATNOSCI_POS_ID . "&session_id=" . $_POST['session_id'] . "&ts=" . $ts . "&sig=" . $sig; $fsocket = false; $curl = false; $result = false; if ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen('ssl://' . $server, 443, $errno, $errstr, 30)) ) { $fsocket = true; } elseif (function_exists('curl_exec')) { $curl = true; } if ($fsocket == true) { $header = 'POST ' . $server_script . ' HTTP/1.0' . "rn" . 'Host: ' . $server . "rn" . 'Content-Type: application/x-www-form-urlencoded' . "rn" . 'Content-Length: ' . strlen($parameters) . "rn" . 'Connection: close' . "rnrn"; @fputs($fp, $header . $parameters); $platnosci_response = ''; while (!@feof($fp)) { $res = @fgets($fp, 1024); $platnosci_response .= $res; } @fclose($fp); } elseif ($curl == true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://" . $server . $server_script); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $platnosci_response = curl_exec($ch); curl_close($ch); } else { die("ERROR: No connect method ...n"); } if (eregi(".*([0-9]*).*(.*).*(.*).*([0-9]*).*([0-9]*).*(.*).*([0-9]*).*([a-z0-9]*).*", $platnosci_response, $parts)) $result = get_status($parts); if ( $result['code'] ) { //--- rozpoznany status transakcji $pos_id = $parts[1]; $session_id = $parts[2]; $order_id = $parts[3]; $amount = $parts[4]; //-- w groszach $status = $parts[5]; $desc = $parts[6]; $ts = $parts[7]; $sig = $parts[8]; /* TODO: zmiana statusu transakcji w systemie Sklepu */ /* przykladowo: if ( $result['code'] == '99' ) { if ( rozliczamy_zamowienie_srodki_wplynely ) { // udalo sie zapisac dane wiec odsylamy OK echo "OK"; exit; } } else if ( $result['code'] == '2' ) { // transakcja anulowana mozemy również anulować zamowienie } else { // inne akcje } */ // jezeli wszytskie operacje wykonane poprawnie wiec odsylamy ok // w innym przypadku należy wygenerować bł±d // if ( wszystko_ok ) { echo "OK"; exit; // } else { // // } } else { /* TODO: obsługa powiadamiania o błędnych statusach transakcji*/ echo "ERROR: Blad danych ....n"; echo "code=" . $result['code'] . " message=" . $result['message'] . "n"; echo $platnosci_response; // powiadomienie bedzie wysłane ponownie przez platnosci.pl // ewentualnie dodajemy sobie jakis wpis do logow ... } ?>

Komentarze