ПРОБЛЕМА Огроменная проблема, выплата средств не работает.

195954

Местный
Здравствуйте форумчане, до сих пор решаю проблему с выплатой средств.
Сама ошибка: Не удалось выплатить! Ошибка номер 2. Эта ошибка вторая по счёту, знаю уже, это нет авторизации в payeer.
Пополнение работает.
Специально скачал скрипт Test Balance, он пишет, not_settings. На компьютере выводит баланс.
Код Test Balance:
PHP:
<?
@include("../classes/_class.config.php");
@include("../classes/_class.rfs_payeer.php");
$config = new config;
if(isset($_GET["var"])) var_dump($config);
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$arBalance = $payeer->getBalance();
$balancer = $arBalance["balance"]["RUB"]["DOSTUPNO"];
$balanceb = $arBalance["balance"]["BTC"]["DOSTUPNO"];
$balancee = $arBalance["balance"]["EUR"]["DOSTUPNO"];
$balanceu = $arBalance["balance"]["USD"]["DOSTUPNO"];
echo "<pre>".print_r($balancer, true)." RUB</pre>";
echo "<pre>".print_r($balanceb, true)." BTC</pre>";
echo "<pre>".print_r($balancee, true)." EUR</pre>";
echo "<pre>".print_r($balanceu, true)." USD</pre>";
}else echo "not_settings";
?>
Код страницы выплат:
PHP:
<div class="s-bk-lf">
    <div class="acc-title">Заказ выплаты</div>
</div>
<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_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 * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$data = $db->FetchArray();

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

$nd_time = time() - 60*60*24*1;

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND date_add >= '$nd_time' order by id DESC");

$frompayments = $db->FetchArray();
$last24pay = $frompayments["sum"]*$sonfig_site["ser_per_wmr"];

# Минималка серебром!
$minPay = 100;
# Настраиваем ограничения
$maxforonepay = 0.1*$sonfig_site["ser_per_wmr"]*$user_data["insert_sum"] + 0.1*$user_data["from_referals"]; //Суточное ограничение 10% от вклада
$max_pay = 1.2*$sonfig_site["ser_per_wmr"]*$user_data["insert_sum"] + $user_data["from_referals"]; //Общее ограничение 120% от вклада
?>
<p>
<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему PAYEER!</b> <BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<?PHP
if($user_data["payment_sum"] == 0 ){
echo '<center><font color=red><b>ВНИМАНИЕ! ПОСЛЕ ПЕРВОЙ ВЫПЛАТЫ ИЗМЕНИТЬ НОМЕР КОШЕЛЬКА <font color = "blue">PAYEER</font> БУДЕТ НЕВОЗМОЖНО!!!!</b></font></center>';
}else echo '<center><b>Заказ выплаты:</b></center>';
?>
<center>
<div style="width: 468px; height: 10px; text-align: center; color: #ffffff; background: url('') no-repeat; font: 12px Tahoma, Verdana, sans-serif; overflow: hidden">


  </div>
</div>

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

?>
<center><font color="red"><b>Выплату могут заказать те кто пополнил счет минимум на 10 рублей<br></font></center>

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

return;
}

?>

