<?php
include_once ('../core/base.php');
include_once ('../core/func.php');
include_once('../class/taskPerformence.php');
include_once ('sett.php');
require_once('WapkassaClass.php');
if (defined('wk_id') && defined('wk_code')) {
try {
// Инициализация класса с id сайта и секретным ключом
$wapkassa = new WapkassaClass(wk_id, wk_code);
// Проверка обработчика (PING)
if ($wapkassa->ping($_POST)) {
// возврат успешной проверки
echo $wapkassa->successPing();
} else {
// Парсинг входящих параметров
$params = $wapkassa->parseRequest($_POST);
// $params['id']; // id платежа в системе wapkassa
// $params['site_id']; // id площадки
// $params['time']; // время оплаты в unixtime
// $params['comm']; // комментарий платежа
// $params['amount']; // сумма платежа
// $params['add']; // массив с допольнительными параметрами
/* Проверка */
$summ = $params['amount'];
$id_user = abs(intval($params['add']['user']));
$count = abs(intval($params['add']['count']));
$type = $params['add']['tovar'];
if (array_key_exists($count, $arrayPrise) && $type == 'gold') {
$arr = $arrayPrise[$count];
if ($arr['price'] != $summ)
die('Ошибка: ERR0' . PHP_EOL);
$sql = $base->prepare("SELECT * FROM `users` WHERE `id` = ?");
$sql->execute(array($id_user));
$row = $sql->fetch();
if ($row) {
$text = 'Поступил платёж на сумму: ' . $arr['count'] . ' <img src="/images/icons/gold.png" width="20" />';
// Бонус от покупки
$getSale = $base->query("SELECT * FROM `avenax_admin` WHERE `id` = '1'")->fetch();
if (!empty($getSale) && $getSale['sale_xsolla_time'] > time()) {
$bonus = ($arr['count'] / 100) * $getSale['sale_xsolla'];
$arr['count'] += $bonus;
$text .= ' + бонус, на сумму: ' . $bonus . ' <img src="/images/icons/gold.png" width="20" />. Удачной игры!';
}
$sql = $base->prepare("UPDATE `users` SET `gold` = `gold` + ? WHERE `id` = ? LIMIT 1");
if (!$sql->execute(array($arr['count'], $id_user)))
die('Ошибка: ERR4' . PHP_EOL);
$task= $base->query("SELECT * FROM `task_user` WHERE `id_user` = '$id_user' AND `location` = 'pay'")->fetch();
$gold = $task['need_implement'] - $task['progress'];
$get = $arr['count'];
if ($get > $gold)
$get = $gold;
if ($get > 0) {
$base->exec("INSERT INTO `mail` SET `sent_id` = '2', `received_id` = '" . intval($id_user) . "', `text` = '$text' , `time` = '" . time() . "'");
$base->query("UPDATE `task_user` SET `progress` = `progress` + $get WHERE `id_user` = '$id_user' AND `id` = '$task[id]'");
}
if ($base->query("SELECT COUNT(*) FROM `kont` WHERE `id_user` = '" . intval($id_user) . "' AND `id_kont` = '2' LIMIT 1")->fetchColumn() == false) {
$base->exec("INSERT INTO `kont` SET `id_user` = '" . intval($id_user) . "', `id_kont` = '2', `time` = '" . time() . "'");
}
$base->exec("INSERT INTO `mail` SET `sent_id` = '2', `received_id` = '" . intval($id_user) . "', `text` = '$text' , `time` = '" . time() . "'");
echo $wapkassa->successPayment();
} else die('Ошибка: ERR1' . PHP_EOL);
} else die('Ошибка: ERR2' . PHP_EOL);
}
} catch (Exception $e) {
// вывод ошибки
die('Ошибка: ' . $e->getMessage() . PHP_EOL);
}
} else die('Ошибка: ERR3' . PHP_EOL);
?>