{% else-1 %}
Обновить | Подписаться | Поднять тему
Чтобы выполнить действие авторизируйтесь или пройдите регистрацию на сайте.
1.
Victor * Верифицирован 41.37
[автор] (31 окт 2016, 06:15) [0/0] [0] [отв] [спам] [под] +1 | -1

Вот код оплаты через ворлдкасса:

<?
$title = 'Пополнение баланса через WorldKassa';
require_once('../Chaincore/Engine.php');
if (!isset($user)){header('Location: /');
exit;
}
$id_shop='0';
$hash='тут мой секретный код';
$act = isset($_GET['act']) ? filter($_GET['act']) : "";
switch($act)
{
default :
if (isset($_POST['summa']))
{
if (preg_match('#^([0-9]+)$|^([0-9]+\.)+([0-9]{1,2})$#', $_POST['summa']))
{
$data=file_get_contents('http://worldkassa.ru/user/oplata.php?id_shop='.$id_shop.'&summa='.$_POST['summa'].'&hash='.$hash);
if (is_numeric($data))
{

$sql1 = $db->prepare("INSERT INTO `worldkassa` (`id_user`, `id_bill`, `time`, `summa`) values(?, ?, ?, ?)"*;
$sql1->execute([$user->id,$data,time(),$_POST['summa']]);
header("Location: http://worldkassa.ru/user/oplata.php?uniq=".$data);
exit();
}
else
{
$err=$data;
}
}
else
{
$err='Введите корректно сумму';
}
}
echo '<div class="title">Пополнение баланса</div>';
echo '<div class="link">';
if($err) echo '<center><b>'.$err.'</b><br /></center>';

echo 'На этой странице можно пополнить свой счёт.<br />
На данный момент у Вас '.$user->wmr.' рублей <br />
Выберите сумму и способ оплаты:<br/>
<form action="?" method="post">
<input name="summa" type="text" value="1.00"/><br/>
<select size="1" name="sposob"><option value="worldkassa">WorldKassa (WebMoney SMS и т.д.)</option></select><br/>
<input type="submit" value="Продолжить"/>
</form></div>';

break;
case 'result':

if (isset($_POST['id_shop']) && is_numeric($_POST['id_shop']) && isset($_POST['id_bill']) && is_numeric($_POST['id_bill']) && isset($_POST['summa']) && is_numeric($_POST['summa']) && isset($_POST['hash']))
{
$sql2 = $db->prepare("SELECT * FROM `worldkassa` WHERE `id_bill` = ?"*;
$sql2->execute([abs((int)$_POST['id_bill'])]);
if ($sql2->rowCount()>0)
{
$data=$sql2->fetch(PDO::FETCH_ASSOC);
if ($_POST['summa']<$data['summa'])
{
//Можно поставить уведомление на подмену суммы пополнения

file_put_contents(__DIR__ .'/fafa', 'подмену суммы пополнения');

}
elseif($_POST['hash']!=md5($hash.$id_shop.$_POST['id_bill'].$_POST['summa']))
{
//Можно поставить уведомление, что не совпал хеш
file_put_contents(__DIR__ .'/fafa', 'не совпал хеш');
}
else
{
$sql3 = $db->prepare("UPDATE `worldkassa` SET `time_oplata` = ? WHERE `id` = ?"*;
$sql3->execute([time(),$data['id']]);
$sql4 = $db->prepare("INSERT INTO `logs_money` SET `id_user` = ?, `type` = ?, `count` = ?, `action` = ?, `time` = ?"*;
$sql4->execute([$data['id_user'],'plus',$data['summa'],'Пополнение баланса - WorldKassa',time()]);

$sql5 = $db->prepare("UPDATE `user` SET `wmr` = `wmr`+ ".$data['summa']." WHERE `id` = ?"*;
$sql5->execute([$data['id_user']]);
}
}
}


break;
case 'error':
echo '<div class="menu3"><center><b>Неудачно!</b></center></div>';
break;
case 'success':
echo '<div class="menu3"><center><b>Успешно!</b></center></div>';
break;
}
require_once('../Chaincore/foot.php'); ?>


Очаг
  • 1 из 1
Чтобы писать сообщения авторизируйтесь или пройдите регистрацию на сайте.
Подписаны: 0
Скачать тему | Файлы темы | Фильтр сообщений