<?PHP

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

    # Заносим выплату
    if(isset($_POST["purse"])){
     
        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
     
        if($purse !== false){
         
                if($sum >= $minPay){
                if ($frompayments["date_add"] <= time() - 86400) {
                    if($sum <= $user_data["money_p"]){
                        if($sum + $sonfig_site["ser_per_wmr"]*$user_data["payment_sum"] <= $max_pay) {
                     
                        if($sum + $last24pay <= $maxforonepay) {
                     
                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
    //                    if($db->FetchRow() == 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+1)){
                                 
                                 
                                 
                                    $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} с проекта cryptospinner.site")
                                    //'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'");
                                         
                                            echo "<center><font color = 'green'><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>Не удалось выплатить! Ошибка номер 1.</b></font></center><BR />";
                             
                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Ошибка номер 2.</b></font></center><BR />";
                         
                             
        //                }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения.</b></font></center><BR />";
                            }else echo "<center><font color = 'red'><b>Вы указали сумму, которая превышает суточный максимум для выплат! Вы можете вывести только 10% от суммы своих вкладов!</b></font></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>В ближайшие 24 часа Вы уже получали выплату! Попробуйте позже</b></font></center>";
                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} монет!</font></b></center><BR />";
     
        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";
     
    }
?>


<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;"><b>Введите кошелек Payeer [Пример: P1234567]</b></font>: </td>
<?php

    IF($sonfig_purse["purse"])
    {$pur=$sonfig_purse["purse"];
    echo"<td><input type='text' name='purse' size='15' value='".$pur."' readonly='readonly'";
    echo"</td>";
    }

    else echo"<td><input type='text' name='purse' size='15'/> </td>";


?>


  </tr>
  <tr>
    <td><font color="#000;"><b>Отдаете монеты для вывода</font> [Мин. 100]<font color="#000;">:<b></font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;"><b>Получаете рублей <span id="res_val"></span></font><font color="#000;">:</b></font> </td>
    <td>
    <input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
    <input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
    <input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled"/>
    <input type="hidden" name="val_type" id="val_type" value="RUB" />
    </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>
<br>
<br>

<div class="clr"></div>
Код файла _class.rfs_payeer.php:
PHP:
<?php
if (!defined('PSWeb') || PSWeb !== true) { Header('Location: /404'); return; }
class rfs_payeer
{
    private $url = 'https://payeer.com/ajax/api/api.php';
    private $agent = 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0';

    private $auth = array();

    private $output;
    private $errors;
    private $language = 'ru';

    public function __construct($account, $apiId, $apiPass)
    {
        $arr = array(
            'account' => $account,
            'apiId' => $apiId,
            'apiPass' => $apiPass,
        );

        $response = $this->getResponse($arr);

        if ($response['auth_error'] == '0')
        {
            $this->auth = $arr;
        }
    }

    public function isAuth()
    {
        if (!empty($this->auth)) return true;
        return false;
    }

    private function getResponse($arPost)
    {
        if (!function_exists('curl_init'))
        {
           die('curl library not installed');
           return false;
        }

        if ($this->isAuth())
        {
            $arPost = array_merge($arPost, $this->auth);
        }

        $data = array();
        foreach ($arPost as $k => $v)
        {
            $data[] = urlencode($k) . '=' . urlencode($v);
        }
        $data[] = 'language=' . $this->language;
        $data = implode('&', $data);

        $handler  = curl_init();
        curl_setopt($handler, CURLOPT_URL, $this->url);
        curl_setopt($handler, CURLOPT_HEADER, 0);
        curl_setopt($handler, CURLOPT_POST, true);
        curl_setopt($handler, CURLOPT_POSTFIELDS, $data);
        curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($handler, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($handler, CURLOPT_USERAGENT, $this->agent);
        curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);

        $content = curl_exec($handler);
        //print_r($content);

        $arRequest = curl_getinfo($handler);
        //print_r($arRequest);

        curl_close($handler);
        //print_r($content);

        $content = json_decode($content, true);

        if (isset($content['errors']) && !empty($content['errors']))
        {
            $this->errors = $content['errors'];
        }

        return $content;
    }

    public function getPaySystems()
    {
        $arPost = array(
            'action' => 'getPaySystems',
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function initOutput($arr)
    {
        $arPost = $arr;
        $arPost['action'] = 'initOutput';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            $this->output = $arr;
            return true;
        }

        return false;
    }

    public function output()
    {
        $arPost = $this->output;
        $arPost['action'] = 'output';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return $response['historyId'];
        }

        return false;
    }

    public function getHistoryInfo($historyId)
    {
        $arPost = array(
            'action' => 'historyInfo',
            'historyId' => $historyId
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function getBalance()
    {
        $arPost = array(
            'action' => 'balance',
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function getErrors()
    {
        return $this->errors;
    }

    public function transfer($arPost)
    {
        $arPost['action'] = 'transfer';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function SetLang($language)
    {
        $this->language = $language;
        return $this;
    }

    public function getShopOrderInfo($arPost)
    {
        $arPost['action'] = 'shopOrderInfo';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function checkUser($arPost)
    {
        $arPost['action'] = 'checkUser';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return true;
        }

        return false;
    }

    public function getExchangeRate($arPost)
    {
        $arPost['action'] = 'getExchangeRate';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function merchant($arPost)
    {
        $arPost['action'] = 'merchant';

        $arPost['shop'] = json_encode($arPost['shop']);
        $arPost['form'] = json_encode($arPost['form']);
        $arPost['ps'] = json_encode($arPost['ps']);

        if (empty($arPost['ip'])) $arPost['ip'] = $_SERVER['REMOTE_ADDR'];

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return $response;
        }

        return false;
    }
   
}
?>
Код файла конфига в лс скину. Стоит ферма с репозитория github который принадлежит @pligin В начале все работало.
Сейчас же не работает после моей глупости, задел iconv.
Как мне известно iconv — Преобразование строки в требуемую кодировку.
Раньше проблемы с api были, сейчас авторизацию на локальном сервере проверял все работает, на скрипте игры не работает.
Если нужны еще файлы какие-то пишите, все скину.
Благодарю за помощь!
 

pligin

Команда форума
Администратор
Здравствуйте форумчане, до сих пор решаю проблему с выплатой средств.
Сама ошибка: Не удалось выплатить! Ошибка номер 2. Эта ошибка вторая по счёту, знаю уже, это нет авторизации в payeer.
Пополнение работает.
Специально скачал скрипт Test Balance, он пишет, not_settings. На компьютере выводит баланс.
Код Test Balance:
PHP:
<?
@include("../classes/_class.config.php");
@include("../classes/_class.rfs_payeer.php");
$config = new config;
if(isset($_GET["var"])) var_dump($config);
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$arBalance = $payeer->getBalance();
$balancer = $arBalance["balance"]["RUB"]["DOSTUPNO"];
$balanceb = $arBalance["balance"]["BTC"]["DOSTUPNO"];
$balancee = $arBalance["balance"]["EUR"]["DOSTUPNO"];
$balanceu = $arBalance["balance"]["USD"]["DOSTUPNO"];
echo "<pre>".print_r($balancer, true)." RUB</pre>";
echo "<pre>".print_r($balanceb, true)." BTC</pre>";
echo "<pre>".print_r($balancee, true)." EUR</pre>";
echo "<pre>".print_r($balanceu, true)." USD</pre>";
}else echo "not_settings";
?>
Код страницы выплат:
PHP:
<div class="s-bk-lf">
    <div class="acc-title">Заказ выплаты</div>
</div>
<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_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 * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$data = $db->FetchArray();

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

$nd_time = time() - 60*60*24*1;

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND date_add >= '$nd_time' order by id DESC");

$frompayments = $db->FetchArray();
$last24pay = $frompayments["sum"]*$sonfig_site["ser_per_wmr"];

# Минималка серебром!
$minPay = 100;
# Настраиваем ограничения
$maxforonepay = 0.1*$sonfig_site["ser_per_wmr"]*$user_data["insert_sum"] + 0.1*$user_data["from_referals"]; //Суточное ограничение 10% от вклада
$max_pay = 1.2*$sonfig_site["ser_per_wmr"]*$user_data["insert_sum"] + $user_data["from_referals"]; //Общее ограничение 120% от вклада
?>
<p>
<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему PAYEER!</b> <BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />
<?PHP
if($user_data["payment_sum"] == 0 ){
echo '<center><font color=red><b>ВНИМАНИЕ! ПОСЛЕ ПЕРВОЙ ВЫПЛАТЫ ИЗМЕНИТЬ НОМЕР КОШЕЛЬКА <font color = "blue">PAYEER</font> БУДЕТ НЕВОЗМОЖНО!!!!</b></font></center>';
}else echo '<center><b>Заказ выплаты:</b></center>';
?>
<center>
<div style="width: 468px; height: 10px; text-align: center; color: #ffffff; background: url('') no-repeat; font: 12px Tahoma, Verdana, sans-serif; overflow: hidden">


  </div>
</div>

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

?>
<center><font color="red"><b>Выплату могут заказать те кто пополнил счет минимум на 10 рублей<br></font></center>

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

return;
}

?>

<?PHP

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

    # Заносим выплату
    if(isset($_POST["purse"])){
    
        $purse = ViewPurse($_POST["purse"]);
        $sum = intval($_POST["sum"]);
        $val = "RUB";
    
        if($purse !== false){
        
                if($sum >= $minPay){
                if ($frompayments["date_add"] <= time() - 86400) {
                    if($sum <= $user_data["money_p"]){
                        if($sum + $sonfig_site["ser_per_wmr"]*$user_data["payment_sum"] <= $max_pay) {
                    
                        if($sum + $last24pay <= $maxforonepay) {
                    
                        # Проверяем на существующие заявки
                        $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
    //                    if($db->FetchRow() == 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+1)){
                                
                                
                                
                                    $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} с проекта cryptospinner.site")
                                    //'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'");
                                        
                                            echo "<center><font color = 'green'><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>Не удалось выплатить! Ошибка номер 1.</b></font></center><BR />";
                            
                            }else echo "<center><font color = 'red'><b>Не удалось выплатить! Ошибка номер 2.</b></font></center><BR />";
                        
                            
        //                }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения.</b></font></center><BR />";
                            }else echo "<center><font color = 'red'><b>Вы указали сумму, которая превышает суточный максимум для выплат! Вы можете вывести только 10% от суммы своих вкладов!</b></font></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>В ближайшие 24 часа Вы уже получали выплату! Попробуйте позже</b></font></center>";
                }else echo "<center><b><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} монет!</font></b></center><BR />";
    
        }else echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";
    
    }
?>


<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;"><b>Введите кошелек Payeer [Пример: P1234567]</b></font>: </td>
<?php

    IF($sonfig_purse["purse"])
    {$pur=$sonfig_purse["purse"];
    echo"<td><input type='text' name='purse' size='15' value='".$pur."' readonly='readonly'";
    echo"</td>";
    }

    else echo"<td><input type='text' name='purse' size='15'/> </td>";


?>


  </tr>
  <tr>
    <td><font color="#000;"><b>Отдаете монеты для вывода</font> [Мин. 100]<font color="#000;">:<b></font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;"><b>Получаете рублей <span id="res_val"></span></font><font color="#000;">:</b></font> </td>
    <td>
    <input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
    <input type="hidden" name="per" id="RUB" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/>
    <input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled"/>
    <input type="hidden" name="val_type" id="val_type" value="RUB" />
    </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>
<br>
<br>

<div class="clr"></div>
Код файла _class.rfs_payeer.php:
PHP:
<?php
if (!defined('PSWeb') || PSWeb !== true) { Header('Location: /404'); return; }
class rfs_payeer
{
    private $url = 'https://payeer.com/ajax/api/api.php';
    private $agent = 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0';

    private $auth = array();

    private $output;
    private $errors;
    private $language = 'ru';

    public function __construct($account, $apiId, $apiPass)
    {
        $arr = array(
            'account' => $account,
            'apiId' => $apiId,
            'apiPass' => $apiPass,
        );

        $response = $this->getResponse($arr);

        if ($response['auth_error'] == '0')
        {
            $this->auth = $arr;
        }
    }

    public function isAuth()
    {
        if (!empty($this->auth)) return true;
        return false;
    }

    private function getResponse($arPost)
    {
        if (!function_exists('curl_init'))
        {
           die('curl library not installed');
           return false;
        }

        if ($this->isAuth())
        {
            $arPost = array_merge($arPost, $this->auth);
        }

        $data = array();
        foreach ($arPost as $k => $v)
        {
            $data[] = urlencode($k) . '=' . urlencode($v);
        }
        $data[] = 'language=' . $this->language;
        $data = implode('&', $data);

        $handler  = curl_init();
        curl_setopt($handler, CURLOPT_URL, $this->url);
        curl_setopt($handler, CURLOPT_HEADER, 0);
        curl_setopt($handler, CURLOPT_POST, true);
        curl_setopt($handler, CURLOPT_POSTFIELDS, $data);
        curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, 0);
        curl_setopt($handler, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($handler, CURLOPT_USERAGENT, $this->agent);
        curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);

        $content = curl_exec($handler);
        //print_r($content);

        $arRequest = curl_getinfo($handler);
        //print_r($arRequest);

        curl_close($handler);
        //print_r($content);

        $content = json_decode($content, true);

        if (isset($content['errors']) && !empty($content['errors']))
        {
            $this->errors = $content['errors'];
        }

        return $content;
    }

    public function getPaySystems()
    {
        $arPost = array(
            'action' => 'getPaySystems',
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function initOutput($arr)
    {
        $arPost = $arr;
        $arPost['action'] = 'initOutput';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            $this->output = $arr;
            return true;
        }

        return false;
    }

    public function output()
    {
        $arPost = $this->output;
        $arPost['action'] = 'output';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return $response['historyId'];
        }

        return false;
    }

    public function getHistoryInfo($historyId)
    {
        $arPost = array(
            'action' => 'historyInfo',
            'historyId' => $historyId
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function getBalance()
    {
        $arPost = array(
            'action' => 'balance',
        );

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function getErrors()
    {
        return $this->errors;
    }

    public function transfer($arPost)
    {
        $arPost['action'] = 'transfer';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function SetLang($language)
    {
        $this->language = $language;
        return $this;
    }

    public function getShopOrderInfo($arPost)
    {
        $arPost['action'] = 'shopOrderInfo';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function checkUser($arPost)
    {
        $arPost['action'] = 'checkUser';

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return true;
        }

        return false;
    }

    public function getExchangeRate($arPost)
    {
        $arPost['action'] = 'getExchangeRate';

        $response = $this->getResponse($arPost);

        return $response;
    }

    public function merchant($arPost)
    {
        $arPost['action'] = 'merchant';

        $arPost['shop'] = json_encode($arPost['shop']);
        $arPost['form'] = json_encode($arPost['form']);
        $arPost['ps'] = json_encode($arPost['ps']);

        if (empty($arPost['ip'])) $arPost['ip'] = $_SERVER['REMOTE_ADDR'];

        $response = $this->getResponse($arPost);

        if (empty($response['errors']))
        {
            return $response;
        }

        return false;
    }
  
}
?>
Код файла конфига в лс скину. Стоит ферма с репозитория github который принадлежит @pligin В начале все работало.
Сейчас же не работает после моей глупости, задел iconv.
Как мне известно iconv — Преобразование строки в требуемую кодировку.
Раньше проблемы с api были, сейчас авторизацию на локальном сервере проверял все работает, на скрипте игры не работает.
Если нужны еще файлы какие-то пишите, все скину.
Благодарю за помощь!
проверь данные доступа к API.
в настройках API должен быть указан IP сервера, с которого отправляется запрос
 

195954

Местный
проверь данные доступа к API.
в настройках API должен быть указан IP сервера, с которого отправляется запрос
Да, на локальном сервере payeer требовал вести айпи для выплат, я ввёл свой и баланс появился.
На скрипте тоже так делал, не работает, даже пересоздавал api для выплат(новый делал и сохранял).
Создавал ещё один и вводил туда айпи и api копировал, заменял, нет авторизации.
 

195954

Местный
Я разместился на вашем хостинге, айпи сайта и сервера совпадают.
 

195954

Местный
Могу скинуть вам api и ввести айпи который дадите.
В rfs payeer вроде да.
 

195954

Местный
API работает, тогда в чем проблема? только скажите не, то, что руки из бедер.
 

pligin

Команда форума
Администратор
API работает, тогда в чем проблема? только скажите не, то, что руки из бедер.
Используй всегда кодировку utf-8. Класс Payeer скачай с сайта Payeer - там уже нужная кодировка и нужные функции
 
Верх