Файл: plugins/service.payment.php
Строк: 109
<?
if (isset($ID)) {
$ads = $sql -> fetch("SELECT * FROM `ads` WHERE `id` = '$ID' LIMIT 1");
}
if (!isset($ads['id'])){
die('К сожалению заказ не найден либо он был удален');
}
if ($level > 0 && $ads['id_user'] != $user['id']){
die('Счет не принадлежит вам');
}
if (isset($_POST['LMI_PREREQUEST'])) {
if (trim($_POST['LMI_PAYEE_PURSE']) != $system['wmpurse']) {
die('Ошибка(1): Неверный кошелек получателя системы');
}
if ($sql -> selectCount("SELECT COUNT(*) FROM `ads` WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "'") == 0) {
die('Ошибка(2): Номер счета не найден');
}
$ads = $sql -> fetch("SELECT * FROM `ads` WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "' LIMIT 1");
if (trim($_POST['LMI_PAYMENT_AMOUNT']) == null || trim($_POST['LMI_PAYMENT_AMOUNT']) < $ads['wmr']) {
die('Ошибка(3): Не указанна сумма перевода, либо она менее ' . $ads['wmr'] . ' wmr.');
}
if ($ads['pays'] != '0') {
die('Ошибка(4): Cчет уже оплачен ранее');
}
if ($ads['id_user'] != $_POST['id_user']) {
die('Ошибка(5): Номер выписанного счета, не принадлежит вам');
}
die('YES');
} elseif (isset($_POST['LMI_HASH'])) {
$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'].$system['secret_key'].$_POST['LMI_PAYER_PURSE'].$_POST['LMI_PAYER_WM'];
$hash = strtoupper(hash('sha256', $common_string));
if($hash != $_POST['LMI_HASH']) {
die('Ошибка доступа');
}
$id_user = intval($_POST['id_user']);
$purse = $_POST['LMI_PAYER_PURSE'];
$wmid = abs($_POST['LMI_PAYER_WM']);
// Счет
$ads = $sql -> fetch("SELECT * FROM `ads` WHERE `id` = '" . intval($_POST['LMI_PAYMENT_NO']) . "' LIMIT 1");
if ($ads['id_goods'] != 0 && $ads['type'] == 'goods') {
$ads['time_last'] = (time() + ($ads['days'] * 60 * 60 * 24));
$msglog = "Заказ рекламы для товара [url=?func=shop.goods&id=" . $ads['id_goods'] . "]" . $ads['name'] . "[/url]rПлатежные реквизиты: WMID " . $wmid . ", WM кошелек " . $purse;
} else {
$msglog = "Заказ рекламы для сайта [url=http://" . $ads['url'] . "]" . $ads['url'] . "[/url]rПлатежные реквизиты: WMID " . $wmid . ", WM кошелек " . $purse;
}
$sql -> insert("INSERT INTO `billing_log` (`wmid`, `purse`, `time`, `type`, `id_user`, `coins`, `msg`) VALUES ('$wmid', '" . $sql->esc($purse) . "', '$time', 'service', '$id_user', '-" . $ads['wmr'] . "', '$msglog')");
// Обновление информации счета
$sql -> update("UPDATE `ads` SET `pays` = '1', `time_pays` = '$time', `time_last` = '$ads[time_last]' WHERE `id` = '$ads[id]' LIMIT 1");
exit;
}
if (isset($_GET['pays']) && $_GET['pays'] == 'balans') {
if ($level > 0 && $ads['id_user'] == $user['id']) {
if ($user['wmr'] >= $ads['wmr']) {
if ($ads['id_goods'] != 0 && $ads['type'] == 'goods') {
$ads['time_last'] = (time() + ($ads['days'] * 60 * 60 * 24));
$msglog = "Заказ рекламы для товара [url=?func=shop.goods&id=" . $ads['id_goods'] . "]" . $ads['name'] . "[/url]rПлатежные реквизиты: [b]Внутренний баланс[/b]";
} else {
$msglog = "Заказ рекламы для сайта [url=http://" . $ads['url'] . "]" . $ads['url'] . "[/url]rПлатежные реквизиты: [b]Внутренний баланс[/b]";
}
$sql -> insert("INSERT INTO `billing_log` (`wmid`, `purse`, `time`, `type`, `id_user`, `coins`, `msg`) VALUES ('', '', '$time', 'service', '$user[id]', '-" . $ads['wmr'] . "', '$msglog')");
// Обновление информации счета
$sql -> update("UPDATE `ads` SET `pays` = '1', `time_pays` = '$time', `time_last` = '$ads[time_last]' WHERE `id` = '$ads[id]' LIMIT 1");
// Cписание средств
$sql -> update("UPDATE `users` SET `wmr` = `wmr` - '$ads[wmr]' WHERE `id` = '$user[id]' LIMIT 1");
$_SESSION['message'] = 'Счет успешно оплачен';
header('Location: ?func=' . $func . '&id=' . $ID . '&success');
exit;
}
}
}
$system['title'] = 'Страница оплаты услуги';
require SYS . 'header.php';
if ($level > 0 && $ads['pays'] == 1) {
?>
<div class="alert alert-success" style="margin: 2px;">
<center>
<img src="<?= ICONS?>big_ok.png" /> Счет <?= (isset($_GET['success']) ? 'успешно' : 'уже')?> оплачен!<br /><br />
<a href="?func=user.main" class="btn">Перейти в кабинет</a>
</center>
</div>
<?
} elseif ($level > 0 && isset($_GET['fail']) && $ads['pays'] == 0) {
?>
<div class="alert alert-error" style="margin: 2px;">
<center>
<img src="<?= ICONS?>big_err.png" /> Платеж по счету не прошел!<br /><br />
<a href="?func=<?= $func?>&id=<?= $ads['id']?>" class="btn">Повторить попытку</a>
</center>
</div>
<?
} elseif ($level > 0) {
?>
<div class="nav2">
<table class="table table-bordered" style="margin: 2px;">
<tr>
<td>
<b>Cчет №<?= $ads['id']?></b>
</td>
<td>
<b><span class="on"><?= text($ads['name'])?> | <?= ($ads['id_goods'] == 0 ? text($ads['url']) : 'ID товара: ' . $ads['id_goods'])?></span></b>
</td>
</tr>
<? if ($user['wmr'] >= $ads['wmr']) { ?>
<tr>
<td style="width: 90px;"> <b style="font-size: 30">>>></td>
<td>
<b>:: Внутренний баланс</b><br /><br />
На счету: <b><?= $user['wmr']?> wmr</b><br /><br />
<a href="?func=<?= $func?>&id=<?= $ads['id']?>&pays=balans" class="btn">Оплатить <?= $ads['wmr']?> WMR</a>
</td>
</tr>
<? } ?>
<?
?>
<tr>
<td style="width: 90px;"><img src="/_images/images/logo_wm.gif" /></td>
<td>
<b>:: WebMoney</b><br /><br />
Тип операции: <b>Оплата услуги</b><br /><br />
<b>Кошелек:</b><br />
WMR: <?= $system['wmpurse']?> (к оплате <?= $ads['wmr']?> WMR)<br />
<form action="https://merchant.webmoney.ru/lmi/payment.asp" method="POST" style="margin: 2px;">
<fieldset>
<input type=hidden name="LMI_PAYMENT_AMOUNT" value="<?= $ads['wmr']?>">
<input type=hidden name="LMI_PAYMENT_DESC_BASE64" value="<?= base64_encode('Оплата рекламы | ' . text($ads['name']))?>">
<input type=hidden name="LMI_PAYEE_PURSE" value="<?= $system['wmpurse']?>">
<input type=hidden name="LMI_RESULT_URL" value="http://<?= urlencode($_SERVER['HTTP_HOST'])?>/index.php?func=<?= $func?>&id=<?= $ads['id']?>">
<input type=hidden name="LMI_FAIL_URL" value="http://<?= urlencode($_SERVER['HTTP_HOST'])?>/index.php?func=<?= $func?>&id=<?= $ads['id']?>&fail">
<input type=hidden name="LMI_SUCCESS_URL" value="http://<?= urlencode($_SERVER['HTTP_HOST'])?>/index.php?func=<?= $func?>&id=<?= $ads['id']?>&success">
<input type=hidden name="LMI_PAYMENT_NO" value="<?= $ads['id']?>">
<input type=hidden name="id_user" value="<?= $user['id']?>">
<button type="submit" class="btn">Оплатить <?= $ads['wmr']?> WMR</button>
</fieldset>
</form>
</td>
</tr>
<?
?>
</table>
</div>
<?
} else {
?>
<div class="alert alert-error" style="margin: 2px;">
<center>
<img src="<?= ICONS?>big_err.png" /> Вы не авторизованы на нашем сайте!<br /><br />
<a href="?func=user.auth" class="btn">Авторизация</a>
</center>
</div>
<?
}
if ($level > 0) {
?>
<div class="foot">
« <a href="?func=service.nopays&id=<?= $user['id']?>">Список счетов</a>
</div>
<?
}
?>