W
W
Warcgamer2021-11-21 17:17:41
PHP
Warcgamer, 2021-11-21 17:17:41

How to solve the issue with the donation system?

I can’t make a donation system in the game, it says that my system is outdated, what needs to be changed to make it work here is the code /wapkassa/index.php

<?php 
require_once ('../system/func.php');
auth(); 
$title = 'Пополнение баланса'; 
require_once ('../system/header.php');
echo "<div class='header-game center'>Банк Крови</div>";
switch($_GET['act']){ 
case 'success': 
echo "<div class='block center'>Оплата прошла успешно...</div>"; 
echo "<a href='/wapkassa/' class='link'>Вернуться назад</a>"; 
break; 
case 'fail': 
echo "<div class='block center'>В процессе оплаты произошла ошибка...</div>"; 
echo "<a href='/wapkassa/' class='link'>Вернуться назад</a>"; 
break; 

default: 
if(isset($_GET['action'])){ 
$LMI_PAYMENT_NO = rand(111111,999999); 
$summa = round($_POST['summa']/10,2); 
$secret_key = "dMctUrYosXXrBb3X"; //Секретный код площадки
$id_site = "5142"; //ID площадки
$common_string = $id_site.$summa.$secret_key; //Склейка значений - ID площадки, Сумма платежа, Секретный код
$hash = strtoupper(hash("dMctUrYosXXrBb3X",$common_string)); //Шифруем полученную строку в SHA256 и переводим ее в верхний регистр
if($summa < 1.00){
$_SESSION['msg'] = 'Нельзя купить меньше 100 Крови';
header("Location: /wapkassa/");
exit();
}

mysql_query("INSERT INTO `wapkassa` SET `id_user` = '".$user['id']."', `num` = '".$LMI_PAYMENT_NO."', `time` = '".time()."', `summa` = '".$summa."'"); 
echo '<div class="block">Сумма к оплате: '.$summa.' RUB<br><form method="POST" action="https://wapkassa.ru/merchant/oplata.php">
<input type="hidden" name="WK_PAYMENT_SITE" value="'.$id_site.'">
<input type="hidden" name="WK_PAYMENT_AMOUNT" value="'.$summa.'">
<input type="hidden" name="WK_PAYMENT_COMM" value="Покупка Крови :: ID '.$user['id'].'">
<input type="hidden" name="WK_PAYMENT_HASH" value="'.$hash.'">
<input type="hidden" name="WK_PAYMENT_ID" value="'.$LMI_PAYMENT_NO.'">
<input type="hidden" name="WK_PAYMENT_USER" value="'.$myID.'">
<input type="submit" class="btn" value="Перейти к оплате">
</form></div>';  
break; 
} 
echo '<div class="standard-page-element standard-page-image" style="background-image: url(/images/bg-big-bank.jpg);"></div>';
echo "<a href='/pay/obmen' class='gold'>".ico('icons','gold.png')." Обменник</a>";
echo '<div class="block center"><form method="POST" action="?action"><div class="blockpay center"> 
Кол-во Крови:<br /><input type="text" name="summa" class="center" value="300"><br /> 
<input type="submit" class="btn" value="Перейти к оплате"> 
<br><br><a>100 Крови = 10 RUB</a></div>
</form></div>'; 

echo "<div class='block'>";
echo "<h1>Бонусы при покупке</h1>";
echo "<div class='payblopdshop'><div class='oh'><img src='/images/gold/bonus1.png' style='margin-right:3px;margin-top:-6px;'></div>".img('icons','gold.png')." <span class='money'><b>300 Крови</b></span></br>".img('icons','gold.png')." <span class='moneybonus'><b>+ 100</b> </span>в подарок<div style='clear:both;'></div></div><br>";
echo "<div class='payblopdshop'><div class='oh'><img src='/images/gold/bonus2.png' style='margin-right:3px;margin-top:-6px;'></div>".img('icons','gold.png')." <span class='money'><b>500 Крови</b></span></br>".img('icons','gold.png')." <span class='moneybonus'><b>+ 200</b> </span>в подарок<div style='clear:both;'></div></div><br>";
echo "<div class='payblopdshop'><div class='oh'><img src='/images/gold/bonus3.png' style='margin-right:3px;margin-top:-6px;'></div>".img('icons','gold.png')." <span class='money'><b>1'000 Крови</b></span></br>".img('icons','gold.png')." <span class='moneybonus'><b>+ 400</b> </span>в подарок<div style='clear:both;'></div></div><br>";
echo "<div class='payblopdshop'><div class='oh'><img src='/images/gold/bonus4.png' style='margin-right:3px;margin-top:-6px;'></div>".img('icons','gold.png')." <span class='money'><b>5'000 Крови</b></span></br>".img('icons','gold.png')." <span class='moneybonus'><b>+ 1'500</b> </span>в подарок<div style='clear:both;'></div></div><br>";
echo "<div class='payblopdshop'><div class='oh'><img src='/images/gold/bonus5.png' style='margin-right:3px;margin-top:-6px;'></div>".img('icons','gold.png')." <span class='money'><b>10'000 Крови</b></span></br>".img('icons','gold.png')." <span class='moneybonus'><b>+ 3'000</b> </span>в подарок<div style='clear:both;'></div></div>";
echo "</div></div>"; 
break; 
} 

echo "<div class='foodsub footerchast separator' id='chat_scroll_to'></div>";
echo "<div class='block3'>";
echo "</div><br>";
require_once ('../system/footer.php');
?>


