РЕШЕНО Прошу помощи, не выводятся деньги на пайер

  • Автор темы Slayder
  • Дата начала
Slayder
Участник
Сообщения
11
Реакции
1
Доброго всем времечка! Прошу помочь выяснить причину ошибки "Не удалось выплатить! Попробуйте позже!".. Все уже перепробовал, не могу найти ну хоть убейся!

PHP:
    <td valign="top">
                        <div class="r_block">

                        <h1>Заказ выплаты</h1>


<div class="silver-bk">



<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
$banned = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

$db->Query("SELECT count(*) FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purs = $db->FetchRow();


$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

# Минималка серебром!
$minPay = 1;
#Максималка серебром
$maxPay = 3500;
# Настраиваем кол-во суток для ограничения.
$nd_timer = 1;

$maxforonepay = 10000*$sonfig_site["ser_per_wmr"]*1000*$user_data["insert_sum"] + 1*$user_data["from_referals"];


?>
<BR />
  <center><img src="/images/logo.png"><p></center>
<BR />
  <b>Выплаты осуществляются в автоматическом режиме на платежную систему PAYEER! Процент при выводе составляет 0.95%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />


<b><font color="green">Курс продажи золота: 100 золота = 1 рублю</font></b><BR /><BR />




<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 0.99){

?>
  <center><font color="red"><b>Вы не можете заказать выплату!<p>Пополните игровой баланс более чем на 1 Rub!</center>

<div class="clr"></div>
</div>
<?PHP

return;
}

?>




<center><b>Заказ выплаты:</b></center><BR />

<?PHP

$ddel = time() + 60*60*1;
$dadd = time();


    function ViewPurse($purse){

if( substr($purse,0,1) != "P" ) return false;
if( !ereg("^[0-9]{7,8}$", substr($purse,1)) ) return false;
return $purse;
}

# Проверка на дату выплаты
//$db->Query("SELECT COUNT(*) FROM db_pay_dat WHERE user_id = '$usid' AND date_del > '$dadd'");

