<?php
$title = 'Оплата WapKassa';
require ($_SERVER['DOCUMENT_ROOT'].'/core/sys.php');
require ($_SERVER['DOCUMENT_ROOT'].'/core/head.php');
require ('wp.php');
echo '<div class="top">'.$title.'</div>';
define('WK_ID', 4399); //id площадки
define('WK_SECRET', 'Uuv5gcpJMVwb6oCj'); //секретный код


$id = abs(intval($_POST['pay']));
$_SESSION['wapkassa'] = $id;
$summa = abs($_POST['MNM_PRICE']);
$time = abs(intval($_POST['MNM_TIME_PAY']));
$pay = $db->prepare('SELECT * FROM `pay` WHERE `id` = ?');
$pay -> execute([$id]);
$pay = $pay -> fetch(PDO :: FETCH_ASSOC);
if(!isset($pay['id'])){
echo '<div id="error" class="message" style="text-align:center;"><b> Для дальнейшей работы вам стоит пройти авторизацию в данном сервисе, если хотите оплатить с личного счета.. </b></div>';
require ($_SERVER['DOCUMENT_ROOT'].'/core/foot.php');
exit;
}
if($pay['status'] == 'yes'){
echo '<div id="error" class="message" style="text-align:center;"><b> Данный счет уже был оплачен... </b></div>';
require ($_SERVER['DOCUMENT_ROOT'].'/core/foot.php');
exit;
}
if(!is_numeric($summa)){
header('Location: /');
exit;
}
if($pay['type'] == 0){
header('Location: /');
exit;
}
$client = $db->prepare('SELECT * FROM `platform` WHERE `id` = ?');
$client -> execute([$pay['platform']]);
$client = $client -> fetch(PDO :: FETCH_ASSOC);
if(!isset($client['id'])){
header('Location: /');
exit;
}
$hash = md5($client['key']);
if($hash != $pay['hash']){
header('Location: '.$client['error']);
exit;
}
if($pay['check'] != md5($summa.$pay['platform'].
$time)){
header('Location: '.$client['error']); 
exit;
} 

if($pay['status'] == 'yes'){
exit(header('location :'.$client['url']));
}
if (!empty($_POST['pay'])) {
    try {
        // Инициализация класса с id сайта и секретным ключом
        $wapkassa = new WapkassaClass(WK_ID, WK_SECRET);

        // основные параметры - сумма и комментарий платежа
        $wapkassa->setParams($pay['summa']+$pay['summa']*0.05, base64_decode($pay['com']));

        // допольнительные параметры в виде массива, необязательно
        $wapkassa->setParamsAdd(array(
            'user_id' => $id,
        ));
        
        // получаем данные для генерации формы
        $formValue = $wapkassa->getValue();

        // генерируем форму
        echo '<form class="wrap" method="post" action="https://wapkassa.ru/merchant/payment2">';
        foreach ($formValue as $key => $value) {
            echo '<input type="hidden" name="' . $key . '" value="' . $value . '">';
        }
        echo '<button class="btn">Оплатить</button>';
        echo '</form>';

    } catch (Exception $e) {
        // вывод ошибки
        $err .= $e->getMessage();
    }
}else{
echo '<div id="error" class="message" style="text-align:center;"><b> Произошла ошибка ... Попробуйте еще раз повторить данное действие </b></div>';
}

require ($_SERVER['DOCUMENT_ROOT'].'/core/foot.php');
?>