1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
z_payment_result.php
См. документацию.
1<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die();?><?
3// Модуль Z-PAYMENT для 1C-Bitrix //
5// Z-PAYMENT, система приема и обработки платежей //
6// All rights reserved © 2002-2007, TRANSACTOR LLC //
8
9define("NO_KEEP_STATISTIC", true);
10define("NOT_CHECK_PERMISSIONS", true);
11require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
12
13$lmi_prerequest = $_REQUEST['LMI_PREREQUEST'];
14$lmi_payee_purse = $_REQUEST['LMI_PAYEE_PURSE'];
15$lmi_payment_amount = $_REQUEST['LMI_PAYMENT_AMOUNT'];
16$lmi_payer_purse = $_REQUEST['LMI_PAYER_PURSE'];
17$lmi_payer_wm = $_REQUEST['LMI_PAYER_WM'];
18$lmi_payment_no = $_REQUEST['LMI_PAYMENT_NO'];
19$lmi_mode = $_REQUEST['LMI_MODE'];
20$id_pay = $_REQUEST['ID_PAY'];
21$client_mail = $_REQUEST['CLIENT_MAIL'];
22$custom = $_REQUEST['custom'];
23$lmi_sys_trans_no = $_REQUEST['LMI_SYS_TRANS_NO'];
24$lmi_sys_invs_no = $_REQUEST['LMI_SYS_INVS_NO'];
25$lmi_sys_trans_date = $_REQUEST['LMI_SYS_TRANS_DATE'];
26$lmi_hash = $_REQUEST['LMI_HASH'];
27$lmi_secret_key = $_REQUEST['LMI_SECRET_KEY'];
28
29
30if (CModule::IncludeModule("sale"))
31{
32 $bCorrectPayment = True;
33
34 $err=0;
35 $err_text= '';
36
37 if ($arOrder = CSaleOrder::GetByID(intval($lmi_payment_no)))
38 {
39 $bCorrectPayment = False;
40 $err=1;
41 $err_text= 'ERR: НЕТ ТАКОГО ЗАКАЗА';
42 }
43
45 CSalePaySystemAction::InitParamArrays($arOrder, $arOrder["ID"]);
46
47 $IdM = CSalePaySystemAction::GetParamValue("ZP_SHOP_ID");
48 $sk = CSalePaySystemAction::GetParamValue("ZP_MERCHANT_KEY");
49 $CruR = CSalePaySystemAction::GetParamValue("ZP_CODE_RUR");
50
51 if($sk == '')
52 {
53 $bCorrectPayment = False;
54 $err=4;
55 $err_text='ERR: ОШИБКА АВТОРИЗАЦИИ';
56 }
57
58 // Проверяем, не произошла ли подмена суммы.
59 $order_amount =CCurrencyRates::ConvertCurrency($arOrder["PRICE"], $arOrder["CURRENCY"] , $CruR);
60
61 if ($order_amount != $lmi_payment_amount)
62 {
63 $err=2;
64 $err_text='ERR: НЕВЕРНАЯ СУММА : '.htmlspecialcharsbx($lmi_payment_amount);
65 }
66
67 //проверяем ID магазина
68 if($lmi_payee_purse != $IdM)
69 {
70 $err=3;
71 $err_text='ERR: НЕВЕРЕН ID МАГАЗИНА : '.htmlspecialcharsbx($lmi_payee_purse);
72 }
73
74
75 if($lmi_prerequest == 1) //форма предварительного запроса
76 {
77 if ($err != 0)
78 echo $err_text;
79 else
80 echo 'YES';
81 }
82 else
83 {
84
85
86 $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;
87 $hash =ToUpper(md5($common_string));
88
89 if ($err==0) {
90 if ($hash == $lmi_hash)
91 {
92 $strPS_STATUS_DESCRIPTION = "";
93 $strPS_STATUS_DESCRIPTION .= "Идентификатор магазина - ".$lmi_payee_purse."; ";
94 $strPS_STATUS_DESCRIPTION .= "Внутренний номер платежа в системе Z-PAYMENT - ".$lmi_sys_invs_no."; ";
95 $strPS_STATUS_DESCRIPTION .= "Внутренний номер счета в системе Z-PAYMENT - ".$lmi_sys_trans_no."; ";
96 $strPS_STATUS_DESCRIPTION .= "дата платежа - ".$lmi_sys_trans_date."";
97
98 $strPS_STATUS_MESSAGE = "";
99 $strPS_STATUS_MESSAGE .= "кошелек покупателя или его e-mail - ".$lmi_payer_purse."; ";
100
102 "PS_STATUS" => "Y",
103 "PS_STATUS_CODE" => "-",
104 "PS_STATUS_DESCRIPTION" => $strPS_STATUS_DESCRIPTION,
105 "PS_STATUS_MESSAGE" => $strPS_STATUS_MESSAGE,
106 "PS_SUM" => $lmi_payment_amount,
107 "PS_CURRENCY" => $arOrder["CURRENCY"],
108 "PS_RESPONSE_DATE" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))),
109 "USER_ID" => $arOrder["USER_ID"]
110 );
111
112 // You can comment this code if you want PAYED flag not to be set automatically
113
114 CSaleOrder::PayOrder($arOrder["ID"], "Y");
115 CSaleOrder::Update($arOrder["ID"], $arFields);
116 }
117 }
118 }
119}
120
121require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
122?>
$hash
Определения ajax_redirector.php:8
static ConvertCurrency($valSum, $curFrom, $curTo, $valDate="")
Определения currency_rate.php:393
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
die
Определения quickway.php:367
$bCorrectPayment
Определения result_rec.php:15
$lmi_prerequest
Определения z_payment_result.php:13
$id_pay
Определения z_payment_result.php:20
$lmi_payment_amount
Определения z_payment_result.php:15
$lmi_payer_wm
Определения z_payment_result.php:17
$lmi_sys_trans_date
Определения z_payment_result.php:25
$lmi_hash
Определения z_payment_result.php:26
$lmi_sys_trans_no
Определения z_payment_result.php:23
$lmi_payment_no
Определения z_payment_result.php:18
$lmi_secret_key
Определения z_payment_result.php:27
$lmi_payee_purse
Определения z_payment_result.php:14
$lmi_payer_purse
Определения z_payment_result.php:16
$lmi_mode
Определения z_payment_result.php:19
$client_mail
Определения z_payment_result.php:21
$custom
Определения z_payment_result.php:22
$lmi_sys_invs_no
Определения z_payment_result.php:24