Вот код оплаты через ворлдкасса:
<?
$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'); ?>