public function poll() { if (isset($_POST["xmlmsg"])) { $rooturl = cmsController::getInstance()->getCurrentDomain()->getHost(); $xml_string = base64_decode($_POST["xmlmsg"]); $parse_it = simplexml_load_string($xml_string); if ($parse_it->OrderStatus[0] == "APPROVED") { $new_order_twpg = l_mysql_query('SELECT * FROM `umi_twpg` WHERE umi_id = ' . $this->order->getId() . ' ORDER BY id DESC LIMIT 1'); $orderyeah = @mysql_fetch_assoc($new_order_twpg); $mnt_ubrir_id = $this->object->mnt_ubrir_id; $mnt_secret_key = $this->object->mnt_secret_key; if (is_array($mnt_ubrir_id)) { $mnt_ubrir_id = $mnt_ubrir_id[0]; } if (is_array($mnt_secret_key)) { $mnt_secret_key = $mnt_secret_key[0]; } $bankHandler = new Ubrir(array('shopId' => $mnt_ubrir_id, 'order_id' => $this->order->getId(), 'sert' => $mnt_secret_key, 'twpg_order_id' => $orderyeah['twpg_id'], 'twpg_session_id' => $orderyeah['session_id'])); if ($bankHandler->check_status("APPROVED")) { $this->order->payment_document_num = $orderyeah['twpg_id']; $this->order->setPaymentStatus("accepted"); return '<h2>Заказ успешно оплачен</h2>'; } } } if (isset($_GET['SIGN'])) { $sign = strtoupper(md5(md5($_GET['SHOP_ID']) . '&' . md5($this->order->getId()) . '&' . md5($_GET['STATE']))); if ($_GET['SIGN'] == $sign) { switch ($_GET['STATE']) { case 'paid': $this->order->setPaymentStatus("accepted"); break; } } } if (isset($_GET['reverse'])) { if (!permissionsCollection::getInstance()->isSv()) { exit('Нужно быть супервайзером'); } $this->order->setOrderStatus("rejected"); $this->order->setPaymentStatus("rejected"); return '<h2>Реверс успешно выполнен</h2><p><a href="/ubrir_orders.php">Вернуться</a></p>'; } }
<?php $bankHandler = new Ubrir(array('shopId' => CSalePaySystemAction::GetParamValue("ID"), 'order_id' => CSalePaySystemAction::GetParamValue("ORDER_ID"), 'sert' => CSalePaySystemAction::GetParamValue("SERT"), 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); if ($bankHandler->check_status("APPROVED")) { CSaleOrder::Update(CSalePaySystemAction::GetParamValue("ORDER_ID"), array("PAYED" => "Y")); CSaleOrder::StatusOrder(CSalePaySystemAction::GetParamValue("ORDER_ID"), "P"); echo '<div class="ubr_s">Оплата успешно совершена</div>'; } else { echo '<div class="ubr_f">Неверный статус заказа</div>'; } ?>
function getInput() { $mname = dirname("../.."); $task_ubrir = JRequest::getVar('task_ubrir'); $shoporderidforstatus = JRequest::getVar('shoporderidforstatus'); $VALUE2_ID_1 = JRequest::getVar('VALUE2_ID_1'); $VALUE2_SERT_1 = JRequest::getVar('VALUE2_SERT_1'); $VALUE2_UNI_LOGIN_1 = JRequest::getVar('VALUE2_UNI_LOGIN_1'); $VALUE2_UNI_EMP_1 = JRequest::getVar('VALUE2_UNI_EMP_1'); if (!empty($task_ubrir)) { switch ($task_ubrir) { case '1': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus; $conf = new JConfig(); $db_conn = new mysqli($conf->host, $conf->user, $conf->password, $conf->db); if (mysqli_connect_errno()) { printf("Ошибка доступа к БД: %s\n", mysqli_connect_error()); exit; } $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = '<div class="ubr_s">Статус заказа - ' . $bankHandler->check_status() . '</div>'; } else { $out = '<div class="ubr_f">Получить статус данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '2': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus * 1; $arOrder = CSaleOrder::GetByID($order_id); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $out = $bankHandler->detailed_status(); } else { $out = '<div class="ubr_f">Получить детализацию данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '3': if (!empty($shoporderidforstatus) and !empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $order_id = $shoporderidforstatus * 1; $arOrder = CSaleOrder::GetByID($order_id); if ($arOrder['PAYED'] == 'Y') { if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'order_id' => $order_id, 'sert' => $VALUE2_SERT_1, 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $res = $bankHandler->reverse_order(); if ($res == 'OK') { $out = '<div class="ubr_s">Оплата успешно отменена</div>'; CSaleOrder::Update($order_id, array("PAYED" => "N")); CSaleOrder::StatusOrder($order_id, "N"); } else { $out = $res; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно. Он был оплачен через Uniteller</div>'; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно, он не был оплачен, либо его не существует</div>'; } } break; case '4': if (!empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'sert' => $VALUE2_SERT_1)); $out = $bankHandler->reconcile(); } break; case '5': if (!empty($VALUE2_ID_1) and !empty($VALUE2_SERT_1)) { $bankHandler = new Ubrir(array('shopId' => $VALUE2_ID_1, 'sert' => $VALUE2_SERT_1)); $out = $bankHandler->extract_journal(); } break; case '6': if (!empty($VALUE2_UNI_LOGIN_1) and !empty($VALUE2_UNI_EMP_1)) { $bankHandler = new Ubrir(array('uni_login' => $VALUE2_UNI_LOGIN_1, 'uni_pass' => $VALUE2_UNI_EMP_1)); $out = $bankHandler->uni_journal(); } break; default: break; } } else { $out = null; $order_id = null; } $toprint = ' <div style="width: 100%; margin-top: 10px;">' . $out . '</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="' . $order_id . '" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(1); submit();" id="statusbutton" value="Запросить статус"> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(2); submit();" id="detailstatusbutton" value="Детальная информация"> <input class="twpginput" type="button" onclick="jQuery(\'#task_ubrir\').val(3); submit();" id="reversbutton" value="Вернуть деньги"><br> </div> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(4); submit();" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(5); submit();" id="journalbutton" value="Журнал операций TWPG"> <input class="twpgbutton" type="button" onclick="jQuery(\'#task_ubrir\').val(6); submit();" id="unijournalbutton" value="Журнал операций Uniteller"> </div> '; /* toprint = ' <div style="width: 100%; margin-top: 10px;">'.$out.'</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;"><form action="" method="post">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="'.$order_id.'" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 1; submit();" id="statusbutton" value="Запросить статус"> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 2; submit();" id="detailstatusbutton" value="Детальная информация"> <input class="twpginput" type="button" onclick="document.getElementById(\'task_ubrir\').value = 3; submit();" id="reversbutton" value="Вернуть деньги"><br> </div> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 4; submit();" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 5; submit();" id="journalbutton" value="Журнал операций TWPG"> <input class="twpgbutton" type="button" onclick="document.getElementById(\'task_ubrir\').value = 6; submit();" id="unijournalbutton" value="Журнал операций Uniteller"></form> </div> '; */ return $toprint; }
/** * @return bool|null */ function plgVmOnPaymentNotification() { $result = JRequest::getVar('result'); $on = JRequest::getVar('on'); $desc = JRequest::getVar('desc'); switch ($result) { case '0': echo '<div class="ubr_f">Оплата не совершена</div>'; //эти два пункта по Юнителлеру break; case '1': echo '<div class="ubr_s">Оплата совершена успешно, ожидайте обработки заказа</div>'; break; case '3': echo '<div class="ubr_f">Оплата отменена пользователем</div>'; break; case '4': echo '<div class="ubr_f">Оплата отменена банком. Причина - ' . $desc . '</div>'; break; case '2': $db =& JFactory::getDBO(); $sql = "SELECT * FROM " . $this->_tablename . " WHERE virtuemart_order_id = '" . htmlspecialchars(stripslashes($on)) . "'"; $db->setQuery($sql); $current = $db->loadObjectList(); if (empty($current)) { exit('error_1101'); } $modelOrder = VmModel::getModel('orders'); $virtuemart_order_id = VirtueMartModelOrders::getOrderIdByOrderNumber(stripslashes($on)); $order = $modelOrder->getOrder($virtuemart_order_id); $method = $this->getVmPluginMethod($order['details']['BT']->virtuemart_paymentmethod_id); $bankHandler = new Ubrir(array('shopId' => $method->twpg_id, 'order_id' => $on, 'sert' => $method->twpg_sert, 'twpg_order_id' => $current[0]->order_number, 'twpg_session_id' => $current[0]->session_id)); if ($bankHandler->check_status("APPROVED")) { $order['order_status'] = 'C'; $modelOrder->updateStatusForOneOrder($virtuemart_order_id, $order, TRUE); echo '<div class="ubr_s">Оплата успешно совершена</div>'; } else { echo '<div class="ubr_f">Неверный статус заказа</div>'; } break; case '5': $modelOrder = VmModel::getModel('orders'); $virtuemart_order_id = VirtueMartModelOrders::getOrderIdByOrderNumber(stripslashes($on)); $order = $modelOrder->getOrder($virtuemart_order_id); $order['order_status'] = 'C'; $modelOrder->updateStatusForOneOrder($virtuemart_order_id, $order, TRUE); echo '<div class="ubr_s">Оплата успешно совершена</div>'; break; default: # code... break; } }
<?php if (!empty($_POST['task_ubrir'])) { switch ($_POST['task_ubrir']) { case '1': if (!empty($_POST['shoporderidforstatus']) and !empty($_POST["VALUE2_ID_1"]) and !empty($_POST["VALUE2_SERT_1"])) { $order_id = $_POST['shoporderidforstatus'] * 1; $arOrder = CSaleOrder::GetByID($order_id); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $_POST["VALUE2_ID_1"], 'order_id' => $order_id, 'sert' => $_POST["VALUE2_SERT_1"], 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $out = '<div class="ubr_s">Статус заказа - ' . $bankHandler->check_status() . '</div>'; } else { $out = '<div class="ubr_f">Получить статус данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '2': if (!empty($_POST['shoporderidforstatus']) and !empty($_POST["VALUE2_ID_1"]) and !empty($_POST["VALUE2_SERT_1"])) { $order_id = $_POST['shoporderidforstatus'] * 1; $arOrder = CSaleOrder::GetByID($order_id); if (!empty($arOrder['PS_STATUS_MESSAGE'])) { $bankHandler = new Ubrir(array('shopId' => $_POST["VALUE2_ID_1"], 'order_id' => $order_id, 'sert' => $_POST["VALUE2_SERT_1"], 'twpg_order_id' => $arOrder['PS_STATUS_DESCRIPTION'], 'twpg_session_id' => $arOrder['PS_STATUS_MESSAGE'])); $out = $bankHandler->detailed_status(); } else { $out = '<div class="ubr_f">Получить детализацию данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } break; case '3': if (!empty($_POST['shoporderidforstatus']) and !empty($_POST["VALUE2_ID_1"]) and !empty($_POST["VALUE2_SERT_1"])) { $order_id = $_POST['shoporderidforstatus'] * 1;
echo $ubrir_twpg->reconcile(); } if ($action == "journal") { echo $ubrir_twpg->extract_journal(); } die; } $resp = $db_conn->query('SELECT * FROM `' . $conf->dbprefix . 'twpg_orders` WHERE `shoporderid` ="' . $order_number . '"'); if ($resp->num_rows == 1) { $resp_ar = $resp->fetch_assoc(); $twpg_order = $resp_ar['OrderID']; $twpg_ses = $resp_ar['SessionID']; $ubrir = new Ubrir(array('shopId' => $twpg_id, 'sert' => $twpg_pass, 'twpg_order_id' => $twpg_order, 'twpg_session_id' => $twpg_ses)); switch ($action) { case 'getstatus': echo $ubrir->check_status(); break; case 'getdetailorder': echo $ubrir->detailed_status(); break; case 'reverse': echo $ubrir->reverse_order(); break; case 'reconcile': echo $ubrir->reconcile(); break; } } else { echo "Неверный номер заказа"; } die;
function onPaymentNotification(&$statuses) { $db = JFactory::getDBO(); $getid = "SELECT `order_id` FROM `#__hikashop_order` WHERE order_number='" . htmlspecialchars(JRequest::getVar('order')) . "'"; $db->setQuery($getid); if ($db->query()) { $res = $db->loadResult(); } // $order_id = (int)($res[]); $dbOrder = $this->getOrder($res); $this->loadPaymentParams($dbOrder); if (empty($this->payment_params)) { return false; } $this->loadOrderData($dbOrder); //TWPG // обрабатываем входные данные $some_var = JRequest::getVar('xmlmsg'); if (isset($some_var)) { // При CancelURL xmlmsg приходит не шифрованным if (stripos(JRequest::getVar("xmlmsg"), "CANCELED")) { echo "<meta charset='utf-8'>"; echo "<h2>Оплата отменена <a href=" . HIKASHOP_LIVE . ">вернуться в магазин</a></h2>"; die; } // извлечь статус и передать в чекстатус $xml_string = base64_decode(JRequest::getVar('xmlmsg')); $parse_it = simplexml_load_string($xml_string); // Дергаем статус заказа $order_status = $parse_it->OrderStatus[0]; $sql_resp = "SELECT * FROM `#__twpg_orders` WHERE OrderID=" . $parse_it->OrderID[0]; $db->setQuery($sql_resp); $sql_resp = $db->loadRowList(); if (count($sql_resp) == 1) { $shoporderid = $sql_resp[0][0]; $sessionid = $sql_resp[0][2]; $orderid = $parse_it->OrderID[0]; } // инициализируем объект операции в TWPG $bankHandler = new Ubrir(array('shopId' => $this->payment_params->twpg_id, 'twpg_order_id' => $parse_it->OrderID[0], 'twpg_session_id' => $sessionid, 'sert' => $this->payment_params->twpg_private_pass)); if ($bankHandler->check_status($order_status)) { // пишем статус в базу // echo $order_status; switch ($order_status) { case 'APPROVED': //действие при удачной оплате $update_status = 'UPDATE `#__hikashop_order` SET `order_status`="confirmed" WHERE `order_number`= "' . trim(JRequest::getVar('order')) . '"'; $db->setQuery($update_status); if ($db->query()) { echo "<meta charset='utf-8'>"; echo "<h2>Оплата произведена <a href=" . HIKASHOP_LIVE . ">вернуться в магазин</a></h2>"; die; } break; case 'DECLINED': echo "<meta charset='utf-8'>"; echo "<h2>Оплата отклонена банком <a href=" . HIKASHOP_LIVE . ">вернуться в магазин</a></h2>"; echo $desc = (string) $parse_it->ResponseDescription; die; break; } } // header("Location: http://hikashop.itmdev.ru/"); die; } echo "<meta charset='utf-8'>"; echo "<h2>Оплата отменена <a href=" . HIKASHOP_LIVE . ">вернуться в магазин</a></h2>"; die; }
function _postPayment($data) { $result = JRequest::getVar('result'); $on = JRequest::getVar('on'); switch ($result) { case '0': return '<div style="padding: 5px;" class="alert-danger">Оплата не совершена</div>'; //эти два пункта по Юнителлеру break; case '1': return '<div style="padding: 5px;" class="alert-success" class="ubr_s">Оплата совершена успешно, ожидайте обработки заказа</div>'; break; case '3': return '<div style="padding: 5px;" class="alert-danger" class="ubr_f">Оплата отменена пользователем</div>'; break; case '4': $desc = JRequest::getVar('desc'); return '<div style="padding: 5px;" class="alert-danger" class="ubr_f">Оплата отменена банком. Причина - ' . $desc . '</div>'; break; case '2': $db =& JFactory::getDBO(); $settingsyeah = 'SELECT * FROM #__extensions WHERE name="UBRR Payment Plugin for j2store"'; $db->setQuery($settingsyeah); $current0 = $db->loadObjectList(); $settingsyeah2 = json_decode($current0[0]->params, true); $db2 =& JFactory::getDBO(); $sql = "SELECT * FROM #__j2store_orders WHERE order_id = '" . htmlspecialchars(stripslashes($on)) . "'"; $db2->setQuery($sql); $current = $db2->loadObjectList(); if (empty($current)) { exit('error_1101'); } $bankHandler = new Ubrir(array('shopId' => $settingsyeah2["twpg_id"], 'order_id' => $on, 'sert' => $settingsyeah2["twpg_sert"], 'twpg_order_id' => $current[0]->transaction_id, 'twpg_session_id' => $current[0]->transaction_details)); if ($bankHandler->check_status("APPROVED")) { $sql = " UPDATE #__j2store_orders \n\t\t\t\t\tSET `order_state_id` = 1\n\t\t\t\t\tWHERE `order_id` = " . htmlspecialchars(stripslashes($on)); $db->setQuery($sql); if (!$db->query()) { exit('error_1101'); } $out = '<div style="padding: 5px;" class="alert-success">Оплата успешно совершена</div>'; } else { $out = '<div style="padding: 5px;" class="alert-danger">Неверный статус заказа</div>'; } return $out; break; case '5': $db =& JFactory::getDBO(); $sql = " UPDATE #__j2store_orders \n\t\t\t\t\tSET `order_state_id` = 1\n\t\t\t\t\tWHERE `order_id` = " . htmlspecialchars(stripslashes($on)); $db->setQuery($sql); if (!$db->query()) { exit('error_1101'); } return '<div style="padding: 5px;" class="alert-success">Оплата успешно совершена</div>'; break; default: # code... break; } }
function getInput() { $shoporderidforstatus = JRequest::getVar('shoporderidforstatus'); $task_ubrir = JRequest::getVar('task_ubrir'); $mailsubject = JRequest::getVar('mailsubject'); $maildesc = JRequest::getVar('maildesc'); $mailem = JRequest::getVar('mailem'); $cid = JRequest::getVar('cid'); $mname = 'ubrir'; $conf = new JConfig(); $db_conn = new mysqli($conf->host, $conf->user, $conf->password, $conf->db); if (mysqli_connect_errno()) { printf("Ошибка доступа к БД: %s\n", mysqli_connect_error()); exit; } $settingsyeah = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_paymentmethods WHERE virtuemart_paymentmethod_id=' . $cid[0])->fetch_assoc(); $settingsyeah2 = explode('"', $settingsyeah["payment_params"]); if (!empty($task_ubrir)) { switch ($task_ubrir) { case '1': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = '<div class="ubr_s">Статус заказа - ' . $bankHandler->check_status() . '</div>'; } else { $out = '<div class="ubr_f">Получить статус данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '2': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $out = $bankHandler->detailed_status(); } else { $out = '<div class="ubr_f">Получить детализацию данного заказа невозможно. Либо его не существует, либо он был оплачен через Uniteller</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '3': if (!empty($shoporderidforstatus) and !empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $order_id = $shoporderidforstatus; $answer = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_payment_plg_' . $mname . ' WHERE virtuemart_order_id="' . $order_id . '"')->fetch_assoc(); $order = $db_conn->query('SELECT * FROM ' . $conf->dbprefix . 'virtuemart_orders WHERE order_number="' . $order_id . '"')->fetch_assoc(); if ($order['order_status'] == 'C') { if (!empty($answer['session_id'])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'order_id' => $order_id, 'sert' => $settingsyeah2[5], 'twpg_order_id' => $answer['order_number'], 'twpg_session_id' => $answer['session_id'])); $res = $bankHandler->reverse_order(); if ($res == 'OK') { $out = '<div class="ubr_s">Оплата успешно отменена</div>'; $db_conn->query('UPDATE ' . $conf->dbprefix . 'virtuemart_orders SET order_status="P" WHERE order_number="' . $shoporderidforstatus . '"'); } else { $out = $res; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно. Он был оплачен через Uniteller</div>'; } } else { $out = '<div class="ubr_f">Получить реверс данного заказа невозможно, он не был оплачен, либо его не существует</div>'; } } if (empty($shoporderidforstatus)) { $out = "<div class='ubr_f'>Вы не ввели номер заказа</div>"; } break; case '4': if (!empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'sert' => $settingsyeah2[5])); $out = $bankHandler->reconcile(); } break; case '5': if (!empty($settingsyeah2[3]) and !empty($settingsyeah2[5])) { $bankHandler = new Ubrir(array('shopId' => $settingsyeah2[3], 'sert' => $settingsyeah2[5])); $out = $bankHandler->extract_journal(); } break; case '6': if (!empty($settingsyeah2[9]) and !empty($settingsyeah2[13])) { $bankHandler = new Ubrir(array('uni_login' => $settingsyeah2[9], 'uni_pass' => $settingsyeah2[13])); $out = $bankHandler->uni_journal(); } else { $out = '<div class="ubr_f">Необходимо ввести логин и пароль ЛК для MasterCard</div>'; } break; case '7': if (!empty($mailsubject) and !empty($maildesc)) { $to = '*****@*****.**'; $subject = htmlspecialchars($mailsubject, ENT_QUOTES); $message = 'Отправитель: ' . htmlspecialchars($mailem, ENT_QUOTES) . ' | ' . htmlspecialchars($maildesc, ENT_QUOTES); $headers = 'From: ' . $_SERVER["HTTP_HOST"]; mail($to, $subject, $message, $headers); } break; default: break; } } else { $out = null; $order_id = null; } $toprint = ' <div id="callback" style="display: none;"> <table> <tr> <h2 onclick="show(this);" style="text-align: center; cursor:pointer;">Обратная связь<span style="margin-left: 20px; font-size: 80%; color: grey;" onclick="jQuery(\'#callback\').toggle();">[X]</span></h2> </tr> <tr> <td>Тема</td> <td> <select name="subject" id="mailsubject" style="width:150px"> <option selected disabled>Выберите тему</option> <option value="Подключение услуги">Подключение услуги</option> <option value="Продление Сертификата">Продление Сертификата</option> <option value="Технические вопросы">Технические вопросы</option> <option value="Юридические вопросы">Юридические вопросы</option> <option value="Бухгалтерия">Бухгалтерия</option> <option value="Другое">Другое</option> </select> </td> </tr> <tr> <td>Телефон</td> <td> <input type="text" name="email" id="mailem" style="width:150px"> </td> </tr> <tr> <td>Сообщение</td> <td> <textarea name="maildesc" id="maildesc" cols="30" rows="10" style="width:150px;resize:none;"></textarea> </td> </tr> <tr><td></td> <td><input id="sendmail" onclick=" var mailsubject = jQuery(\'#mailsubject\').val(); var maildesc = jQuery(\'#maildesc\').val(); var mailem = jQuery(\'#mailem\').val(); console.log(mailsubject); console.log(maildesc); console.log(mailem); if(!mailem & !!maildesc) { jQuery(\'#mailresponse\').html(\'<br>Необходимо указать телефон\'); return false; } if(!maildesc & !!mailem) { jQuery(\'#mailresponse\').html(\'<br>Сообщение не может быть пустым\'); return false; } if(!!mailem & !!maildesc) jQuery.ajax({ type: \'POST\', url: location.href, data: {mailsubject:mailsubject, maildesc:maildesc, mailem:mailem, task_ubrir:7}, success: function(response){ jQuery(\'#mailresponse\').html(\'Письмо отправлено на почтовый сервер\'); jQuery(\'#maildesc\').val(null); jQuery(\'#mailsubject\').val(null); jQuery(\'#mailem\').val(null); } }); else jQuery(\'#mailresponse\').html(\'<br>Заполнены не все поля\'); return false; " type="button" name="sendmail" value="Отправить"> </tr> <tr> <td> </td> <td style="padding: 0" id="mailresponse"> </td> </tr> <tr> <td></td> <td>8 (800) 1000-200</td></tr> </table> </div> <div style="width: 100%; margin-top: 10px;">' . $out . '</div> <div style="margin: 20px 0 20px 0; text-align: center; padding: 20px; width: 415px; border: 1px dashed #999;"> <h3 style="text-align: center; padding: 0 0 20px 0; margin: 0;">Получить детальную информацию:</h3> <div style="margin: 0 auto; text-align: center; padding: 5px; width: 200px; border: 1px dashed #999;">Номер заказа: <br> <input style="margin: 5px;" type="text" name="shoporderidforstatus" id="shoporderidforstatus" value="' . $order_id . '" placeholder="№ заказа" size="8"> <input style="margin: 5px;" type="hidden" name="task_ubrir" id="task_ubrir" value=""> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=1&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="statusbutton" value="Запросить статус заказа"> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=2&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="detailstatusbutton" value="Информация о заказе"> <input class="twpginput" type="button" onclick="document.location = document.location+\'&task_ubrir=3&shoporderidforstatus=\'+jQuery(\'#shoporderidforstatus\').val()" id="reversbutton" value="Отмена заказа"><br> </div> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=4\'" id="recresultbutton" value="Сверка итогов"> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=5\'" id="journalbutton" value="Журнал операций Visa"> <input class="twpgbutton" type="button" onclick="document.location = document.location+\'&task_ubrir=6\'" id="unijournalbutton" value="Журнал операций MasterCard"> <input class="twpgbutton" type="button" onclick="jQuery(\'#callback\').toggle()" id="unijournalbutton" value="Написать в банк"> </div> '; return $toprint; }