コード例 #1
0
ファイル: order.php プロジェクト: kostiukoleg/all4web.loc
 /**
  * Полученнияе массива параметров оплаты.
  * @param int $pay - id способа оплаты.
  * @return array параметры оплаты.
  */
 public function getParamArray($pay, $orderId, $summ)
 {
     $paramArray = array();
     $jsonPaymentArray = json_decode(nl2br($this->_paymentArray[$pay]['paramArray']), true);
     if (!empty($jsonPaymentArray)) {
         foreach ($jsonPaymentArray as $paramName => $paramValue) {
             $paramArray[] = array('name' => $paramName, 'value' => $paramValue);
         }
         if (5 == $pay) {
             // Для robokassa добавляем сигнатуру.
             $paramArray['sign'] = md5($paramArray[0]['value'] . ":" . $summ . ":" . $orderId . ":" . $paramArray[1]['value']);
         }
         if (9 == $pay) {
             // Для payanyway добавляем сигнатуру.
             $summ = sprintf("%01.2f", $summ);
             $currency = MG::getSetting('currencyShopIso') == "RUR" ? "RUB" : MG::getSetting('currencyShopIso');
             $testmode = 0;
             $paramArray['sign'] = md5($paramArray[0]['value'] . $orderId . $summ . $currency . $testmode . $paramArray[1]['value']);
         }
         if (15 == $pay) {
             $model = new Models_Order();
             $summ = sprintf("%01.2f", $summ);
             $order = $model->getOrder(' id = ' . DB::quote($orderId, true));
             $payment = 'amt=' . $summ . '&ccy=UAH&details=заказ на ' . SITE . '&ext_details=' . $order[$orderId]['number'] . '&pay_way=privat24&order=' . $orderId . '&merchant=' . $paramArray[0]['value'];
             $paramArray['sign'] = sha1(md5($payment . $paramArray[1]['value']));
         }
     }
     return $paramArray;
 }
コード例 #2
0
ファイル: order.php プロジェクト: kostiukoleg/all4web.loc
 /**
  * Возвращает сообщение о статусе заказа "Подтвержден".
  * @param type $pay - id заказа.
  * @return mixed - сообщение и email пользователя.
  */
 public function confirmOrder($id)
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Информация о заказе по переданному id.
     $orderInfo = $model->getOrder('`' . PREFIX . 'order`.id = "' . $id . '"');
     $hash = URL::getQueryParametr('sec');
     // Информация о пользователе, сделавший заказ .
     $orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
     // Если присланный хэш совпадает с хэшом из БД для соответствующего id.
     if ($orderInfo[$id]['confirmation'] == $hash) {
         if ($orderInfo[$id]['hash'] == '') {
             $msg = 'Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
         } else {
             $msg = 'Следить за статусом заказа Вы можете по ссылке <br> ' . '<a href="' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '">' . SITE . '/order?hash=' . $orderInfo[$id]['hash'] . '</a>';
         }
         // Если статус заказа "Не подтвержден".
         if (0 == $orderInfo[$id]['status_id']) {
             // Подтверждаем заказ.
             $orderStatus = 1;
             // если оплата выбрана наложенным платежём, то статус заказа изменяем на "в доставке"
             if ($orderInfo[$id]['payment_id'] == 3) {
                 $orderStatus = 3;
             }
             $model->sendStatusToEmail($id, $orderStatus);
             $model->setOrderStatus($id, $orderStatus);
             $orderNumber = $orderInfo[$id]['number'];
             $orderId = $id;
             $msg = 'Ваш заказ №' . $orderNumber . ' подтвержден и передан на обработку. <br>
       ' . $msg;
         } else {
             $msg = 'Заказ уже подтвержден и находится в работе. <br>
       ' . $msg;
         }
         if (!$orderUser->activity) {
             $userEmail = $orderUser->email;
             $_SESSION['id'] = $orderUser->id;
         }
     } else {
         $msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
     }
     $result = array('msg' => $msg, 'userEmail' => $userEmail);
     return $result;
 }
