View file siwap.ru/apps/wk/result.php

File size: 2.52Kb
<?php
require_once $_SERVER['DOCUMENT_ROOT'].'/system/App.php';
$title = 'Оплата';
require_once ROOT.'/system/header.php';
require_once 'config.php';

?>
<div class="col-sm"></div>

<div class="col-sm-10 col-md-6 col-lg-4 col-xl-4">
    <?php
    if(isset($_POST['id_shop']))
    {
        $requestShopID = isset($_POST['id_bill']) && is_numeric(abs($_POST['id_shop'])) ? abs($_POST['id_shop']) : null;
        $requestPayID = isset($_POST['id_bill']) && is_numeric(abs($_POST['id_bill'])) ? abs($_POST['id_bill']) : null;
        $requestAmount = isset($_POST['summa']) && is_numeric($_POST['summa']) ? $_POST['summa'] : null;
        $requestHash = isset($_POST['hash']) && !empty($_POST['hash']) ? $_POST['hash'] : null;
        
        $data = Base::query('SELECT * FROM `worldkassa` WHERE `pay_id` = :pay_id', ['pay_id' => $requestPayID]);

        if(!empty($data))
        {
            if($requestAmount < $data['amount'])
            {
                $error = 'Ошибка, была произведена подмена суммы пополнения';
            }
            else if($requestHash != md5($hash.$shopID.$requestPayID.$requestAmount))
            {
                $error = 'Ошибка, не совпал хеш';
            }
            else
            {
                $wkUpdate = Base::update('worldkassa', $data['id'], [
                    'pay_time' => TIME,
                ]);
                $authorPayment = $user->infoByID($data['user_id'], 'money, login');
                
                $userUpdate = Base::update('user', $data['user_id'], [
                    'money' => ($authorPayment['money'] + $data['amount']),
                ]);
                if($wkUpdate == true && $userUpdate == true)
                {
                    $error = 'Поздравляю '.$authorPayment['login'].', ваш баланс пополнен на '.$data['amount'].' ₽';
                }
                else
                {
                    $error = 'Ошибка, оплата не прошла по неизвестным причинам, обратитесь к администрации';
                }
            }
        }
        else
        {
            $error = 'Ошибка, данный платеж не найден в базе';
        }
    }
    else
    {
        $error = 'Ошибка, пустое значение';
    }
    echo $core->alert($error, 'danger');
    $core->setLog($error, 'payment');
    ?>
</div>
<div class="col-sm"></div>

<?php
require_once ROOT.'/system/footer.php';
?>