%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.226.150.245 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/payment/assist/ |
Upload File : |
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><? include(GetLangFileName(dirname(__FILE__)."/", "/assist.php")); $assist_Shop_IDP = CSalePaySystemAction::GetParamValue("SHOP_IDP"); $assist_LOGIN = CSalePaySystemAction::GetParamValue("SHOP_LOGIN"); $assist_PASSWORD = CSalePaySystemAction::GetParamValue("SHOP_PASSWORD"); $password = CSalePaySystemAction::GetParamValue("SHOP_SECRET_WORLD"); $ORDER_ID = intval($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["ID"]); set_time_limit(0); $sHost = "payments.paysecure.ru"; $sUrl = "/orderstate/orderstate.cfm"; $dtm = AddToTimeStamp(Array("MM" => -1), false); $sVars = "Ordernumber=".$ORDER_ID."&Merchant_ID=".$assist_Shop_IDP."&login=".$assist_LOGIN."&password=".$assist_PASSWORD."&FORMAT=3&StartYear=".date('Y', $dtm)."&StartMonth=".date('n', $dtm)."&StartYDay=".date('j', $dtm).""; $aDesc = array( "In Process" => array(GetMessage("SASP_IP"), GetMessage("SASPD_IP")), "Delayed" => array(GetMessage("SASP_D"), GetMessage("SASPD_D")), "Approved" => array(GetMessage("SASP_A"), GetMessage("SASPD_A")), "PartialApproved" => array(GetMessage("SASP_PA"), GetMessage("SASPD_PA")), "PartialDelayed" => array(GetMessage("SASP_PD"), GetMessage("SASPD_PD")), "Canceled" => array(GetMessage("SASP_C"), GetMessage("SASPD_C")), "PartialCanceled" => array(GetMessage("SASP_PC"), GetMessage("SASPD_PC")), "Declined" => array(GetMessage("SASP_DEC"), GetMessage("SASPD_DEC")), "Timeout" => array(GetMessage("SASP_T"), GetMessage("SASPD_T")), ); $sResult = QueryGetData($sHost, 80, $sUrl, $sVars, $errno, $errstr, "POST"); if ($sResult <> "") { require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/xml.php"); $objXML = new CDataXML(); $objXML->LoadString($sResult); $arResult = $objXML->GetArray(); if (count($arResult)>0 && $arResult["result"]["@"]["firstcode"] == "0") { $aRes = $arResult["result"]["#"]["order"][0]["#"]; if (intval($aRes["ordernumber"][0]["#"]) == $ORDER_ID) { $arFields = Array(); $check = ToUpper(md5(toUpper(md5($password).md5($assist_Shop_IDP.$aRes["ordernumber"][0]["#"].$aRes["orderamount"][0]["#"].$aRes["ordercurrency"][0]["#"].$aRes["orderstate"][0]["#"])))); if($aRes["checkvalue"][0]["#"] == $check) { $arOrder = CSaleOrder::GetByID($ORDER_ID); $arFields = array( "PS_STATUS" => ($aRes["orderstate"][0]["#"] == "Approved"?"Y":"N"), "PS_STATUS_CODE" => mb_substr($aRes["orderstate"][0]["#"], 0, 5), "PS_STATUS_DESCRIPTION" => $aDesc[$aRes["orderstate"][0]["#"]][0], "PS_STATUS_MESSAGE" => $aDesc[$aRes["orderstate"][0]["#"]][1], "PS_SUM" => DoubleVal($aRes["orderamount"][0]["#"]), "PS_CURRENCY" => $aRes["ordercurrency"][0]["#"], "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))), ); if ($arOrder["PAYED"] != "Y" && CSalePaySystemAction::GetParamValue("AUTOPAY") == "Y" && $arFields["PS_STATUS"] == "Y" && Doubleval($arOrder["PRICE"]) == DoubleVal($arFields["PS_SUM"])) { CSaleOrder::PayOrder($arOrder["ID"], "Y"); } } if(!empty($arFields)) CSaleOrder::Update($ORDER_ID, $arFields); return true; } } } return false; ?>