Файл: payment/pay/wapkassa/index.php
Строк: 38
<?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');
?>