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

Статус
Закрыто для дальнейших ответов.

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 = 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

Команда форума
Администратор
Случаем не на свой кошелек делаешь выплату?
 

Slayder

Участник
Нет, создал другой.. С оплатой норм все, серебро зачисляется..
А вот вывод - отнюдь.. :( Я уже и звездочки вместо 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

Участник
Вот что удалось выяснить.. Оказывается в mysql записи db_payment нет..
 

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>
 
Последнее редактирование:

pligin

Команда форума
Администратор
Но ведь в первом сообщении я уже его выложил..
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

Команда форума
Администратор
Скрипт не может авторизоваться в payeer
Ты настроил массовые выплаты в payeer?
 

Slayder

Участник
public $AccountNumber = '.....' Здесь Номер кошелька или ID: (там где массовые выплаты?)
 

pligin

Команда форума
Администратор
# PAYEER настройки
public $AccountNumber = 'КОШЕЛЕК';
public $apiId = 'API массовых выплат';
public $apiKey = 'КЛЮЧ API МАССОВЫХ ВЫПЛАТ';
public $shopID = НОМЕР МЕРЧАНТА;
public $secretW = 'СЕКРЕТНЫЙ КЛЮЧ МЕРЧАНТА';
 

Slayder

Участник
Нет, пробный период правда.. Но с ним столько проблем ппц.. beget.com.. IP - 100% верный, я проверял самыми разными способами..

Урл обработчика /account/payment.php
Может где то заглушка стоит на минималку в кошельке паера?
 
Последнее редактирование:

pligin

Команда форума
Администратор
Нет, пробный период правда.. Но с ним столько проблем ппц.. beget.com.. IP - 100% верный, я проверял самыми разными способами..
Может где то заглушка стоит на минималку в кошельке паера?
про заглушку не слышал. у меня выводится и по 0.1 р.
кидай в личку данные фтп
 
Статус
Закрыто для дальнейших ответов.
Верх