Файл: page/result/webmoney.php
Строк: 51
<?php
/* WebMoney Merchant */
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/function.php");
if ($sys['payment']['wmr'] && $sys['payment']['hash']) {
$strow = $connect->prepare("select * from `plus` where `num` = ?");
$del = $connect->prepare("delete from `plus` where `num` = ?");
$plus = $connect->prepare("update `plus` set `status` = ? where `id` = ?");
$wmid_s = $connect->prepare("select count(*) from `users` where `wmid` = ? and `id` != ?");
$wmr_s = $connect->prepare("select count(*) from `users` where `wmr` = ? and `id` != ?");
$wmid_verify = $connect->prepare("update `users` set `wmid` = ?, `wmr` = ? where `id` = ?");
$kill_wmr = $connect->prepare("update `users` set `wmr` = '' where `wmr` = ? and `id` != ?");
if (isset($_POST['LMI_PAYEE_PURSE']) &&
isset($_POST['LMI_PAYMENT_AMOUNT']) &&
isset($_POST['LMI_PAYMENT_NO'])) {
/* Проверка */
$strow->execute(array($_POST['LMI_PAYMENT_NO']));
$row = $strow->fetch();
if (!$row)
exit('ERR: ПОПЫТКА ПОДМЕНЫ ПЛАТЕЖА!');
if ($row['status'] == 1)
exit('ERR: НЕДЕЙСТВИТЕЛЬНЫЙ ПЛАТЁЖ!');
if ($row['sum'] != $_POST['LMI_PAYMENT_AMOUNT'])
exit('ERR: ПОПЫТКА ПОДМЕНЫ СУММЫ!');
if ($sys['payment']['wmr'] != $_POST['LMI_PAYEE_PURSE'])
exit('ERR: НЕВЕРНЫЙ КОШЕЛЕК ПОЛУЧАТЕЛЯ!');
if (isset($_POST['LMI_PREREQUEST']))
exit('YES');
/* if ($sys['payment']['hash'] != $_POST['LMI_SECRET_KEY'])
exit('ERR: НЕВЕРНЫЙ SECRET KEY!'); */
if (isset($_POST['LMI_MODE']) &&
isset($_POST['LMI_SYS_INVS_NO']) &&
isset($_POST['LMI_SYS_TRANS_NO']) &&
isset($_POST['LMI_SYS_TRANS_DATE']) &&
isset($_POST['LMI_PAYER_PURSE']) &&
isset($_POST['LMI_PAYER_WM']) &&
isset($_POST['LMI_HASH'])) {
$hash = strtoupper(hash('sha256',
$sys['payment']['wmr'].
$_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'].
$sys['payment']['hash'].
$_POST['LMI_PAYER_PURSE'].
$_POST['LMI_PAYER_WM']
));
if ($hash != $_POST['LMI_HASH'])
exit('ERR: ПОПЫТКА ПОДМЕНЫ КОНТРОЛЬНОЙ ПОДПИСИ!');
/* Донат */
if ($row['type'] == 1) {
if (pay($row['sum'], $row['uid'])) {
$plus->execute(array(1, $row['id']));
notification('Вам отправили [url='.ROOT.'/donation/log]донат[/url]', $row['uid']);
}
exit;
}
// юзер
$payer = user($row['uid']);
// рейтинг
ratingUser($sys['rating']['plus'], $row['uid']);
// Подтверждение WMID
if (isset($_POST['WMID_VERIFY']) && $row['sum'] >= $sys['system']['wmid'] && (!$payer['wmid'] || !$payer['wmr'])) {
if (preg_match("#^[0-9]{12}$#i", $_POST['LMI_PAYER_WM']) && preg_match("#^R[0-9]{12}$#i", $_POST['LMI_PAYER_PURSE'])) {
// Поиск wmid в базе
$wmid_s->execute(array($_POST['LMI_PAYER_WM'], $row['uid']));
if ($wmid_s->fetchColumn())
exit('ERR: ЭТОТ WMID УЖЕ БЫЛ ПОДТВЕРЖДЕН НА ДРУГОМ АККАУНТЕ!');
// Поиск wmr в базе
$wmr_s->execute(array($_POST['LMI_PAYER_PURSE'], $row['uid']));
if ($wmr_s->fetchColumn()) // Освобождаем wmr :)
$kill_wmr->execute(array($_POST['LMI_PAYER_PURSE'], $row['uid']));
$wmid_verify->execute(array($_POST['LMI_PAYER_WM'], $_POST['LMI_PAYER_PURSE'], $row['uid']));
$del->execute(array($_POST['LMI_PAYMENT_NO']));
notification('Ваши реквизиты успешно подтверждены!', $row['uid']);
exit;
}
}
// реферальное начисление
$ref = user($payer['ref']);
$ref_money = $row['sum'] / 100 * $sys['system']['ref_cash'];
if ($ref && $ref_money > 0) {
notification('Зачислено на баланс '.rub($ref_money).' от реферала [b]'.$u_row['login'].'[/b]!', $ref['id']);
pay($ref_money, $ref['id']);
}
// пополнение
if (pay($row['sum'], $row['uid']))
$plus->execute(array(1, $row['id']));
}
}
}
?>