コード例 #3
0
ファイル: actioner.php プロジェクト: WinGood/24karcher
 /**
  * Получает параметры заказа
  */
 public function getOrderData()
 {
     $model = new Models_Order();
     $orderData = $model->getOrder(" id = " . DB::quote($_POST['id']));
     $orderData = $orderData[$_POST['id']];
     if ($orderData['number'] == '') {
         $orderData['number'] = $orderData['id'];
         DB::query("UPDATE `" . PREFIX . "order` SET `number`= " . DB::quote($orderData['number']) . " WHERE `id`=" . DB::quote($orderData['id']) . "");
     }
     $orderData['yur_info'] = unserialize(stripslashes($orderData['yur_info']));
     $orderData['order_content'] = unserialize(stripslashes($orderData['order_content']));
     // Запрос для проверки, существует ли система скидок
     $percent = false;
     $discountSyst = false;
     $res = DB::query('SELECT * FROM `' . PREFIX . 'plugins` WHERE `folderName` = "discount-system"');
     $act = DB::fetchArray($res);
     $result = DB::query('SHOW TABLES LIKE "' . PREFIX . 'discount-system%"');
     if (DB::numRows($result) == 2 && $act['active']) {
         $percent = 0;
         $discountSyst = true;
     }
     if (!empty($orderData['order_content'])) {
         $product = new Models_Product();
         foreach ($orderData['order_content'] as &$item) {
             foreach ($item as &$v) {
                 $v = rawurldecode($v);
             }
         }
         foreach ($orderData['order_content'] as &$items) {
             $res = $product->getProduct($items['id']);
             $items['image_url'] = $res['image_url'];
             $items['property'] = htmlspecialchars_decode(str_replace('&amp;', '&', $items['property']));
             $response['discount'] = $items['discount'];
             $percent = $items['discount'];
             $items['maxCount'] = $res['count'];
             $variants = DB::query("SELECT `id`, `count` FROM `" . PREFIX . "product_variant`\n                  WHERE `product_id`=" . DB::quote($items['id']) . " AND `code`=" . DB::quote($items['code']));
             if ($variant = DB::fetchAssoc($variants)) {
                 $items['variant'] = $variant['id'];
                 $items['maxCount'] = $variant['count'];
             }
         }
     }
     //заменить на получение скидки
     $codes = array();
     // Запрос для проверки , существуют ли промокоды.
     $result = DB::query('SHOW TABLES LIKE "' . PREFIX . 'promo-code"');
     if (DB::numRows($result)) {
         $res = DB::query('SELECT * FROM `' . PREFIX . 'plugins` WHERE `folderName` = "promo-code"');
         $act = DB::fetchArray($res);
         if ($act['active']) {
             $res = DB::query('SELECT code, percent FROM `' . PREFIX . 'promo-code` 
       WHERE invisible = 1 
       AND now() >= `from_datetime`
       AND now() <= `to_datetime`');
             while ($code = DB::fetchAssoc($res)) {
                 $codes[] = $code['code'];
                 if ($code['code'] == $orderData['order_content'][0]['coupon']) {
                     $percent = $percent == 0 ? $code['percent'] : $percent;
                 }
             }
         }
     }
     $response['order'] = $orderData;
     $response['order']['discountsSystem'] = $discountSyst;
     $response['order']['discontPercent'] = $percent;
     $response['order']['promoCodes'] = $codes;
     $response['order']['date_delivery'] = $orderData['date_delivery'] ? date('d.m.Y', strtotime($orderData['date_delivery'])) : '';
     $deliveryArray = $model->getDeliveryMethod();
     $response['deliveryArray'] = $deliveryArray;
     $paymentArray = array();
     $i = 1;
     while ($payment = $model->getPaymentMethod($i)) {
         $paymentArray[$i] = $payment;
         $i++;
     }
     $response['paymentArray'] = $paymentArray;
     $this->data = $response;
     return true;
 }
コード例 #4
0
ファイル: index.php プロジェクト: WinGood/24karcher
 /**
  * При добавлении нового заказа проверям, нет ли партнерской куки.
  */
 static function partnerToOrder($arg)
 {
     $partnerId = self::getPartnerCookie();
     $partner = self::getPartner(self::getPartnerCookie($partnerId));
     $orderId = $arg['result'];
     if (!empty($partner) && $orderId) {
         $model = new Models_Order();
         $order = $model->getOrder(PREFIX . 'order.id=' . $orderId);
         $summ = $partner['percent'] * $order[$orderId]['summ'] / 100;
         self::addConnetcToPartner($partnerId, $orderId, $partner['percent'], $summ);
     }
     return $arg['result'];
 }
コード例 #5
0
ファイル: personal.php プロジェクト: WinGood/24karcher
 function __construct()
 {
     $lang = MG::get('lang');
     $settings = MG::get('settings');
     $this->lang = $lang;
     $status = 0;
     if (User::isAuth()) {
         $order = new Models_Order();
         $status = 3;
         //обработка запроса на изменение данных пользователя
         if (URL::getQueryParametr('userData')) {
             $customer = URL::getQueryParametr('customer');
             $userData = array('name' => URL::getQueryParametr('name'), 'sname' => URL::getQueryParametr('sname'), 'address' => URL::getQueryParametr('address'), 'phone' => URL::getQueryParametr('phone'), 'nameyur' => $customer == 'yur' ? URL::getQueryParametr('nameyur') : '', 'adress' => $customer == 'yur' ? URL::getQueryParametr('adress') : '', 'inn' => $customer == 'yur' ? URL::getQueryParametr('inn') : '', 'kpp' => $customer == 'yur' ? URL::getQueryParametr('kpp') : '', 'bank' => $customer == 'yur' ? URL::getQueryParametr('bank') : '', 'bik' => $customer == 'yur' ? URL::getQueryParametr('bik') : '', 'ks' => $customer == 'yur' ? URL::getQueryParametr('ks') : '', 'rs' => $customer == 'yur' ? URL::getQueryParametr('rs') : '');
             if (USER::update(User::getThis()->id, $userData)) {
                 $message = 'Данные успешно сохранены';
             } else {
                 $error = 'Не удалось сохранить данные ' . $this->_newUserData['sname'];
             }
         }
         // Обработка запроса на изменения пароля.
         if (URL::getQueryParametr('chengePass')) {
             if (USER::auth(User::getThis()->email, URL::getQueryParametr('pass'))) {
                 $person = new Models_Personal();
                 $message = $person->changePass(URL::getQueryParametr('newPass'), User::getThis()->id);
             } else {
                 $error = 'Неверный пароль';
             }
         }
         // Обработка запроса на изменения способа оплаты.
         if (URL::getQueryParametr('changePaymentId')) {
             $order = new Models_Order();
             $status = $order->updateOrder(array('payment_id' => $_POST['changePaymentId'], 'id' => $_POST['orderId']));
             $result = array('status' => $status, 'comment' => 2, 'orderStatus' => 3);
             echo json_encode($result);
             MG::disableTemplate();
             exit;
         }
         // Обработка AJAX запроса на закрытие заказа.
         if (URL::getQueryParametr('delOK')) {
             $comment = 'Отменено покупателем, по причине <br>"' . URL::getQueryParametr('comment') . '"';
             // Пересчитываем остатки продуктов из заказа.
             $orderModel = new Models_Order();
             $orderModel->refreshCountProducts(URL::getQueryParametr('delID'), 4);
             $res = DB::query('
       UPDATE `' . PREFIX . 'order`
       SET close_date = now(), status_id = 4, comment = "%s"
       WHERE id = %d AND user_email = "%s"', $comment, URL::getQueryParametr('delID'), User::getThis()->email);
             if ($res) {
                 $status = true;
             }
             if ($comment) {
                 $comm = "<b>Комментарий: " . $comment . "</b>";
             }
             $result = array('status' => $status, 'comment' => $comm, 'orderStatus' => $lang[$order->getOrderStatus(array('status_id' => 4))]);
             $orderModel->sendMailOfUpdateOrder(URL::getQueryParametr('delID'));
             echo json_encode($result);
             MG::disableTemplate();
             exit;
         }
         // Отображение данных пользователя.
         $orderArray = $order->getOrder('user_email = "' . User::getThis()->email . '"', TRUE);
         if (is_array($orderArray)) {
             foreach ($orderArray as $orderId => $orderItems) {
                 $orderArray[$orderId]['string_status_id'] = $order->getOrderStatus($orderItems);
                 $paymentArray = $order->getPaymentMethod($orderItems['payment_id']);
                 $orderArray[$orderId]['name'] = $paymentArray['name'];
                 $orderArray[$orderId]['paided'] = $order->getPaidedStatus($orderItems);
             }
         }
         if (!User::getThis()->activity) {
             $status = 2;
             unset($_SESSION['user']);
         }
         if (User::getThis()->blocked) {
             $status = 1;
             unset($_SESSION['user']);
         }
         $paymentList = $order->getPaymentBlocksMethod();
     } else {
         MG::redirect('/enter');
     }
     $this->data = array('error' => !empty($error) ? $error : '', 'message' => !empty($message) ? $message : '', 'status' => !empty($status) ? $status : '', 'userInfo' => User::getThis(), 'orderInfo' => !empty($orderArray) ? $orderArray : '', 'currency' => $settings['currency'], 'paymentList' => $paymentList, 'meta_title' => 'Личный кабинет', 'meta_keywords' => !empty($model->currentCategory['meta_keywords']) ? $model->currentCategory['meta_keywords'] : "заказы,личные данные, личный кабинет", 'meta_desc' => !empty($model->currentCategory['meta_desc']) ? $model->currentCategory['meta_desc'] : "В личном кабинете нашего сайта вы сможете отслеживать состояние заказов и менять свои данные");
 }
コード例 #6
0
ファイル: payment.php プロジェクト: WinGood/24karcher
 public function privat24($paymentID, $paymentStatus)
 {
     $order = new Models_Order();
     if ('result' == $paymentStatus && isset($_POST)) {
         $payment = $_POST['payment'];
         if ($payment) {
             $payment_array = array();
             parse_str($payment, $payment_array);
             $state = trim($payment_array['state']);
             $paymentOrderId = trim($payment_array['order']);
             $orderNumber = trim($payment_array['ext_details']);
             $paymentAmount = trim($payment_array['amt']);
             switch ($state) {
                 case 'not found':
                     $msg = "Платеж не найден";
                     return $msg;
                     break;
                 case 'fail':
                     $msg = "Ошибка оплаты";
                     return $msg;
                     break;
                 case 'incomplete':
                     $msg = "Пользователь не подтвердил оплату";
                     return $msg;
                     break;
                 case 'wait':
                     $msg = "Платеж в ожидании";
                     return $msg;
                     break;
             }
             if (empty($paymentOrderId)) {
                 $msg = "Оплата не удалась";
                 return $msg;
             }
             if (!empty($paymentAmount) && !empty($paymentOrderId)) {
                 $orderInfo = $order->getOrder(" id = " . DB::quote($paymentOrderId, 1));
                 $paymentInfo = $order->getParamArray($paymentID, $paymentOrderId, $orderInfo[$paymentOrderId]['summ']);
                 $merchant = $paymentInfo[0]['value'];
                 $pass = $paymentInfo[1]['value'];
             }
             if (empty($orderInfo)) {
                 $msg = "ERR: НЕКОРРЕКТНЫЕ ДАННЫЕ ЗАКАЗА";
                 return $msg;
             }
             $amt = round($orderInfo[$paymentOrderId]['summ'], 2) + round($orderInfo[$paymentOrderId]['delivery_cost'], 2);
             $payment = 'amt=' . $amt . '&ccy=UAH&details=заказ на ' . SITE . '&ext_details=' . $orderNumber . '&pay_way=privat24&order=' . $paymentOrderId . '&merchant=' . $merchant;
             $signature = sha1(md5($payment . $pass));
             $paymentSignatureString = 'amt=' . round($payment_array['amt'], 2) . '&ccy=' . $payment_array['ccy'] . '&details=' . $payment_array['details'] . '&ext_details=' . $payment_array['ext_details'] . '&pay_way=' . $payment_array['pay_way'] . '&order=' . $payment_array['order'] . '&merchant=' . $payment_array['merchant'];
             $paymentSignature = sha1(md5($paymentSignatureString . $pass));
             if ($paymentSignature !== $signature) {
                 $msg = "Подписи не совпадают!";
                 return $msg;
             }
             $this->actionWhenPayment(array('paymentOrderId' => $paymentOrderId, 'paymentAmount' => $paymentAmount, 'paymentID' => $paymentID));
             $msg = 'Вы успешно оплатили заказ №' . $orderInfo[$paymentOrderId]['id'];
             $msg .= $this->msg;
         } else {
             $msg = 'Оплата не удалась';
         }
     } else {
         $msg = 'Оплата не удалась';
     }
     return $msg;
 }
コード例 #7
0
    /**
     * Запрос заказов
     */
    public function query()
    {
        $orderModel = new Models_Order();
        $ordersArr = $orderModel->getOrder('`updata_date`>`1c_last_export`');
        $listModifyOrderId = '0';
        $nXML = '<?xml version="1.0" encoding="utf-8"?>
<КоммерческаяИнформация ВерсияСхемы="2.04" ДатаФормирования="' . date('Y-m-d') . '">
';
        $xml = new XMLWriter();
        $xml->openMemory();
        $xml->setIndent(true);
        foreach ($ordersArr as $order) {
            $xml->startElement("Документ");
            $xml->writeElement("Ид", $order['number']);
            $listModifyOrderId .= ',' . $order['id'];
            $xml->writeElement("Номер", $order['number']);
            $xml->writeElement("Дата", date('Y-m-d'));
            $xml->writeElement("ХозОперация", 'Заказ товара');
            $xml->writeElement("Роль", 'Продавец');
            $xml->writeElement("Валюта", 'руб');
            $xml->writeElement("Курс", 1);
            $xml->writeElement("Сумма", $order['summ']);
            $xml->startElement("Контрагенты");
            $xml->startElement("Контрагент");
            $xml->writeElement("Ид", $order['user_email']);
            $xml->writeElement("Наименование", $order['user_email']);
            $xml->writeElement("Роль", "Покупатель");
            $xml->writeElement("ПолноеНаименование", $order['user_email']);
            $xml->writeElement("Имя", $order['name_buyer']);
            $xml->startElement("АдресРегистрации");
            $xml->writeElement("Представление", $order['address']);
            $xml->startElement("АдресноеПоле");
            $xml->writeElement("Тип", 'Страна');
            $xml->writeElement("Значение", 'RU');
            $xml->endElement();
            //АдресноеПоле
            $xml->endElement();
            //АдресРегистрации
            $xml->startElement("Контакты");
            $xml->startElement("Контакт");
            $xml->writeElement("Тип", 'Телефон');
            $xml->writeElement("Значение", $order['phone']);
            $xml->endElement();
            //Контакт
            $xml->startElement("Контакт");
            $xml->writeElement("Тип", 'Почта');
            $xml->writeElement("Значение", $order['user_email']);
            $xml->endElement();
            //Контакт
            $xml->endElement();
            //Контакты
            $xml->endElement();
            //Контрагент
            $xml->endElement();
            //Контрагенты
            $xml->startElement("Товары");
            $products = unserialize(stripslashes($order['order_content']));
            foreach ($products as $product) {
                $xml->startElement("Товар");
                $xml->writeElement("Ид", $product['id']);
                $xml->writeElement("Наименование", htmlspecialchars_decode($product['name']));
                $xml->writeElement("ЦенаЗаЕдиницу", $product['price']);
                $xml->writeElement("Количество", $product['count']);
                $xml->writeElement("Сумма", $product['price'] * $product['count']);
                $xml->startElement("ЗначенияРеквизитов");
                $xml->startElement("ЗначениеРеквизита");
                $xml->writeElement("Наименование", 'ВидНоменклатуры');
                $xml->writeElement("Значение", 'Товар');
                $xml->endElement();
                //ЗначениеРеквизита
                $xml->startElement("ЗначениеРеквизита");
                $xml->writeElement("Наименование", 'ТипНоменклатуры');
                $xml->writeElement("Значение", 'Товар');
                $xml->endElement();
                //ЗначениеРеквизита
                $xml->endElement();
                //ЗначенияРеквизитов
                $xml->endElement();
                //Товар
            }
            $xml->endElement();
            //Товары
            $xml->startElement("ЗначенияРеквизитов");
            $arrayStatus = array(1 => 'Подтвержден', 2 => 'Собран', 6 => 'Собран', 3 => 'Отгружен', 4 => 'Отменен', 5 => '[F] Доставлен', 0 => '[N] Принят');
            if ($order['status_id']) {
                $xml->startElement("ЗначениеРеквизита");
                $xml->writeElement("Наименование", 'Статус заказа');
                $xml->writeElement("Значение", $arrayStatus[$order['status_id']]);
                $xml->endElement();
                //ЗначениеРеквизита
                if ($order['status_id'] == 4) {
                    $xml->startElement("ЗначениеРеквизита");
                    $xml->writeElement("Наименование", 'Отменен');
                    $xml->writeElement("Значение", 'true');
                    $xml->endElement();
                }
            }
            $xml->endElement();
            //ЗначенияРеквизитов
            $xml->endElement();
            // Документ
        }
        $nXML .= $xml->outputMemory();
        //$nXML = mb_convert_encoding($nXML, "WINDOWS-1251", "UTF-8");
        $nXML .= '</КоммерческаяИнформация>';
        if ($listModifyOrderId != '0') {
            DB::query('UPDATE ' . PREFIX . 'order SET `1c_last_export` = now() WHERE id IN(' . DB::quote($listModifyOrderId, 1) . ')');
        }
        header("Content-type: text/xml; charset=utf-8");
        echo "";
        echo $nXML;
    }
コード例 #8
0
ファイル: order.php プロジェクト: WinGood/24karcher
 /**
  * Возвращает сообщение о статусе заказа "Подтвержден".
  * @param type $pay - id заказа.
  * @return mixed - сообщение и email пользователя.
  */
 public function confirmOrder($id)
 {
     // Модель для работы заказом.
     $model = new Models_Order();
     // Информация о заказе по переданному id.
     $orderInfo = $model->getOrder(PREFIX . 'order.id = "' . $id . '"');
     $hash = URL::getQueryParametr('sec');
     // Информация о пользователе, сделавший заказ .
     $orderUser = USER::getUserInfoByEmail($orderInfo[$id]['user_email']);
     // Если присланный хэш совпадает с хэшом из БД для соответствующего id.
     if ($orderInfo[$id]['confirmation'] == $hash) {
         // Если статус заказа "Не подтвержден".
         if (0 == $orderInfo[$id]['status_id']) {
             // Подтверждаем заказ.
             $model->setOrderStatus($id, 1);
             $orderId = $id;
         } else {
             $msg = 'Заказ уже подтвержден и находится в работе. <br>
       Посмотреть статус заказа Вы можете в <a href="' . SITE . '/personal">личном кабинете</a>.';
         }
         if (!$orderUser->activity) {
             $userEmail = $orderUser->email;
             $_SESSION['id'] = $orderUser->id;
         }
     } else {
         $msg = 'Некорректная ссылка.<br> Заказ не подтвержден<br>';
     }
     $result = array('msg' => $msg, 'userEmail' => $userEmail);
     return $result;
 }
コード例 #9
0
ファイル: payment.php プロジェクト: kostiukoleg/all4web.loc
 /**
  * проверка платежа через Yandex
  */
 public function yandex($paymentID, $paymentStatus)
 {
     $order = new Models_Order();
     if ('success' == $paymentStatus) {
         $orderInfo = $order->getOrder(" id = " . DB::quote($_POST['label'], 1));
         $msg = 'Вы успешно оплатили заказ №' . $orderInfo[$_POST['label']]['number'];
         $msg .= $this->msg;
     } elseif ('result' == $paymentStatus && isset($_POST)) {
         $paymentAmount = trim($_POST['withdraw_amount']);
         $paymentOrderId = trim($_POST['label']);
         if (!empty($paymentAmount) && !empty($paymentOrderId)) {
             $orderInfo = $order->getOrder(" id = " . DB::quote($paymentOrderId, 1) . " and summ+delivery_cost = " . DB::quote($paymentAmount, 1));
             $paymentInfo = $order->getParamArray($paymentID, $paymentOrderId, $orderInfo[$paymentOrderId]['summ']);
         }
         // предварительная проверка платежа
         if (empty($orderInfo)) {
             echo "ERR: НЕКОРРЕКТНЫЕ ДАННЫЕ ЗАКАЗА";
             exit;
         }
         $secret = $paymentInfo[1]['value'];
         $alg = $paymentInfo[3]['value'];
         $pre_sha = $_POST['notification_type'] . '&' . $_POST['operation_id'] . '&' . $_POST['amount'] . '&' . $_POST['currency'] . '&' . $_POST['datetime'] . '&' . $_POST['sender'] . '&' . $_POST['codepro'] . '&' . $secret . '&' . $_POST['label'];
         $sha = hash($alg, $pre_sha);
         if ($sha == $_POST['sha1_hash']) {
             $this->actionWhenPayment(array('paymentOrderId' => $paymentOrderId, 'paymentAmount' => $orderInfo[$paymentOrderId]['summ'], 'paymentID' => $paymentID));
             echo "0";
             exit;
         } else {
             echo "1";
             exit;
         }
     }
     return $msg;
 }