1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
result.php
См. документацию.
1<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
2// Скопируйте этот файл в папку /bitrix/php_interface/include/sale_payment/ и
3// задайте путь к нему в настройках платежной системы
4// Вы можете изменить этот файл по своему усмотрению
5
6define("NO_KEEP_STATISTIC", true);
7define("NOT_CHECK_PERMISSIONS", true);
8require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
9if (CModule::IncludeModule("sale"))
10{
11 if ($_SERVER["REQUEST_METHOD"] == "POST")
12 {
13 $bCorrectPayment = True;
14
16 if (defined("SITE_SERVER_NAME"))
17 $SERVER_NAME_tmp = SITE_SERVER_NAME;
18 if ($SERVER_NAME_tmp == '')
19 $SERVER_NAME_tmp = COption::GetOptionString("main", "server_name", "");
20
21 if (!($arOrder = CSaleOrder::GetByID(intval($_POST["LMI_PAYMENT_NO"]))))
22 $bCorrectPayment = False;
23
25 CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]);
26
27 $CNST_SECRET_KEY = CSalePaySystemAction::GetParamValue("CNST_SECRET_KEY");
28 $CNST_PAYEE_PURSE = CSalePaySystemAction::GetParamValue("ACC_NUMBER");
29
30 $strCheck = md5($_POST["pci_wmtid"].$_POST["WMID"].md5(ToUpper("http://".$SERVER_NAME_tmp.(CSalePaySystemAction::GetParamValue("PATH_TO_RESULT"))."?ORDER_ID=".$_REQUEST["ORDER_ID"].$CNST_PAYEE_PURSE.round($arOrder["PRICE"], 2)."Order_".$ORDER_ID."")).$_POST["pci_pursesrc"].$_POST["pci_pursedest"].$_POST["pci_amount"].$_POST["pci_desc"].$_POST["pci_datecrt"].$_POST["pci_mode"].md5($CNST_SECRET_KEY));
31 if ($_POST["pci_marker"] != $strCheck)
32 $bCorrectPayment = False;
33
35 {
36 $strPS_STATUS_DESCRIPTION = "";
37 if ($_POST["pci_mode"] <> '')
38 $strPS_STATUS_DESCRIPTION .= "тестовый режим, реально деньги не переводились; ";
39 $strPS_STATUS_DESCRIPTION .= "кошелек продавца - ".$_POST["pci_pursedest"]."; ";
40 $strPS_STATUS_DESCRIPTION .= "номер операции - ".$_POST["pci_wmtid"]."; ";
41 $strPS_STATUS_DESCRIPTION .= "дата платежа - ".$_POST["pci_datecrt"]."";
42
43 $strPS_STATUS_MESSAGE = "";
44 $strPS_STATUS_MESSAGE .= "кошелек покупателя - ".$_POST["pci_pursesrc"]."; ";
45 $strPS_STATUS_MESSAGE .= "WMId покупателя - ".$_POST["WMID"]."; ";
46 $strPS_STATUS_MESSAGE .= "".$_POST["pci_desc"]."";
47
49 "PS_STATUS" => "Y",
50 "PS_STATUS_CODE" => "-",
51 "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION,
52 "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE,
53 "PS_SUM" => $_POST["pci_amount"],
54 "PS_CURRENCY" => $arOrder["CURRENCY"],
55 "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))),
56 "USER_ID" => $arOrder["USER_ID"]
57 );
58
59 // You can comment this code if you want PAYED flag not to be set automatically
60 if ($arOrder["PRICE"] == $_POST["pci_amount"]
61 && $CNST_PAYEE_PURSE == $_POST["pci_pursedest"])
62 {
63 CSaleOrder::PayOrder($arOrder["ID"], "Y");
64 }
65
66 CSaleOrder::Update($arOrder["ID"], $arFields);
67 }
68 }
69}
70
71require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
72?>
static GetParamValue($key, $defaultValue=null)
Определения pay_system_action.php:76
static Update($ID, $arFields, $bDateUpdate=true)
Определения order.php:140
$arFields
Определения dblapprove.php:5
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$_REQUEST["admin_mnu_menu_id"]
Определения get_menu.php:8
$_SERVER["DOCUMENT_ROOT"]
Определения cron_frame.php:9
ToUpper($str)
Определения tools.php:2247
$SERVER_NAME_tmp
Определения payment.php:17
die
Определения quickway.php:367
$bCorrectPayment
Определения result_rec.php:15
$strCheck
Определения result_rec.php:37
$ORDER_ID
Определения html.php:2