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 ( 'Ошибка подключения к базе данных!' );
2023-01-10 17:26:14 +00:00
mysql_query ( 'SET NAMES utf8mb4' );
2022-06-06 21:30:34 +00:00
}
$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
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') " );
2023-01-10 17:26:14 +00:00
2022-06-06 21:30:34 +00:00
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
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
?>