Файл: xsolla.php
Строк: 80
<?php
/** Обработчик платежей xsolla
* Автор: Splash (http://masteram.us/id392)
* Данные прописывайте свои
* Обязательно создайте таблицу "payments", sql-файл таблицы в архиве
*/
define('ROOT_DIR', dirname (__FILE__));
require (ROOT_DIR.'файл подключения к бд'); // подключение к бд(MySql)
$key = ""; // ключ
$command = $_GET['command']; // команда
$v1 = intval($_GET['v1']); // id пользователя
$id = intval($_GET['id']); // id транзакции
$sum = intval($_GET['sum']); // кол-во валюты
switch($command){
/** отмена платежа **/
case 'cancel':
$pod=$command.$id.$key;
$md5=md5($pod);
$q1 = mysql_num_rows(mysql_query("SELECT * FROM `payments`"));
$idt = $q1+1;
if($_GET['md5']!==$md5){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<id_shop>'.$idt.'</id_shop>
<result>3</result>
<comment>Неверная подпись</comment>
</response>';
exit;
}
$q = mysql_query("SELECT * FROM `users` WHERE `id`='$v1'");
$e = mysql_num_rows($q);
if($e=='0'){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>7</result>
<comment>Пользователь не найден</comment>
</response>';
exit;
}
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>0</result>
</response>';
break;
/** зачисление валюты **/
case 'pay':
$pod=$command.$v1.$id.$key;
$md5=md5($pod);
$q1 = mysql_num_rows(mysql_query("SELECT * FROM `payments`"));
$idt = $q1+1;
if($_GET['md5']!==$md5){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<id_shop>'.$idt.'</id_shop>
<result>3</result>
<comment>Неверная подпись</comment>
</response>';
exit;
}
$q = mysql_query("SELECT * FROM `users` WHERE `id`='$v1'");
$e = mysql_num_rows($q);
if($e=='0'){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>2</result>
<comment>Пользователь не найден</comment>
</response>';
exit;
}
$us = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id`='$v1'")) or die(mysql_error());
// зачисляем игровую валюту
mysql_query("UPDATE `users` SET `ВАЛЮТА` = `ВАЛЮТА`+'$sum' WHERE `id` = '$v1'") or die(mysql_error());
// отправляем пользователю сообщение,что ему зачисленно заказанное кол-во валюты
mysql_query("INSERT INTO `mail` SET `user`='1',`to`='$v1',`text`='Вы успешно купили $sum ВАЛЮТА',`time`='".time()."'") or die(mysql_error());
// пишем данные о заказе в бд
mysql_query("INSERT INTO `payments` SET `v1` = '$v1',`sum` = '$sum',`user`='$us[login]',`xsolla_id`='$id'") or die(mysql_error());
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>0</result>
</response>';
break;
/** проверка на существование персонажа **/
case 'check':
$pod=$command.$v1.$key;
$md5=md5($pod);
if($_GET['md5']!==$md5){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>3</result>
<comment>Неверная подпись</comment>
</response>';
exit;
}
$q = mysql_query("SELECT * FROM `users` WHERE `id`='$v1'");
$e = mysql_num_rows($q);
if($e=='0'){
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>7</result>
<comment>Пользователь не найден</comment>
</response>';
}else{
echo '<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>0</result>
</response>';
}
break;
}
?>