// if($db->FetchRow() == 0){
   echo "$purse $sum";

        # Заносим выплату
        if(isset($_POST["purse"])){

        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        $p_password = $func->IsPassword($_POST["p_pass"]);



      if ($sum <= $maxPay){

        if($purse !== false){

                if($sum >= $minPay){


                    if($sum <= $user_data["money_p"]){

if($sum <= $maxforonepay) {

                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
       if ($frompayments["date_add"] <= time() - $nd_timer * 86400) {


                   if($banned["banned_multi"] == 0){


                            ### Делаем выплату ###
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
                            if ($payeer->isAuth())
                            {

                                $arBalance = $payeer->getBalance();
                                if($arBalance["auth_error"] == 0)
                                {

                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

                                    $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                                    if( ($balance) >= ($sum_pay)){



                                    $arTransfer = $payeer->transfer(array(
                                    'curIn' => 'RUB', // счет списания
                                    'sum' => $sum_pay, // сумма получения
                                    'curOut' => 'RUB', // валюта получения
                                    'to' => $purse, // получатель (email)
                                    //'to' => '+71112223344',  // получатель (телефон)
                                    //'to' => 'P1000000',  // получатель (номер счета)
                                    'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Минералс")
                                    //'anonim' => 'Y', // анонимный перевод
                                    //'protect' => 'Y', // протекция сделки
                                    //'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
                                    //'protectCode' => '12345', // код протекции
                                    ));

                                        if (!empty($arTransfer["historyId"]))
                                        {


                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;

                                            $ppid = $arTransfer["historyId"];

                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
                                            VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");


                                                        # заносим защиту от большой выплаты и дату
                                                        //$db->Query("INSERT INTO db_pay_dat (user, user_id, sum, date_add, date_del) VALUES ('$uname','$usid','$sum','$dadd','$ddel')");
                                                        # Случайная очистка устаревших записей
                                                        //$db->Query("DELETE FROM db_pay_dat WHERE date_del < '$dadd'");

                                                echo "<center><font color = 'green'><b>Средства успешно выплачены!<p></center><BR />";

                                        }
                                        else
                                        {

                                            echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                        }


                                    }else echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже 1!</b></font></center><BR />";

                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже 2!</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Доступ к выплатам заблокирован за нарушение правил проекта!<BR />
Напишите в <a href='/support'>поддержку </a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы уже получали выплату за последние 24 часа!</b></font></center>";


                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения!</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Вы не можете вывести столько средств за один раз [<a href='/limit'>Почему ?</a>] !</b></font></center><BR />";

                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету!</b></font></center><BR />";


                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты - 100 золота!</font></b></center><BR />";


        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";

        }else echo "<center><font color = 'red'><b>Вы можете заказать выплату не более, чем на 100 рублей!</b></font></center><BR />";

    }


//    }else echo "<center><font color = 'red'><b>Выплаты можно осуществлять не более, чем один раз в час</b></font></center><BR />";

?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
    <td><font color="#EC4D4D;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
    <td><input type="text" name="purse" size="15"/></td>
  </tr>

  <tr>
    <td><font color="#EC4D4D;">Отдаете золота для вывода</font> [Мин. 100]<font color="#EC4D4D;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>

  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Золото</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP

  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP

        }

    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

  ?>


</table><div class="clr"></div>
</div>
PHP:
<?PHP

# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига
$config = new config;

# Функции
$func = new func;

# Гараж данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);





if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
    $m_key = $config->secretW;
    $arHash = array($_POST['m_operation_id'],
            $_POST['m_operation_ps'],
            $_POST['m_operation_date'],
            $_POST['m_operation_pay_date'],
            $_POST['m_shop'],
            $_POST['m_orderid'],
            $_POST['m_amount'],
            $_POST['m_curr'],
            $_POST['m_desc'],
            $_POST['m_status'],
            $m_key);

    $sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
    if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
    {

    $db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
    if($db->NumRows() == 0){ echo htmlspecialchars($_POST['m_orderid'])."|error"; exit;}

    $payeer_row = $db->FetchArray();
    if($payeer_row["status"] > 0){ echo htmlspecialchars($_POST['m_orderid'])."|success"; exit;}

    $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");

    $ik_payment_amount = $payeer_row["sum"];
    $user_id = $payeer_row["user_id"];

    # Настройки
    $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
    $sonfig_site = $db->FetchArray();

   $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
   $user_ardata = $db->FetchArray();
   $user_name = $user_ardata["user"];
   $refid = $user_ardata["referer_id"];
   # Проверяем баланс
    if(isset($_GET['balance'])){
        $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
        if($payeer->isAuth()){
            $arBalance = $payeer->getBalance();
            if($arBalance["auth_error"] == 0){
                $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                echo "$balance";
            } else {
                echo 'error auth';
            }
        }
    }


   # Зачисляем баланс
   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );

   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();

   $serebro = intval($ins_sum >= 99.99) ? ($serebro + ($serebro * 0.10) ) : $serebro;
   $serebro = intval($ins_sum >= 999.99) ? ($serebro + ($serebro * 0.15) ) : $serebro;
   $serebro = intval($ins_sum >= 4999.99) ? ($serebro + ($serebro * 0.20) ) : $serebro;
   $serebro = intval($ins_sum >= 9999.99) ? ($serebro + ($serebro * 0.25) ) : $serebro;
   $add_tree = ( $ik_payment_amount >= 4990000.99) ? 0 : 0;
   $lsb = time();
   $to_referer = ($serebro * 0.20);

               //Начисляем билеты
           if($ik_payment_amount >= 200 and $ik_payment_amount < 1000) {
           $bil = $ik_payment_amount / 200;
           $bill = intval($bil);
           } elseif ($ik_payment_amount >= 1000 and $ik_payment_amount < 2000) {
            $bil = $ik_payment_amount / 200;
            $bill = intval($bil) + 1; // если сумма больше 1000 и меньше 2000 руб то бонус 1 билет
           }elseif ($ik_payment_amount >= 2000) {
            $bil = $ik_payment_amount / 200;
            $bill = intval($bil) + 3; // если сумма больше 2000 руб то бонус 3 билета
           }else{
            $bill = 0;
           }

   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', a_t = a_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount', billet = billet + '$bill' WHERE id = '{$user_id}'");

   # Зачисляем средства рефереру и дерево
   $add_tree_referer = ($ins_sum <= 999999.01) ? ", a_t = a_t + 0" : "";
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");

   # Статистика пополнений
   $da = time();
   $dd = $da + 60*60*24*15;
   $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
   VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");

        # Конкурс
         $competition = new competition($db);
         $competition->UpdatePoints($user_id, $ik_payment_amount);
        #--------

         $wmset = new wmset();
         $marray = $wmset->GetSet($ik_payment_amount);

         $a_t = intval($marray["t_a"]);
         $b_t = intval($marray["t_b"]);
         $c_t = intval($marray["t_c"]);
         $d_t = intval($marray["t_d"]);
         $e_t = intval($marray["t_e"]);

        $db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
        last_sbor = '$lsb' WHERE id = '{$user_id}'");


    # Обновление статистики сайта
    $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");


    echo htmlspecialchars($_POST['m_orderid'])."|success";
    exit;

    }
    echo htmlspecialchars($_POST['m_orderid'])."|error";
}
?>


Еще и логин с паролем админа изменить в настройках фермы не получается (настраивается совместно с игровыми), какие цифры не вписывай - постоянно выскакивают ошибки вроде:
% золота на вывод при продаже должен быть от 1 до 99
Неверная настройка доходности шахт в час! Минимум 6 кристаллов!
Минимальная стоимость шахт не должна быть менее 1-го золота!
В базе логина и пароля админа тоже не нашел..
Не хотелось бы отступать, столько времени потратил.. :(


 
Последнее редактирование:
pligin
Участник
Сообщения
3.654
Реакции
1.336
Случаем не на свой кошелек делаешь выплату?
 
Slayder
Участник
Сообщения
11
Реакции
1
Нет, создал другой.. С оплатой норм все, серебро зачисляется..
А вот вывод - отнюдь.. :( Я уже и звездочки вместо IP ставил.. Настройки конфига перепроверял.. Проверял на угрозы да шеллы, удалил js-код.. Нашел еще "айболитом" редирект в .htaccess (он ругался на него), но судя по расшифровке в одном из источников, он внутренний и вполне безопасен..

PHP:
DirectoryIndex index.php
RewriteEngine On

# Основной домен
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Главная
RewriteRule ^index.php$ index.php [L]

# Правила
RewriteRule ^rules.php(/?)+$ index.php?menu=rules [L]

# Контакты
RewriteRule ^contacts.php(/?)+$ index.php?menu=contacts [L]

# Новости
RewriteRule ^news.php(/?)+$ index.php?menu=news [L]

# О нас
RewriteRule ^about.php(/?)+$ index.php?menu=about [L]

# Регистрация
RewriteRule ^signup/key/(.*)(/?)+$ index.php?menu=signup&key=$1 [L]
RewriteRule ^signup.php(/?)+$ index.php?menu=signup [L]

# Восстановление пароля
RewriteRule ^recovery.php(/?)+$ index.php?menu=recovery [L]

# Последние выплаты
RewriteRule ^payments.php(/?)+$ index.php?menu=payments [L]

# FAQ
RewriteRule ^faq.php(/?)+$ index.php?menu=faq [L]

# Аккаунт
RewriteRule ^account/config.php(/?)+$ index.php?menu=account&sel=config [L]
RewriteRule ^account/insert.php(/?)+$ index.php?menu=account&sel=insert [L]
RewriteRule ^account/payment.php(/?)+$ index.php?menu=account&sel=payment [L]
RewriteRule ^account/market.php(/?)+$ index.php?menu=account&sel=market [L]
RewriteRule ^account/swap.php(/?)+$ index.php?menu=account&sel=swap [L]
RewriteRule ^account/store.php(/?)+$ index.php?menu=account&sel=store [L]
RewriteRule ^account/referals.php(/?)+$ index.php?menu=account&sel=referals [L]
RewriteRule ^account/rekk.php(/?)+$ index.php?menu=account&sel=rekk [L]
RewriteRule ^account/farm.php(/?)+$ index.php?menu=account&sel=farm [L]
RewriteRule ^account/bonus_1.php(/?)+$ index.php?menu=account&sel=bonus_1 [L]
RewriteRule ^account/bonus_2.php(/?)+$ index.php?menu=account&sel=bonus_2 [L]
RewriteRule ^competition/list.php(/?)+$ index.php?menu=competition&list [L]
RewriteRule ^account/exit.php(/?)+$ index.php?menu=account&sel=exit [L]


RewriteRule ^account.php(/?)+$ index.php?menu=account [L]
 
Последнее редактирование:
Slayder
Участник
Сообщения
11
Реакции
1
Вот что удалось выяснить.. Оказывается в mysql записи db_payment нет..
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Файл выплат в студию
 
Slayder
Участник
Сообщения
11
Реакции
1
Но ведь в первом сообщении я уже его выложил..
PHP:
    <td valign="top">
                        <div class="r_block">

                        <h1>Заказ выплаты</h1>


<div class="silver-bk">



<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
$banned = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

$db->Query("SELECT count(*) FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purs = $db->FetchRow();


$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

# Минималка серебром!
$minPay = 100;
#Максималка серебром
$maxPay = 3500;
# Настраиваем кол-во суток для ограничения.
$nd_timer = 1;

$maxforonepay = 10000*$sonfig_site["ser_per_wmr"]*1000*$user_data["insert_sum"] + 99999*$user_data["from_referals"];


?>
<BR />
  <center><img src="/images/logo.png"><p></center>
<BR />
  <b>Выплаты осуществляются в автоматическом режиме на платежную систему PAYEER! Процент при выводе составляет 0.95%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />

<b><font color="green">Курс продажи золота: 100 золота = 1 рубль</font></b><BR /><BR />



<center><b>Заказ выплаты:</b></center><BR />


<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 0.99){

?>
  <center><font color="red"><b>Вы не можете заказать выплату!<p>Пополните игровой баланс более чем на 1 Rub!</center>

<div class="clr"></div>
</div>
<?PHP

return;
}

?>



<?PHP

$ddel = time() + 60*60*1;
$dadd = time();


    function ViewPurse($purse){

        if( substr($purse,0,1) != "P" ) return false;
        if( !ereg("^[0-9]{7,8}$", substr($purse,1)) ) return false;
        return $purse;
    }
# Проверка на дату выплаты
//$db->Query("SELECT COUNT(*) FROM db_pay_dat WHERE user_id = '$usid' AND date_del > '$dadd'");

// if($db->FetchRow() == 0){
   echo "$purse $sum";
        # Заносим выплату
        if(isset($_POST["purse"])){

        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        $p_password = $func->IsPassword($_POST["p_pass"]);



      if ($sum <= $maxPay){

        if($purse !== false){

                if($sum >= $minPay){


                    if($sum <= $user_data["money_p"]){

if($sum <= $maxforonepay) {

                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
       if ($frompayments["date_add"] <= time() - $nd_timer * 86400) {


                   if($banned["banned_multi"] == 0){


                            ### Делаем выплату ###
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
                            if ($payeer->isAuth())
                            {

                                $arBalance = $payeer->getBalance();
                                if($arBalance["auth_error"] == 0)
                                {

                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

                                    $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                                    if( ($balance) >= ($sum_pay)){



                                    $arTransfer = $payeer->transfer(array(
                                    'curIn' => 'RUB', // счет списания
                                    'sum' => $sum_pay, // сумма получения
                                    'curOut' => 'RUB', // валюта получения
                                    'to' => $purse, // получатель (email)
                                    //'to' => '+71112223344',  // получатель (телефон)
                                    //'to' => 'P1000000',  // получатель (номер счета)
                                    'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Минералс")
                                    //'anonim' => 'Y', // анонимный перевод
                                    //'protect' => 'Y', // протекция сделки
                                    //'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
                                    //'protectCode' => '12345', // код протекции
                                    ));

                                        if (!empty($arTransfer["historyId"]))
                                        {


                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;

                                            $ppid = $arTransfer["historyId"];

                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
                                            VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");


                                                        # заносим защиту от большой выплаты и дату
                                                     
                                                        # Случайная очистка устаревших записей
                                                        //$db->Query("DELETE FROM db_pay_dat WHERE date_del < '$dadd'");

                                                echo "<center><font color = 'green'><b>Средства успешно выплачены!<p></center><BR />";

                                        }
                                        else
                                        {

                                            echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                        }


                                    }else echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже! 1</b></font></center><BR />";

                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже! 2</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Доступ к выплатам заблокирован за нарушение правил проекта!<BR />
Напишите в <a href='/support'>поддержку </a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы уже получали выплату за последние 24 часа!</b></font></center>";


                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения!</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Вы не можете вывести столько средств за один раз [<a href='/limit'>Почему ?</a>] !</b></font></center><BR />";

                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету!</b></font></center><BR />";


                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты - 100 золота!</font></b></center><BR />";


        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";

        }else echo "<center><font color = 'red'><b>Вы можете заказать выплату не более, чем на 100 рублей!</b></font></center><BR />";

    }


//    }else echo "<center><font color = 'red'><b>Выплаты можно осуществлять не более, чем один раз в час</b></font></center><BR />";

?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
    <td><font color="#EC4D4D;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
    <td><input type="text" name="purse" size="15"/></td>
  </tr>

  <tr>
    <td><font color="#EC4D4D;">Отдаете золота для вывода</font> [Мин. 100]<font color="#EC4D4D;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Золото</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP

  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP

        }

    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

  ?>


</table><div class="clr"></div>
</div>
 
Последнее редактирование:
pligin
Участник
Сообщения
3.654
Реакции
1.336
Slayder написал(а):
Но ведь в первом сообщении я уже его выложил..
PHP:
    <td valign="top">
                        <div class="r_block">

                        <h1>Заказ выплаты</h1>


<div class="silver-bk">



<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_users_b WHERE id = '$usid' LIMIT 1");
$user_data = $db->FetchArray();

$db->Query("SELECT * FROM db_users_a WHERE id = '$usid' LIMIT 1");
$banned = $db->FetchArray();

$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

$db->Query("SELECT count(*) FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purs = $db->FetchRow();


$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

# Минималка серебром!
$minPay = 100;
#Максималка серебром
$maxPay = 3500;
# Настраиваем кол-во суток для ограничения.
$nd_timer = 1;

$maxforonepay = 10000*$sonfig_site["ser_per_wmr"]*1000*$user_data["insert_sum"] + 99999*$user_data["from_referals"];


?>
<BR />
  <center><img src="/images/logo.png"><p></center>
<BR />
  <b>Выплаты осуществляются в автоматическом режиме на платежную систему PAYEER! Процент при выводе составляет 0.95%</b> <BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />

<b><font color="green">Курс продажи золота: 100 золота = 1 рубль</font></b><BR /><BR />



<center><b>Заказ выплаты:</b></center><BR />


<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 0.99){

?>
  <center><font color="red"><b>Вы не можете заказать выплату!<p>Пополните игровой баланс более чем на 1 Rub!</center>

<div class="clr"></div>
</div>
<?PHP

return;
}

?>



<?PHP

$ddel = time() + 60*60*1;
$dadd = time();


    function ViewPurse($purse){

        if( substr($purse,0,1) != "P" ) return false;
        if( !ereg("^[0-9]{7,8}$", substr($purse,1)) ) return false;
        return $purse;
    }
# Проверка на дату выплаты
//$db->Query("SELECT COUNT(*) FROM db_pay_dat WHERE user_id = '$usid' AND date_del > '$dadd'");

// if($db->FetchRow() == 0){
   echo "$purse $sum";
        # Заносим выплату
        if(isset($_POST["purse"])){

        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
        $p_password = $func->IsPassword($_POST["p_pass"]);



      if ($sum <= $maxPay){

        if($purse !== false){

                if($sum >= $minPay){


                    if($sum <= $user_data["money_p"]){

if($sum <= $maxforonepay) {

                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
                        if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
       if ($frompayments["date_add"] <= time() - $nd_timer * 86400) {


                   if($banned["banned_multi"] == 0){


                            ### Делаем выплату ###
                            $payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
                            if ($payeer->isAuth())
                            {

                                $arBalance = $payeer->getBalance();
                                if($arBalance["auth_error"] == 0)
                                {

                                    $sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);

                                    $balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
                                    if( ($balance) >= ($sum_pay)){



                                    $arTransfer = $payeer->transfer(array(
                                    'curIn' => 'RUB', // счет списания
                                    'sum' => $sum_pay, // сумма получения
                                    'curOut' => 'RUB', // валюта получения
                                    'to' => $purse, // получатель (email)
                                    //'to' => '+71112223344',  // получатель (телефон)
                                    //'to' => 'P1000000',  // получатель (номер счета)
                                    'comment' => iconv('windows-1251', 'utf-8', "Выплата пользователю {$usname} с проекта Минералс")
                                    //'anonim' => 'Y', // анонимный перевод
                                    //'protect' => 'Y', // протекция сделки
                                    //'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
                                    //'protectCode' => '12345', // код протекции
                                    ));

                                        if (!empty($arTransfer["historyId"]))
                                        {


                                            # Снимаем с пользователя
                                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

                                            # Вставляем запись в выплаты
                                            $da = time();
                                            $dd = $da + 60*60*24*15;

                                            $ppid = $arTransfer["historyId"];

                                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, payment_id, date_add, status)
                                            VALUES ('$usname','$usid','$purse','$sum_pay','RUB', '$sum','$ppid','".time()."', '3')");

                                            $db->Query("UPDATE db_users_b SET payment_sum = payment_sum + '$sum_pay' WHERE id = '$usid'");
                                            $db->Query("UPDATE db_stats SET all_payments = all_payments + '$sum_pay' WHERE id = '1'");


                                                        # заносим защиту от большой выплаты и дату
                                                    
                                                        # Случайная очистка устаревших записей
                                                        //$db->Query("DELETE FROM db_pay_dat WHERE date_del < '$dadd'");

                                                echo "<center><font color = 'green'><b>Средства успешно выплачены!<p></center><BR />";

                                        }
                                        else
                                        {

                                            echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                        }


                                    }else echo "<center><font color = 'red'><b>Внутренняя ошибка - сообщите о ней администратору!</b></font></center><BR />";

                                }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже! 1</b></font></center><BR />";

                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Попробуйте позже! 2</b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Доступ к выплатам заблокирован за нарушение правил проекта!<BR />
Напишите в <a href='/support'>поддержку </a></b></font></center><BR />";

}else echo "<center><font color = 'red'><b>Вы уже получали выплату за последние 24 часа!</b></font></center>";


                        }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения!</b></font></center><BR />";
}else echo "<center><font color = 'red'><b>Вы не можете вывести столько средств за один раз [<a href='/limit'>Почему ?</a>] !</b></font></center><BR />";

                    }else echo "<center><font color = 'red'><b>Вы указали больше, чем имеется на вашем счету!</b></font></center><BR />";


                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты - 100 золота!</font></b></center><BR />";


        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";

        }else echo "<center><font color = 'red'><b>Вы можете заказать выплату не более, чем на 100 рублей!</b></font></center><BR />";

    }


//    }else echo "<center><font color = 'red'><b>Выплаты можно осуществлять не более, чем один раз в час</b></font></center><BR />";

?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
    <td><font color="#EC4D4D;">Введите кошелек Payeer [Пример: P1112457]</font>: </td>
    <td><input type="text" name="purse" size="15"/></td>
  </tr>

  <tr>
    <td><font color="#EC4D4D;">Отдаете золота для вывода</font> [Мин. 100]<font color="#EC4D4D;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>



<table cellpadding='3' cellspacing='0' border='0' bordercolor='#336633' align='center' width="99%">
  <tr>
    <td colspan="5" align="center"><h4>Последние 10 выплат</h4></td>
    </tr>
  <tr>
    <td align="center" class="m-tb">Золото</td>
    <td align="center" class="m-tb">Получаете</td>
    <td align="center" class="m-tb">Кошелек</td>
    <td align="center" class="m-tb">Дата</td>
    <td align="center" class="m-tb">Статус</td>
  </tr>
  <?PHP

  $db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 20");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?> <?=$ref["valuta"]; ?></td>
            <td align="center"><?=$ref["purse"]; ?></td>
            <td align="center"><?=date("d.m.Y",$ref["date_add"]); ?></td>
            <td align="center"><?=$status_array[$ref["status"]]; ?></td>
          </tr>
        <?PHP

        }

    }else echo '<tr><td align="center" colspan="5">Нет записей</td></tr>'

  ?>


</table><div class="clr"></div>
</div>
У тебя два варианта этой ошибки.
Я вижу ты их пометил цифрами.
Которая из ошибок вылазит?
 
Slayder
Участник
Сообщения
11
Реакции
1
Вторая
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
Скрипт не может авторизоваться в payeer
Ты настроил массовые выплаты в payeer?
 
Slayder
Участник
Сообщения
11
Реакции
1
  • #10
Да вроде все настроил..
/classes/_class.config.php
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
  • #11
Slayder
Участник
Сообщения
11
Реакции
1
  • #12
public $AccountNumber = '.....' Здесь Номер кошелька или ID: (там где массовые выплаты?)
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
  • #13
# PAYEER настройки
public $AccountNumber = 'КОШЕЛЕК';
public $apiId = 'API массовых выплат';
public $apiKey = 'КЛЮЧ API МАССОВЫХ ВЫПЛАТ';
public $shopID = НОМЕР МЕРЧАНТА;
public $secretW = 'СЕКРЕТНЫЙ КЛЮЧ МЕРЧАНТА';
 
Slayder
Участник
Сообщения
11
Реакции
1
  • #14
Все так
 
Slayder
Участник
Сообщения
11
Реакции
1
  • #16
Нет, пробный период правда.. Но с ним столько проблем ппц.. beget.com.. IP - 100% верный, я проверял самыми разными способами..

Урл обработчика /account/payment.php
Может где то заглушка стоит на минималку в кошельке паера?
 
Последнее редактирование:
pligin
Участник
Сообщения
3.654
Реакции
1.336
  • #17
Slayder написал(а):
Нет, пробный период правда.. Но с ним столько проблем ппц.. beget.com.. IP - 100% верный, я проверял самыми разными способами..
Может где то заглушка стоит на минималку в кошельке паера?
про заглушку не слышал. у меня выводится и по 0.1 р.
кидай в личку данные фтп
 
Slayder
Участник
Сообщения
11
Реакции
1
  • #18
admin написал(а):
про заглушку не слышал
f-ferma.ru/sovety/399-faq-po-skriptu-fruit-farm-vyplaty.html - здесь про это есть немного..
 
pligin
Участник
Сообщения
3.654
Реакции
1.336
  • #19
Slayder написал(а):
f-ferma.ru/sovety/399-faq-po-skriptu-fruit-farm-vyplaty.html - здесь про это есть немного..
какое отношение заглушка на выплаты имеет к авторизации на Payeer?
 
Slayder
Участник
Сообщения
11
Реакции
1
  • #20
Спасибо, все заработало!
 
Сверху