game/aunitpay.php

150 lines
4.8 KiB
PHP
Raw Normal View History

2022-06-06 21:30:34 +00:00
<?php
function getResponseError($message)
{
2023-01-28 02:24:37 +00:00
return json_encode(
[
'error' => [
'message' => $message,
],
]
);
2022-06-06 21:30:34 +00:00
}
function getResponseSuccess($message)
2022-06-06 21:30:34 +00:00
{
2023-01-28 02:24:37 +00:00
return json_encode(
[
'result' => [
'message' => $message,
],
]
);
2022-06-06 21:30:34 +00:00
}
date_default_timezone_set('Europe/Moscow');
$c = [
2023-01-28 02:24:37 +00:00
/* MySQL База данных */
'db_name' => 'pay_operations', //Таблица в которую заносятся данные
'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)
'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-28 02:24:37 +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('Ошибка подключения к базе данных!');
mysql_query('SET NAMES utf8mb4');
}
$request = $_GET;
if (empty($request['method'])
2023-01-28 02:24:37 +00:00
|| empty($request['params'])
|| !is_array($request['params'])
) {
2023-01-28 02:24:37 +00:00
echo getResponseError('Invalid request');
die();
}
$method = $request['method'];
$params = $request['params'];
if ($_GET['method'] == "check") {
2023-01-28 02:24:37 +00:00
echo getResponseSuccess('CHECK is successful');
die();
}
//MERCHANT_ORDER_ID=142&P_PHONE=380688028300&P_EMAIL=evhenii_kula%40mail.ru&CUR_ID=94&AMOUNT=90&MERCHANT_ID=65643&SIGN=c0fc70d5446614597d44ff13f2c7a6a5&intid=29728441
/*
MERCHANT_ORDER_ID
P_PHONE
P_EMAIL
CUR_ID
AMOUNT
MERCHANT_ID
SIGN
intid
2023-01-10 16:29:32 +00:00
https://адресашего_обработчика?
method=check
params[account]=userId
params[date]=2012-10-01 12:32:00
params[operator]=beeline
params[paymentType]=mc
params[projectId]=1
params[phone]=9XXXXXXXXX
params[payerSum]=10.00
params[payerCurrency]=RUB
params[signature]=9bdf52a4830779a1383ac24f1b3ed054
params[orderSum]=10.00
params[orderCurrency]=RUB
params[unitpayId]=1234567
params[test]=0
*/
if ($_GET['method'] == "pay") {
2023-01-28 02:24:37 +00:00
connect_db($c);
$nick = mysql_fetch_array(
mysql_query('SELECT * FROM `pay_operation` WHERE `id` = "' . $params['account'] . '" LIMIT 1')
);
if (!isset($nick['good'])) {
echo getResponseError('Bad order');
die();
}
$user = mysql_fetch_array(mysql_query('SELECT * FROM `users` WHERE `id` = "' . $nick['uid'] . '" LIMIT 1'));
if (isset ($params['account'])) {
if ($nick['good'] != 0) {
echo getResponseError('Already Used');
} 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` = "' . $params['account'] . '" LIMIT 1'
);
mysql_query(
'UPDATE `users` SET `catch` = `catch` + ' . $nick['ekr'] . ' WHERE `id` = "' . $nick['uid'] . '" LIMIT 1'
);
$cmsg = new ChatMessage();
$cmsg->setCity($user['city']);
$cmsg->setRoom($user['room']);
$cmsg->setLogin('Банкир');
$cmsg->setTo($user['login']);
$cmsg->setText("На Ваш игровой счет зачислено {$nick['ekr']} екр. Благодарим Вас за покупку!");
$cmsg->setType(5);
(new Chat())->sendMsg($cmsg);
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')
);
$cmsg = new ChatMessage();
$cmsg->setCity($referal['city']);
$cmsg->setRoom($referal['room']);
$cmsg->setLogin('Банкир');
$cmsg->setTo($referal['login']);
$cmsg->setText("На Ваш игровой счет зачислено $refecr екр, благодаря вашему рефералу {$user['login']}!");
$cmsg->setType(5);
(new Chat())->sendMsg($cmsg);
}
echo getResponseSuccess('PAY is successful');
}
} else {
echo getResponseError('No order');
}
die();
2022-06-06 21:30:34 +00:00
}