РЕШЕНО Не проходят выплаты

astin

Участник
Прошу помощи.

Уже не знаю что делать, Всё указано верно а выходит ошибка Ошибка 1
Я так понимаю то связано с API Payeer , хотя все указано как надо

Вот класс для работы с паер

PHP:
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;
    
    /*======================================================================*\
    Function:    __construct
    Descriiption: Выполняется при создании экземпляра класса
    \*======================================================================*/
    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;
        }
    }
    
    
    /*======================================================================*\
    Function:    PaySystemData
    Descriiption: Проверяет аудентификацию
    \*======================================================================*/
    public function PaySystemData($SystemId)
    {
        if (empty($this->auth)) return false;
        $response = $this->getPaySystems();
        
        if($response["auth_error"] == 0){
        
            if(isset($response["list"][$SystemId])){
            
                return $response["list"][$SystemId];
            
            }else return false;
        
        }else return false;
        
    }
    
    /*======================================================================*\
    Function:    isAuth
    Descriiption: Проверяет аудентификацию
    \*======================================================================*/
    public function isAuth()
    {
        if (!empty($this->auth)) return true;
        return false;
    }
    
    
    /*======================================================================*\
    Function:    getResponse
    Descriiption: Получение ответа от сервера
    \*======================================================================*/
    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 = 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_USERAGENT, $this->agent);
        curl_setopt($handler, CURLOPT_RETURNTRANSFER, 1);
        $content = curl_exec($handler);
        curl_close($handler);
        $content = $this->objectToArray(json_decode($content));
        return $content;
    }
    
    
    /*======================================================================*\
    Function:    objectToArray
    Descriiption: Перевод обьекта в массив
    \*======================================================================*/
    private function objectToArray($ob)
    {
        $arr = array();
        foreach ($ob as $k => $v)
        {
            if (is_object($v))
            {
                $arr[$k] = $this->objectToArray($v);               
            }
            else
            {
                $arr[$k] = $v;
            }
        }
        return $arr;
    }
    
    
    /*======================================================================*\
    Function:    getPaySystems
    Descriiption: Получение платежной системы
    \*======================================================================*/
    public function getPaySystems()
    {
        $arPost = array(
            'action' => 'getPaySystems',
        );
        $response = $this->getResponse($arPost);
        
        return $response;
    }   
    
    
    /*======================================================================*\
    Function:    initOutput
    Descriiption: Инициализация данных на выплату
    \*======================================================================*/
    public function initOutput($arr)
    {
        $arPost = $arr;
        $arPost['action'] = 'initOutput';
        $response = $this->getResponse($arPost);
        if (empty($response['errors']))
        {
            $this->output = $arr;
            return true;
        }
        else
        {
            $this->errors = $response['errors'];
        }
        return false;
    }
    
    /*======================================================================*\
    Function:    output
    Descriiption: Выплата
    \*======================================================================*/
    public function output()
    {
        $arPost = $this->output;
        $arPost['action'] = 'output';
        $response = $this->getResponse($arPost);
        if (empty($response['errors']))
        {
            return $response['historyId'];
        }
        else
        {
            $this->errors = $response['errors'];
        }
        return false;
    }
    
    /*======================================================================*\
    Function:    getHistoryInfo
    Descriiption: Получение истории
    \*======================================================================*/
    public function getHistoryInfo($historyId)
    {
        $arPost = array(
            'action' => 'historyInfo',
            'historyId' => $historyId
        );
        $response = $this->getResponse($arPost);
        return $response;
    }
    
    
    /*======================================================================*\
    Function:    getBalance
    Descriiption: Получение баланса
    \*======================================================================*/
    public function getBalance()
    {
        $arPost = array(
            'action' => 'balance',
        );
        $response = $this->getResponse($arPost);
        return $response;
    }
    
    
    /*======================================================================*\
    Function:    getErrors
    Descriiption: Возвращает ошибку
    \*======================================================================*/
    public function getErrors()
    {
        return $this->errors;
    }
    
    
    /*======================================================================*\
    Function:    transfer
    Descriiption: Никуя не вникал что это за метод...
    \*======================================================================*/
    public function transfer($arPost)
    {
        $arPost['action'] = 'transfer';
        $response = $this->getResponse($arPost);
        return $response;
    }
    
}
Вот выплаты

PHP:
define( 'SDIR', str_replace( '\\', '/', realpath(dirname(__FILE__)) ) );

include SDIR.'/class.rfs_payeer.php';


//НАСТРОЙКИ ДЛЯ ВЫПЛАТ
$account = 'P*****';
$apiId = 'ID';
$apiKey = 'Секретный ключ';






if(isset($_POST['pay_here']) && is_numeric($_POST['pay_here'])) {
    $payed = $_POST['pay_here'];

    $checkpayout = mysql_query("SELECT * FROM `payouts` WHERE `id` = '$payed' AND `status` = '0' LIMIT 1 ");
    $payout_exist = mysql_num_rows($checkpayout);

//echo $payout_exist;

    if( $payout_exist > 0 ) {
        $paydata=mysql_fetch_array($checkpayout);
 
        $sum_pay = $paydata['summa'];
        $payeer = new rfs_payeer($account, $apiId, $apiKey);
        
        if($payeer->isAuth()) {
            
            //echo 'Ошибка';
            $arBalance = $payeer->getBalance();
            $purse = $paydata['pm'];
            $usid = $paydata['userid'];
            $usname = $paydata['userlogin'];
            $paymentid = $paydata['id'];
            
            if($arBalance["auth_error"] == 0) {
                $balance = $arBalance['balance']['USD']['DOSTUPNO'];
                if(($balance) >= ($sum_pay)){
                    $arTransfer = $payeer->transfer(array(
                    'curIn' => 'USD', // счет списания
                    'sum' => $sum_pay, // сумма получения
                    'curOut' => 'USD', // валюта получения
                    'to' => $purse, // получатель (email)
                    //'to' => '+71112223344',  // получатель (телефон)
                    //'to' => 'P1000000',  // получатель (номер счета)
                    'comment' => "Выплата пользователю {$usname} с проекта Crazy-Money"
                    //'anonim' => 'Y', // анонимный перевод
                    //'protect' => 'Y', // протекция сделки
                    //'protectPeriod' => '3', // период протекции (от 1 до 30 дней)
                    //'protectCode' => '12345', // код протекции
                      ));
                    if (!empty($arTransfer["historyId"])) {

                        mysql_query("UPDATE payouts SET status=1 WHERE id='".$payed."'");
                        echo $infstart_ok."Выплата проиизведена!".$infend_ok;   
    
                    } else echo 'Ошибка 4';
                    
                } else echo 'Ошибка 3';
                
            } else echo 'Ошибка 2';
            
        } else echo 'Ошибка 1';
        
    } else echo 'Ошибка 0';
 
}
Уже и на разные кошельки пробовал и API менял и ничего не помогает
Сайт на хостинге hostinger.ru
 

astin

Участник
Проблема решена. В поле IP ставил адрес хостинга , а в итоге вообще не нужно было трогать то поле
 

geronimo

Местный
ошибка 1 означает что нет авторизации с паером
ошибка 2 что нет денег на кошельке
с остальным не знаю точно
 

astin

Участник
С ошибка 1 разобрался что это, в верху же писал "Я так понимаю то связано с API Payeer ", ну и вообщем проблема решена
 
Верх