astin
Участник
Прошу помощи.
Уже не знаю что делать, Всё указано верно а выходит ошибка Ошибка 1
Я так понимаю то связано с API Payeer , хотя все указано как надо
Вот класс для работы с паер
Вот выплаты
Уже и на разные кошельки пробовал и API менял и ничего не помогает
Сайт на хостинге hostinger.ru
Уже не знаю что делать, Всё указано верно а выходит ошибка Ошибка 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';
}
Сайт на хостинге hostinger.ru