Second code /wapkassa/result.php
<?php
require_once ('../system/func.php');
if (isset($_POST['WK_PAY_AMOUNT'])){
$secret_key = "dMctUrYosXXrBb3X"; //Секретный код площадки
$id_site = "5142"; //ID площадки
$common_string = $id_site.$_POST['WK_PAY_AMOUNT'].$_POST['WK_PAY_TIME'].$secret_key; //Склейка значений - ID площадки, Сумма платежа, Время платежа, Секретный код
$hash = strtoupper(hash("sha256",$common_string)); //Шифруем полученную строку в SHA256 и переводим ее в верхний регистр
if($hash!=$_POST['WK_PAY_HASH']) exit; // Прерываем работу скрипта, если контрольные суммы не совпадают
//Если все верно продолжаем работу
$time = num($_POST['WK_PAY_TIME']); //Время платежа, формат UNIX. Например - "1449432500"
$hash = text($_POST['WK_PAY_HASH']); //Зашифрованная строка методом sha256(ID площадки, Сумма платежа, Время платежа, Секретный код) на стороне сервера. Например - "9415966C9A054B8FAFBA863C05A0238DCC91FDC872F0928D46CB551870CD58C2"
$amount = text($_POST['WK_PAY_AMOUNT']); //Сумма платежа. Из примера с формой - "10.65"
$comm = text($_POST['WK_PAY_COMM']); //Комментарий платежа. Из примера с формой - "Тестовый платеж"
$id = num($_POST['WK_PAY_ID']); //Произвольные данные. Из примера с формой - "12345"
$user = num($_POST['WK_PAY_USER']); //Произвольные данные
$number = mysql_fetch_assoc(mysql_query("SELECT * FROM `webmoney` WHERE `num` = '".$id."'"));
$summa = num($amount*10);
if($auction == 1 and $auction_name == 'gold' and $summa >= $auction_summa_2)$summa += ceil($summa*$auction_skidka_2/100);
elseif($auction == 1 and $auction_name == 'gold' and $summa >= $auction_summa)$summa += ceil($summa*$auction_skidka/100);
if($summa >= 300) $bonus = 100;
if($summa >= 500) $bonus = 200;
if($summa >= 1000) $bonus = 400;
if($summa >= 5000) $bonus = 1500;
if($summa >= 10000) $bonus = 3000;
$ank = mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `id` = '".$user."'"));
$quest = mysql_fetch_assoc(mysql_query("SELECT * FROM `quest` WHERE `id` = '10'"));
$q = mysql_fetch_assoc(mysql_query("SELECT * FROM `quest_user` WHERE `id_quest` = '$quest[id]' AND `id_user` = '$ank[id]'"));
$text = "Ваш счет пополнен на [color=gold]".$summa."[/color] Крови![br]Бонус: [color=gold]".$bonus."[/color] Крови![br]Блогадарим вас за сотруднечество в развитии игры :)";
mysql_query("INSERT INTO `mail` SET `in` = '0', `out` = '".$ank['id']."', `text` = '$text' , `time` = '".time()."'");
$kont = mysql_fetch_assoc(mysql_query("SELECT * FROM `kont` WHERE `id_user` = '".$ank['id']."' && `id_kont` = '0' LIMIT 1"));
if(!$kont){
mysql_query("INSERT INTO `kont` SET `id_user` = '".$ank['id']."', `id_kont` = '0', `time` = '".time()."'");
}else{
mysql_query("update `kont` set `time` = '".time()."' WHERE `id_user` = '".$ank['id']."' AND `id_kont` = '0'");
}
mysql_query("UPDATE `wapkassa` SET `time_oplata` = '".time()."' WHERE `id` = '".$number['id']."'");
mysql_query("UPDATE `users` SET `gold` = '".($ank['gold']+$summa+$bonus)."', `limit_clan_gold` = '".($ank['limit_clan_gold']+$summa)."', `limit_clan_crystals` = '".($ank['limit_clan_crystals']+$summa*100)."' WHERE `id` = '".$ank['id']."'");
if($q['last'] < time())mysql_query("update `quest_user` set `koll` = `koll`+'$summa' where (`id` = '".$q['id']."')");
if($ank['id_partner'] > 0){
mysql_query("UPDATE `users` SET `gold` = `gold`+".ceil($summa*25/100)." WHERE `id` = '".$ank['id_partner']."'");
$text = "$ank[login] купил Крови, вам начисленно ".ceil($summa*25/100)." Крови! Благодарим вас, за то что вы пригласили этого человека!";
mysql_query("INSERT INTO `mail` SET `in` = '0', `out` = '".$ank['id_partner']."', `text` = '$text' , `time` = '".time()."'");
$kont = mysql_fetch_assoc(mysql_query("SELECT * FROM `kont` WHERE `id_user` = '".$ank['id_partner']."' && `id_kont` = '0' LIMIT 1"));
if(!$kont){
mysql_query("INSERT INTO `kont` SET `id_user` = '".$ank['id_partner']."', `id_kont` = '0', `time` = '".time()."'");
}else{
mysql_query("update `kont` set `time` = '".time()."' WHERE `id_user` = '".$ank['id_partner']."' AND `id_kont` = '0'");
}
}
if($auction == 1){
mysql_query("UPDATE `users` SET `auction` = `auction`+".$summa." WHERE `id` = '".$ank['id']."'");
}
}
?>


registered in wapkasse, everything seems to be correct:

The site uses a new version of the payment initialization.
what needs to be changed in order to earn payments and give (game currency BLOOD)

Answer the question

In order to leave comments, you need to log in

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question