game/interrpaykassa.php

120 lines
6.1 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
2023-01-10 16:29:32 +00:00
// если в настройках кассы интерфейс в полях URL взаимодействия выставлен POST если же используется GET -
// тогда в дальше место переменной $_POST используем $_GET
2022-06-06 21:30:34 +00:00
$dataSet = $_POST;
2023-01-10 16:29:32 +00:00
//Для просмотра расширенного ответа
2022-06-06 21:30:34 +00:00
//$answer = 'Our answer from Interkassa :'.PHP_EOL;
//foreach ($dataSet as $key => $val) {
// $answer .= $key.' => '.$val.PHP_EOL;
//}
$c = array(
2023-01-10 16:29:32 +00:00
/* MySQL База данных */
'db_name' => 'pay_operations', //Таблица в которую заносятся данные
2022-06-06 21:30:34 +00:00
'db_host' => 'localhost',
'db_user' => 'newcom1_abk',
'db_pass' => '4nWYsIM[c?}P',
'db_base' => 'newcom1_abk',
2023-01-10 16:29:32 +00:00
/* Настройки платежей
'ip_list' => array('127,0,0,1,188.166.34.68,136.243.38.147,136.243.38.149,136.243.38.150,136.243.38.151,136.243.38.189,88.198.88.98'), //Указывать через запятую (Разрешенные IP)
2022-06-06 21:30:34 +00:00
'key' => 'qtzl0igb', //gamedealer key
2023-01-10 16:29:32 +00:00
'id' => '65643' //ID проекта*/
2022-06-06 21:30:34 +00:00
);
function connect_db($c) {
2023-01-10 16:29:32 +00:00
$db = mysql_connect($c['db_host'],$c['db_user'],$c['db_pass']) or die('Ошибка подключения к MySQL серверу!');
mysql_select_db($c['db_base'],$db) or die('Ошибка подключения к базе данных!');
2022-06-06 21:30:34 +00:00
mysql_query('SET NAMES cp1251');
}
$needle = $dataSet['ik_sign'];
2023-01-10 16:29:32 +00:00
unset($dataSet['ik_sign']);// удаляем из данных строку подписи
ksort($dataSet, SORT_STRING); // сортируем по ключам в алфавитном порядке элементы массива
$test_key = '8RRwZKMHllBKtux6'; // В данном случае используется тестовый ключ
array_push($dataSet, $test_key); // добавляем в конец массива ключ
$signString = implode(':', $dataSet); // конкатенируем значения через символ ":"
$sign = base64_encode(md5($signString, true)); // берем MD5 хэш в бинарном виде по сформированной строке и кодируем в BASE64
2022-06-06 21:30:34 +00:00
if ($needle == $sign) {
$answer .= 'Sign successfully'.PHP_EOL;
echo 'OK';
connect_db($c);
$nick = mysql_fetch_array(mysql_query('SELECT * FROM `pay_operation` WHERE `id` = "'.$dataSet['ik_pm_no'].'" LIMIT 1'));
$user = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.$nick['uid'].'" LIMIT 1'));
if (isset ($dataSet['ik_pm_no']))
{
if ($nick['good']!=0)
{
2023-01-10 16:29:32 +00:00
echo "Уже начисленно";
2022-06-06 21:30:34 +00:00
}
else
{
mysql_query('UPDATE `users` SET `money2` = `money2` + '.$nick['ekr'].' WHERE `id` = "'.$nick['uid'].'" LIMIT 1');
mysql_query('UPDATE `pay_operation` SET `good` = "'.time().'" WHERE `id` = "'.$dataSet['ik_pm_no'].'" LIMIT 1');
mysql_query('UPDATE `users` SET `catch` = `catch` + '.$nick['ekr'].' WHERE `id` = "'.$nick['uid'].'" LIMIT 1');
//mysql_query('INSERT INTO `'.$c['db_name'].'` (`time`,`type`,`ip`,`value`,`money`,`project`) VALUES ("'.time().'","'.mysql_real_escape_string($type).'","'.$_SERVER['HTTP_X_REAL_IP'].'","'.mysql_real_escape_string($value).'","'.mysql_real_escape_string($money).'","'.mysql_real_escape_string($this->id).'")');
2023-01-10 16:29:32 +00:00
$r = '<span class=date>'.date('d.m.Y H:i').'</span> Алхимик <img src=https://img.new-combats.com/i/align/align50.gif width=12 height=15 /><u><b>Администратор</b> / Автоматическая оплата</u> сообщает: ';
2022-06-06 21:30:34 +00:00
if($user['sex'] == 1)
{
2023-01-10 16:29:32 +00:00
$r .= 'Уважаемая';
2022-06-06 21:30:34 +00:00
}
else
{
2023-01-10 16:29:32 +00:00
$r .= 'Уважаемый';
2022-06-06 21:30:34 +00:00
}
2023-01-10 16:29:32 +00:00
$r .= ' <b>'.$user['login'].'</b>, на Ваш игровой счет зачислено '.$nick['ekr'].' Еврокредитов. Благодарим Вас за покупку!';
2022-06-06 21:30:34 +00:00
//$str1 = iconv("cp1251","UTF-8",$r);
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','".$user['city']."','".$user['room']."','','".$user['login']."','".$r."','-1','5','0')");
//echo $r."r<br>";
if ($nick['ref'] !=0)
{
$refecr=round(($nick['ekr']/10));
mysql_query('UPDATE `users` SET `money2` = `money2` + '.$refecr.' WHERE `id` = "'.$nick['ref'].'" LIMIT 1');
$referal = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "'.$nick['ref'].'" LIMIT 1'));
2023-01-10 16:29:32 +00:00
$r = '<span class=date>'.date('d.m.Y H:i').'</span> Алхимик <img src=https://img.new-combats.com/i/align/align50.gif width=12 height=15 /><u><b>Администратор</b> / Реферальный заработок</u> сообщает: ';
2022-06-06 21:30:34 +00:00
if($referal['sex'] == 1)
{
2023-01-10 16:29:32 +00:00
$r .= 'Уважаемая';
2022-06-06 21:30:34 +00:00
}
else
{
2023-01-10 16:29:32 +00:00
$r .= 'Уважаемый';
2022-06-06 21:30:34 +00:00
}
2023-01-10 16:29:32 +00:00
$r .= ' <b>'.$referal['login'].'</b>, на Ваш игровой счет зачислено '.$refecr.' Еврокредитов. Благодоря вашему рефералу!'.$user['login'].'';
2022-06-06 21:30:34 +00:00
//$str1 = iconv("cp1251","UTF-8",$r);
mysql_query("INSERT INTO `chat` (`new`,`city`,`room`,`login`,`to`,`text`,`time`,`type`,`toChat`) VALUES ('1','".$referal['city']."','".$referal['room']."','','".$referal['login']."','".$r."','-1','5','0')");
}
2023-01-10 16:29:32 +00:00
echo "Покупател: ".$user['login']." | ID: ".$nick['uid']." | Сумма: ".$nick['ekr']." | ID операции: ".$dataSet['ik_pm_no']."<br>";
2022-06-06 21:30:34 +00:00
if (isset ($referal['id']))
{
2023-01-10 16:29:32 +00:00
echo "Реферал(тот кто привел): ".$referal['login']." | ID: ".$referal['id']." | Сумма: ".$refecr."<br>";
2022-06-06 21:30:34 +00:00
}
else
{
2023-01-10 16:29:32 +00:00
echo "Пользователь реферал не найден!!";
2022-06-06 21:30:34 +00:00
}
}
}
else
{
2023-01-10 16:29:32 +00:00
echo "Покупатель не указан!";
2022-06-06 21:30:34 +00:00
}
} else {
$answer .= 'Sign do not match'.PHP_EOL;
echo 'Something bad';
}
$answer .= 'IK sing :'.$needle.PHP_EOL;
$answer .= 'locally formed :'.$sign.PHP_EOL;
file_put_contents('answer.txt', $answer);
//35.233.69.55, 34.77.232.58, 35.240.117.224
?>