%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/sale/ru/payment/z_payment/ |
Current File : //home/bitrix/www/bitrix/modules/sale/ru/payment/z_payment/z_payment_result.php |
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><? //////////////////////////////////////////////////////////////// // Модуль Z-PAYMENT для 1C-Bitrix // //////////////////////////////////////////////////////////////// // Z-PAYMENT, система приема и обработки платежей // // All rights reserved © 2002-2007, TRANSACTOR LLC // //////////////////////////////////////////////////////////////// define("NO_KEEP_STATISTIC", true); define("NOT_CHECK_PERMISSIONS", true); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); $lmi_prerequest = $_REQUEST['LMI_PREREQUEST']; $lmi_payee_purse = $_REQUEST['LMI_PAYEE_PURSE']; $lmi_payment_amount = $_REQUEST['LMI_PAYMENT_AMOUNT']; $lmi_payer_purse = $_REQUEST['LMI_PAYER_PURSE']; $lmi_payer_wm = $_REQUEST['LMI_PAYER_WM']; $lmi_payment_no = $_REQUEST['LMI_PAYMENT_NO']; $lmi_mode = $_REQUEST['LMI_MODE']; $id_pay = $_REQUEST['ID_PAY']; $client_mail = $_REQUEST['CLIENT_MAIL']; $custom = $_REQUEST['custom']; $lmi_sys_trans_no = $_REQUEST['LMI_SYS_TRANS_NO']; $lmi_sys_invs_no = $_REQUEST['LMI_SYS_INVS_NO']; $lmi_sys_trans_date = $_REQUEST['LMI_SYS_TRANS_DATE']; $lmi_hash = $_REQUEST['LMI_HASH']; $lmi_secret_key = $_REQUEST['LMI_SECRET_KEY']; if (CModule::IncludeModule("sale")) { $bCorrectPayment = True; $err=0; $err_text= ''; if ($arOrder = CSaleOrder::GetByID(IntVal($lmi_payment_no))) { $bCorrectPayment = False; $err=1; $err_text= 'ERR: НЕТ ТАКОГО ЗАКАЗА'; } if ($bCorrectPayment) CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]); $IdM = CSalePaySystemAction::GetParamValue("ZP_SHOP_ID"); $sk = CSalePaySystemAction::GetParamValue("ZP_MERCHANT_KEY"); $CruR = CSalePaySystemAction::GetParamValue("ZP_CODE_RUR"); if(strlen($sk) <=0) { $bCorrectPayment = False; $err=4; $err_text='ERR: ОШИБКА АВТОРИЗАЦИИ'; } // Проверяем, не произошла ли подмена суммы. $order_amount =CCurrencyRates::ConvertCurrency($arOrder["PRICE"], $arOrder["CURRENCY"] , $CruR); if ($order_amount != $lmi_payment_amount) { $err=2; $err_text='ERR: НЕВЕРНАЯ СУММА : '.htmlspecialcharsbx($lmi_payment_amount); } //проверяем ID магазина if($lmi_payee_purse != $IdM) { $err=3; $err_text='ERR: НЕВЕРЕН ID МАГАЗИНА : '.htmlspecialcharsbx($lmi_payee_purse); } if($lmi_prerequest == 1) //форма предварительного запроса { if ($err != 0) echo $err_text; else echo 'YES'; } else { $common_string = $lmi_payee_purse.$lmi_payment_amount.$lmi_payment_no.$lmi_mode.$lmi_sys_invs_no.$lmi_sys_trans_no.$lmi_sys_trans_date.$sk.$lmi_payer_purse.$lmi_payer_wm; $hash =ToUpper(md5($common_string)); if ($err==0) { if ($hash == $lmi_hash) { $strPS_STATUS_DESCRIPTION = ""; $strPS_STATUS_DESCRIPTION .= "Идентификатор магазина - ".$lmi_payee_purse."; "; $strPS_STATUS_DESCRIPTION .= "Внутренний номер платежа в системе Z-PAYMENT - ".$lmi_sys_invs_no."; "; $strPS_STATUS_DESCRIPTION .= "Внутренний номер счета в системе Z-PAYMENT - ".$lmi_sys_trans_no."; "; $strPS_STATUS_DESCRIPTION .= "дата платежа - ".$lmi_sys_trans_date.""; $strPS_STATUS_MESSAGE = ""; $strPS_STATUS_MESSAGE .= "кошелек покупателя или его e-mail - ".$lmi_payer_purse."; "; $arFields = array( "PS_STATUS" => "Y", "PS_STATUS_CODE" => "-", "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION, "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE, "PS_SUM" => $lmi_payment_amount, "PS_CURRENCY" => $arOrder["CURRENCY"], "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))), "USER_ID" => $arOrder["USER_ID"] ); // You can comment this code if you want PAYED flag not to be set automatically CSaleOrder::PayOrder($arOrder["ID"], "Y"); CSaleOrder::Update($arOrder["ID"], $arFields); } } } } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); ?>