Файл: wm_balance.php
Строк: 23
<?php
$wm_purse = 'R304119345449';
$wm_secret_key = "hlyckova"; //Сюда необходимо вписать Ваш Secret Key
include_once ('conf.php');
include_once (MOD_DIR . 'func.php');
include_once INC . "/bd.php";
$id = $_POST['LMI_PAYMENT_NO'];
// Соединяемся с БД
...
// ЕСЛИ ЭТО ФОРМА ПРЕДВАРИТЕЛЬНОГО ЗАПРОСА, ТО ИДЕМ ДАЛЬШЕ...
IF($_POST['LMI_PREREQUEST']==1) {
// 1) Проверяем, есть ли товар с таким id в базе данных.
// Если такой товар не обнаружен, то выводим ошибку и прерываем работу скрипта.
$res = mysql_query("SELECT `summa` FROM `topup` WHERE `id` =".intval($id));
if(mysql_num_rows($res) == 0) {
echo "ERR: НЕТ ТАКОЙ ЗАЯВКИ";
exit;
}
$row = mysql_fetch_assoc($res);
// 2) Проверяем, не произошла ли подмена суммы.
// Cравниваем стоимость товара в базе данных с той суммой, что передана нам Мерчантом.
// Если сумма не совпадает, то выводим ошибку и прерываем работу скрипта.
if(trim($row['summa'])!=trim($_POST['LMI_PAYMENT_AMOUNT'])) {
echo "ERR: НЕВЕРНАЯ СУММА ".$_POST['LMI_PAYMENT_AMOUNT'];
exit;
}
// 3) Проверяем, не произошла ли подмена кошелька.
// Cравниваем наш настоящий кошелек с тем кошельком, который передан нам Мерчантом.
// Если кошельки не совпадают, то выводим ошибку и прерываем работу скрипта.
if(trim($_POST['LMI_PAYEE_PURSE'])!=$wm_purse) {
echo "ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ ".$_POST['LMI_PAYEE_PURSE'];
exit;
}
// Если ошибок не возникло и мы дошли до этого места, то выводим YES
echo "YES";
}
// ЕСЛИ НЕТ LMI_PREREQUEST, СЛЕДОВАТЕЛЬНО ЭТО ФОРМА ОПОВЕЩЕНИЯ О ПЛАТЕЖЕ...
ELSE {
// Задаем значение $secret_key.
// Оно должно совпадать с Secret Key, указанным нами в настройках кошелька.
// Склеиваем строку параметров
$common_string = $_POST['LMI_PAYEE_PURSE'].$_POST['LMI_PAYMENT_AMOUNT'].$_POST['LMI_PAYMENT_NO'].
$_POST['LMI_MODE'].$_POST['LMI_SYS_INVS_NO'].$_POST['LMI_SYS_TRANS_NO'].
$_POST['LMI_SYS_TRANS_DATE'].$wm_secret_key.$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
// Шифруем полученную строку в MD5 и переводим ее в верхний регистр
$hash = strtoupper(md5($common_string));
// Прерываем работу скрипта, если контрольные суммы не совпадают
if($hash!=$_POST['LMI_HASH']) exit;
$res = mysql_query("SELECT `login`, `summa` FROM `topup` WHERE `id` =".intval($id));
$row = mysql_fetch_assoc($res);
mysql_query("DELETE FROM `topup` WHERE `id` = ".intval($id));
mysql_query("UPDATE `users` SET `balance` = `balance` + ".$row["summa"]." WHERE `login` = '".mysql_real_escape_string($row["login"])."'");
}
?>