Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Вот сайт fermerstroy.ru не реклама. Здесь имеются автовыплаты на множество систем. Меня интересует payeer. Я всё прописал во всех файлах и .тд. но привыводе пишет Ошибка [Array ( [0] => Sum should not be less than 1 RUB ) ] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2 Я вводил суммы больше 1 rub но не работает. Вот код:
Подозревую что это связано с массивом, так как ошибка эта выбивается под номер 2 и можно увидеть, что если это неверно if ($initOutput), то выскакивает данная ошибка
PHP:
<div class="s-bk-lf">
<div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<BR />
<?PHP
$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$user_id = $_SESSION["user_id"];
$usname = $_SESSION["user"];
$db->Query("SELECT * FROM db_users_b WHERE id = '$user_id' LIMIT 1");
$user_data = $db->FetchArray();
$db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
$sonfig_site = $db->FetchArray();
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 150;
?>
<?PHP
# Заносим выплату
if(isset($_POST['swap'])){ // проверка: была ли отправлена форма
if(!empty($_POST['purse'])){
$ps = Array(
'Payeer'=>'1136053',
'QIWI'=>'60792237',
'Яндекс'=>'25344',
'Билайн'=>'24898938',
'Мегафон'=>'24899391',
'МТС'=>'24899291',
'ТЕЛЕ2'=>'95877310',
'VISA' =>'117146509',
'MASTERCARD' =>'57644634',
'MAESTRO' =>'57766314'
);
$ps = $db->RealEscape(htmlspecialchars($ps[$_POST['ps']]));
if(!empty($ps)){
if ($db->RealEscape(htmlspecialchars($_POST['ps'] == 'Payeer'))){
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !preg_match("#^[0-9]{7,8}$#", substr($purse,1)) ) return false;
return $purse;
}
}
if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'Яндекс'))){
function ViewPurse($purse){
if( !preg_match("#^41001[0-9]{7,10}$#",$purse) ) return false;
return $purse;
}
$minPay = '1000';
}
if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'QIWI'))){
function ViewPurse($purse){
if( !preg_match("#^\+(91|994|82|372|375|374|44|998|972|66|90|81|1|507|7|77|380|371|370|996|9955|992|373|84)[0-9]{6,14}$#",$purse) ) return false;
return $purse;
}
$minPay = '1000';
}
if(isset($_POST['phone']) && $db->RealEscape(htmlspecialchars($_POST['ps'] != 'QIWI'))){
function ViewPurse($purse){
if( !preg_match("#^[\+]{1}[7]{1}[9]{1}[\d]{9}$#",$purse) ) return false;
return $purse;
}
$minPay = '1000';
}
if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'VISA'))){
function ViewPurse($purse){
if(!preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse)) return false;
return $purse;
}
}
if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'MASTERCARD'))){
function ViewPurse($purse){
if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse) ) return false;
return $purse;
}
}
if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'MAESTRO'))){
function ViewPurse($purse){
if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{15,17})$#",$purse) ) return false;
return $purse;
}
}
if(isset($_POST['card'])){
$minPay = '65000';
function ViewPerson($person){
if( !preg_match("#^([a-zA-ZА-Яабвгдеёжзийклмнопрстуфхцчшщьыъэюя\.\-\' ]+)$#",$person) ) return false;
return $person;
}
$person = ViewPerson($_POST['person']);
}
$purse = ViewPurse($_POST['purse']);
if($purse != false){
if((!empty($person) AND $person != false) OR !isset($person)){
$sum = round(intval($_POST['sum']),2);
$val = 'RUB';
if($sum >= $minPay){
if($sum <= $user_data['money_p']){
# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$user_id' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){
$sum_pay = round( ($sum / $config_site['ser_per_wmr']), 2);
# Делаем выплату
$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'];
if($balance >= $sum_pay){
$array = array(
'action' => 'output',
'ps' => $ps,
'curIn' => $val, // счет списания
'sumOut' => $sum_pay, // сумма получения
'curOut' => $val, // валюта получения
'param_ACCOUNT_NUMBER' => $purse // получатель
);
if(!empty($person)){
$array['param_CONTACT_PERSON'] = $person;
}
$initOutput = $payeer->initOutput($array);
if ($initOutput){
$historyId = $payeer->output();
if ($historyId > 0){
# Снимаем с пользователя
$db->Query("UPDATE db_users_b SET money_p = money_p - '$sum', payment_sum = payment_sum + '$sum_pay' WHERE id = '$user_id'");
# Вставляем запись в выплаты
$da = time();
$dd = $da + 60*60*24*15;
$ppid = $arTransfer["historyId"];
$db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys_id, payment_id, date_add, status) VALUES ('$usname','$user_id','$purse','$sum_pay','RUB', '$sum', '$ps', '$ppid','".time()."', '3')");
$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 />";
$db->Query("SELECT * FROM db_users_b WHERE id = '$user_id' LIMIT 1");
$user_data = $db->FetchArray();
}else{
echo '<center><font color = "red"><b>Ошибка ['.print_r($payeer->getErrors(), true).'] - попробуйте через 10-15 секунд или сообщите о ней администратору! #1</b></font></center><BR />';
}
}else{
echo '<center><font color = "red"><b>Ошибка ['.print_r($payeer->getErrors(), true).'] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2</b></font></center><BR />';
}
}else echo '<center><font color = "red"><b>Сервер перегружен - попробуйте через 10-15 секунд или сообщите о ней администратору</b></font></center><BR />';
}else echo '<center><font color = "red"><b>Не удалось выплатить! Попробуйте позже.</b></font></center><BR />';
}else echo '<center><font color = "red"><b>Не удалось выплатить! Попробуйте позже. Ошибка № 631 </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><b><font color = "red">Минимальная сумма для выплаты составляет '.$minPay.' золота!</font></b></center><BR />';
}else echo '<center><b><font color = "red">Данные держателя карты указаны неверно!</font></b></center><BR />';
}else echo '<center><b><font color = "red">Номер счета '.$purse.' указан неверно</font></b></center><BR />';
}else echo '<center><b><font color = "red">Платежная система не указана!</font></b></center><BR />';
}else echo '<center><b><font color = "red">Вы не ввели номер кошелька</font></b></center><BR />';
}
?>
<style>
.selectPS{
display: inline-block;
width: 100px;
vertical-align: top;
text-align: center;
padding: 5px 5px 10px 5px;
margin: 5px 2px;
border: 2px dotted #fff4e3;
cursor: pointer;
}
.selectPS:hover{
border: 2px dotted #cb8851;
background: #fde6c3;
}
.selectPS .imagesps{
width: 55px;
box-sizing: border-box;
height: 55px;
display: inline-block;
}
.selectPS label{
font-size: 8pt;
display: block;
margin-top: 10px;
}
</style>
<script type="text/javascript">
function addfield(ps,name){
var el = document.getElementById('new');
var el1 = document.getElementById('new1');
var el2 = document.getElementById('new2');
var el3 = document.getElementById('new3');
if(el){el.parentNode.removeChild(el);}
if(el1){el1.parentNode.removeChild(el1);}
if(el2){el2.parentNode.removeChild(el2);}
if(el3){el3.parentNode.removeChild(el3);}
if(ps == 'phone'){
var newTd = document.createElement('td');
newTd['id'] = 'new';
newTd.innerHTML = '<font color="#000;">Номер телефона '+name+':</font>';
paysys.insertBefore(newTd, paysys.children[0]);
var newTd = document.createElement('td');
newTd['id'] = 'new1';
newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'"><input type="hidden" name="phone">';
paysys.insertBefore(newTd, paysys.children[1]);
min = 1000;
document.getElementById('str_min').style.display = 'inline';
document.getElementById('min').innerHTML = min;
document.getElementById('name_ps').innerHTML = name;
}
if(ps == 'eps'){
var newTd = document.createElement('td');
newTd['id'] = 'new';
newTd.innerHTML = '<font color="#000;">Номер счета '+name+':</font>';
paysys.insertBefore(newTd, paysys.children[0]);
var newTd = document.createElement('td');
newTd['id'] = 'new1';
newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'">';
paysys.insertBefore(newTd, paysys.children[1]);
min = <?=$minPay;?>;
if(name == 'Яндекс'){min = 1000;}
document.getElementById('str_min').style.display = 'inline';
document.getElementById('min').innerHTML = min;
document.getElementById('name_ps').innerHTML = name;
}
if(ps == 'card'){
var newTd = document.createElement('td');
newTd['id'] = 'new';
newTd.innerHTML = '<font color="#000;">Номер карты '+name+':</font>';
paysys.insertBefore(newTd, paysys.children[0]);
var newTd = document.createElement('td');
newTd['id'] = 'new1';
newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'"><input type="hidden" name="card">';
paysys.insertBefore(newTd, paysys.children[1]);
var newTd = document.createElement('td');
newTd['id'] = 'new2';
newTd.innerHTML = '<font color="#000;">Имя, Фамилия держателя:</font>';
person.insertBefore(newTd, person.children[0]);
var newTd = document.createElement('td');
newTd['id'] = 'new3';
newTd.innerHTML = '<input type="text" name="person" size="15">';
person.insertBefore(newTd, person.children[1]);
min = 65000;
document.getElementById('str_min').style.display = 'inline';
document.getElementById('min').innerHTML = min;
document.getElementById('name_ps').innerHTML = name;
}
}
</script>
<?PHP
# Заглушка от халявщиков
if($user_data["kredit"] >= 1 or $user_data["insert_sum"] <= 99.99){
?>
<center><font color="red"><b>У Вас не погашен кредит или вы не пополнили баланс на 100р</center></center>
</div>
<div class="clr"></div> <div class="clr"></div>
<br>
<br>
</div>
<div class="clr"></div>
<?PHP
return;
}
?>
<div align="center">
<div class="selectPS" >
<div class="imagesps" style="background: url(/img/ps/payeer.png) no-repeat 50%;" onclick="addfield('eps','Payeer');"></div>
<label>Выплаты Payeer</label>
</div>
<div class="selectPS" >
<div class="imagesps" style="background: url(/img/ps/qiwi.png) no-repeat 50%;" onclick="addfield('phone','QIWI');"></div>
<label>Выплаты QIWI</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/yandex.png) no-repeat 50%;" onclick="addfield('eps','Яндекс');"></div>
<label>Выплаты Яндекс.Деньги</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/beeline.png) no-repeat 50%;" onclick="addfield('phone','Билайн');"></div>
<label>Выплаты на сотовый (БИЛАЙН)</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/megafon.png) no-repeat 50%;" onclick="addfield('phone','Мегафон');"></div>
<label>Выплаты на сотовый (МЕГАФОН)</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/mts.png) no-repeat 50%;" onclick="addfield('phone','МТС');"></div>
<label>Выплаты на сотовый (МТС)</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/tele2.png) no-repeat 50%;" onclick="addfield('phone','ТЕЛЕ2');"></div>
<label>Выплаты на сотовый (ТЕЛЕ2)</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/visa.png) no-repeat 50%;" onclick="addfield('card','VISA');"></div>
<label>Выплаты VISA</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/master.png) no-repeat 50%;" onclick="addfield('card','MASTERCARD');"></div>
<label>Выплаты MASTERCARD</label>
</div>
<div class="selectPS">
<div class="imagesps" style="background: url(/img/ps/maestro.png) no-repeat 50%;" onclick="addfield('card','MAESTRO');"></div>
<label>Выплаты MAESTRO</label>
</div>
</div>
<div id="str_min" style="display:none">Минимальная сумма выплаты на <span id="name_ps"></span> составляет <span id="min"></span> серебра.</div><br>
<form action="" method="post">
<table id="pay"width="99%" border="0" align="center">
<tr id="paysys"></tr>
<tr id="person"></tr>
<tr>
<td><font color="#000;">Сумма для вывода (монеты)</font><font color="#000;">:</font> </td>
<td><input type="text" name="sum" id="sum" value="<?=round($user_data['money_p']); ?>" size="15" /></td>
</tr>
<!-- <tr>
<td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</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>
<?$minPay = '';?>
<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>
<td align="center" class="m-tb">Статус</td>
</tr>
<?PHP
$db->Query("SELECT * FROM db_payment WHERE user_id = '$user_id' ORDER BY id DESC LIMIT 20");
if($db->NumRows() > 0){
$img = Array(
'1136053'=>'payeer',
'60792237'=>'qiwi',
'25344'=>'yandex',
'24898938'=>'beeline',
'24899391'=>'megafon',
'24899291'=>'mts',
'95877310'=>'tele2',
'117146509' =>'visa',
'57644634' =>'master',
'57766314' =>'maestro'
);
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"><? if(!empty($ref["pay_sys_id"])){echo '<img src="/img/ps/'.$img[$ref["pay_sys_id"]].'.png" width="25px">';}?></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>
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Вот класс обработчика:
-
-
PHP:
<?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;
}
}
?>
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Русским по белому написано - Сумма не должна быть меньше 1 рубляWindson написал(а):Sum should not be less than 1 RUB
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Я вводил и 10 рублей не хочетpligin написал(а):Русским по белому написано - Сумма не должна быть меньше 1 рубля
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
И расскажи, пожалуйста, где ты взял этот модульWindson написал(а):Вот сайт fermerstroy.ru не реклама. Здесь имеются автовыплаты на множество систем. Меня интересует payeer. Я всё прописал во всех файлах и .тд. но привыводе пишет Ошибка [Array ( [0] => Sum should not be less than 1 RUB ) ] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2 Я вводил суммы больше 1 rub но не работает. Вот код:
Подозревую что это связано с массивом, так как ошибка эта выбивается под номер 2 и можно увидеть, что если это неверно if ($initOutput), то выскакивает данная ошибкаPHP:<div class="s-bk-lf"> <div class="acc-title">Заказ выплаты</div> </div> <div class="silver-bk"> <BR /> <?PHP $_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты"; $user_id = $_SESSION["user_id"]; $usname = $_SESSION["user"]; $db->Query("SELECT * FROM db_users_b WHERE id = '$user_id' LIMIT 1"); $user_data = $db->FetchArray(); $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1"); $sonfig_site = $db->FetchArray(); $status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено"); # Минималка серебром! $minPay = 150; ?> <?PHP # Заносим выплату if(isset($_POST['swap'])){ // проверка: была ли отправлена форма if(!empty($_POST['purse'])){ $ps = Array( 'Payeer'=>'1136053', 'QIWI'=>'60792237', 'Яндекс'=>'25344', 'Билайн'=>'24898938', 'Мегафон'=>'24899391', 'МТС'=>'24899291', 'ТЕЛЕ2'=>'95877310', 'VISA' =>'117146509', 'MASTERCARD' =>'57644634', 'MAESTRO' =>'57766314' ); $ps = $db->RealEscape(htmlspecialchars($ps[$_POST['ps']])); if(!empty($ps)){ if ($db->RealEscape(htmlspecialchars($_POST['ps'] == 'Payeer'))){ function ViewPurse($purse){ if( substr($purse,0,1) != "P" ) return false; if( !preg_match("#^[0-9]{7,8}$#", substr($purse,1)) ) return false; return $purse; } } if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'Яндекс'))){ function ViewPurse($purse){ if( !preg_match("#^41001[0-9]{7,10}$#",$purse) ) return false; return $purse; } $minPay = '1000'; } if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'QIWI'))){ function ViewPurse($purse){ if( !preg_match("#^\+(91|994|82|372|375|374|44|998|972|66|90|81|1|507|7|77|380|371|370|996|9955|992|373|84)[0-9]{6,14}$#",$purse) ) return false; return $purse; } $minPay = '1000'; } if(isset($_POST['phone']) && $db->RealEscape(htmlspecialchars($_POST['ps'] != 'QIWI'))){ function ViewPurse($purse){ if( !preg_match("#^[\+]{1}[7]{1}[9]{1}[\d]{9}$#",$purse) ) return false; return $purse; } $minPay = '1000'; } if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'VISA'))){ function ViewPurse($purse){ if(!preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse)) return false; return $purse; } } if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'MASTERCARD'))){ function ViewPurse($purse){ if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{17})$#",$purse) ) return false; return $purse; } } if($db->RealEscape(htmlspecialchars($_POST['ps'] == 'MAESTRO'))){ function ViewPurse($purse){ if( !preg_match("#^([45]{1}[\d]{15}|[6]{1}[\d]{15,17})$#",$purse) ) return false; return $purse; } } if(isset($_POST['card'])){ $minPay = '65000'; function ViewPerson($person){ if( !preg_match("#^([a-zA-ZА-Яабвгдеёжзийклмнопрстуфхцчшщьыъэюя\.\-\' ]+)$#",$person) ) return false; return $person; } $person = ViewPerson($_POST['person']); } $purse = ViewPurse($_POST['purse']); if($purse != false){ if((!empty($person) AND $person != false) OR !isset($person)){ $sum = round(intval($_POST['sum']),2); $val = 'RUB'; if($sum >= $minPay){ if($sum <= $user_data['money_p']){ # Проверяем на существующие заявки $db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$user_id' AND (status = '0' OR status = '1')"); if($db->FetchRow() == 0){ $sum_pay = round( ($sum / $config_site['ser_per_wmr']), 2); # Делаем выплату $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']; if($balance >= $sum_pay){ $array = array( 'action' => 'output', 'ps' => $ps, 'curIn' => $val, // счет списания 'sumOut' => $sum_pay, // сумма получения 'curOut' => $val, // валюта получения 'param_ACCOUNT_NUMBER' => $purse // получатель ); if(!empty($person)){ $array['param_CONTACT_PERSON'] = $person; } $initOutput = $payeer->initOutput($array); if ($initOutput){ $historyId = $payeer->output(); if ($historyId > 0){ # Снимаем с пользователя $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum', payment_sum = payment_sum + '$sum_pay' WHERE id = '$user_id'"); # Вставляем запись в выплаты $da = time(); $dd = $da + 60*60*24*15; $ppid = $arTransfer["historyId"]; $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, valuta, serebro, pay_sys_id, payment_id, date_add, status) VALUES ('$usname','$user_id','$purse','$sum_pay','RUB', '$sum', '$ps', '$ppid','".time()."', '3')"); $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 />"; $db->Query("SELECT * FROM db_users_b WHERE id = '$user_id' LIMIT 1"); $user_data = $db->FetchArray(); }else{ echo '<center><font color = "red"><b>Ошибка ['.print_r($payeer->getErrors(), true).'] - попробуйте через 10-15 секунд или сообщите о ней администратору! #1</b></font></center><BR />'; } }else{ echo '<center><font color = "red"><b>Ошибка ['.print_r($payeer->getErrors(), true).'] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2</b></font></center><BR />'; } }else echo '<center><font color = "red"><b>Сервер перегружен - попробуйте через 10-15 секунд или сообщите о ней администратору</b></font></center><BR />'; }else echo '<center><font color = "red"><b>Не удалось выплатить! Попробуйте позже.</b></font></center><BR />'; }else echo '<center><font color = "red"><b>Не удалось выплатить! Попробуйте позже. Ошибка № 631 </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><b><font color = "red">Минимальная сумма для выплаты составляет '.$minPay.' золота!</font></b></center><BR />'; }else echo '<center><b><font color = "red">Данные держателя карты указаны неверно!</font></b></center><BR />'; }else echo '<center><b><font color = "red">Номер счета '.$purse.' указан неверно</font></b></center><BR />'; }else echo '<center><b><font color = "red">Платежная система не указана!</font></b></center><BR />'; }else echo '<center><b><font color = "red">Вы не ввели номер кошелька</font></b></center><BR />'; } ?> <style> .selectPS{ display: inline-block; width: 100px; vertical-align: top; text-align: center; padding: 5px 5px 10px 5px; margin: 5px 2px; border: 2px dotted #fff4e3; cursor: pointer; } .selectPS:hover{ border: 2px dotted #cb8851; background: #fde6c3; } .selectPS .imagesps{ width: 55px; box-sizing: border-box; height: 55px; display: inline-block; } .selectPS label{ font-size: 8pt; display: block; margin-top: 10px; } </style> <script type="text/javascript"> function addfield(ps,name){ var el = document.getElementById('new'); var el1 = document.getElementById('new1'); var el2 = document.getElementById('new2'); var el3 = document.getElementById('new3'); if(el){el.parentNode.removeChild(el);} if(el1){el1.parentNode.removeChild(el1);} if(el2){el2.parentNode.removeChild(el2);} if(el3){el3.parentNode.removeChild(el3);} if(ps == 'phone'){ var newTd = document.createElement('td'); newTd['id'] = 'new'; newTd.innerHTML = '<font color="#000;">Номер телефона '+name+':</font>'; paysys.insertBefore(newTd, paysys.children[0]); var newTd = document.createElement('td'); newTd['id'] = 'new1'; newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'"><input type="hidden" name="phone">'; paysys.insertBefore(newTd, paysys.children[1]); min = 1000; document.getElementById('str_min').style.display = 'inline'; document.getElementById('min').innerHTML = min; document.getElementById('name_ps').innerHTML = name; } if(ps == 'eps'){ var newTd = document.createElement('td'); newTd['id'] = 'new'; newTd.innerHTML = '<font color="#000;">Номер счета '+name+':</font>'; paysys.insertBefore(newTd, paysys.children[0]); var newTd = document.createElement('td'); newTd['id'] = 'new1'; newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'">'; paysys.insertBefore(newTd, paysys.children[1]); min = <?=$minPay;?>; if(name == 'Яндекс'){min = 1000;} document.getElementById('str_min').style.display = 'inline'; document.getElementById('min').innerHTML = min; document.getElementById('name_ps').innerHTML = name; } if(ps == 'card'){ var newTd = document.createElement('td'); newTd['id'] = 'new'; newTd.innerHTML = '<font color="#000;">Номер карты '+name+':</font>'; paysys.insertBefore(newTd, paysys.children[0]); var newTd = document.createElement('td'); newTd['id'] = 'new1'; newTd.innerHTML = '<input type="text" name="purse" size="15"><input type="hidden" name="ps" value="'+name+'"><input type="hidden" name="card">'; paysys.insertBefore(newTd, paysys.children[1]); var newTd = document.createElement('td'); newTd['id'] = 'new2'; newTd.innerHTML = '<font color="#000;">Имя, Фамилия держателя:</font>'; person.insertBefore(newTd, person.children[0]); var newTd = document.createElement('td'); newTd['id'] = 'new3'; newTd.innerHTML = '<input type="text" name="person" size="15">'; person.insertBefore(newTd, person.children[1]); min = 65000; document.getElementById('str_min').style.display = 'inline'; document.getElementById('min').innerHTML = min; document.getElementById('name_ps').innerHTML = name; } } </script> <?PHP # Заглушка от халявщиков if($user_data["kredit"] >= 1 or $user_data["insert_sum"] <= 99.99){ ?> <center><font color="red"><b>У Вас не погашен кредит или вы не пополнили баланс на 100р</center></center> </div> <div class="clr"></div> <div class="clr"></div> <br> <br> </div> <div class="clr"></div> <?PHP return; } ?> <div align="center"> <div class="selectPS" > <div class="imagesps" style="background: url(/img/ps/payeer.png) no-repeat 50%;" onclick="addfield('eps','Payeer');"></div> <label>Выплаты Payeer</label> </div> <div class="selectPS" > <div class="imagesps" style="background: url(/img/ps/qiwi.png) no-repeat 50%;" onclick="addfield('phone','QIWI');"></div> <label>Выплаты QIWI</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/yandex.png) no-repeat 50%;" onclick="addfield('eps','Яндекс');"></div> <label>Выплаты Яндекс.Деньги</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/beeline.png) no-repeat 50%;" onclick="addfield('phone','Билайн');"></div> <label>Выплаты на сотовый (БИЛАЙН)</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/megafon.png) no-repeat 50%;" onclick="addfield('phone','Мегафон');"></div> <label>Выплаты на сотовый (МЕГАФОН)</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/mts.png) no-repeat 50%;" onclick="addfield('phone','МТС');"></div> <label>Выплаты на сотовый (МТС)</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/tele2.png) no-repeat 50%;" onclick="addfield('phone','ТЕЛЕ2');"></div> <label>Выплаты на сотовый (ТЕЛЕ2)</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/visa.png) no-repeat 50%;" onclick="addfield('card','VISA');"></div> <label>Выплаты VISA</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/master.png) no-repeat 50%;" onclick="addfield('card','MASTERCARD');"></div> <label>Выплаты MASTERCARD</label> </div> <div class="selectPS"> <div class="imagesps" style="background: url(/img/ps/maestro.png) no-repeat 50%;" onclick="addfield('card','MAESTRO');"></div> <label>Выплаты MAESTRO</label> </div> </div> <div id="str_min" style="display:none">Минимальная сумма выплаты на <span id="name_ps"></span> составляет <span id="min"></span> серебра.</div><br> <form action="" method="post"> <table id="pay"width="99%" border="0" align="center"> <tr id="paysys"></tr> <tr id="person"></tr> <tr> <td><font color="#000;">Сумма для вывода (монеты)</font><font color="#000;">:</font> </td> <td><input type="text" name="sum" id="sum" value="<?=round($user_data['money_p']); ?>" size="15" /></td> </tr> <!-- <tr> <td><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</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> <?$minPay = '';?> <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> <td align="center" class="m-tb">Статус</td> </tr> <?PHP $db->Query("SELECT * FROM db_payment WHERE user_id = '$user_id' ORDER BY id DESC LIMIT 20"); if($db->NumRows() > 0){ $img = Array( '1136053'=>'payeer', '60792237'=>'qiwi', '25344'=>'yandex', '24898938'=>'beeline', '24899391'=>'megafon', '24899291'=>'mts', '95877310'=>'tele2', '117146509' =>'visa', '57644634' =>'master', '57766314' =>'maestro' ); 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"><? if(!empty($ref["pay_sys_id"])){echo '<img src="/img/ps/'.$img[$ref["pay_sys_id"]].'.png" width="25px">';}?></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>
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Купил скрипт и он там былpligin написал(а):И расскажи, пожалуйста, где ты взял этот модуль
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Это мой модуль. Он есть на форуме. С такими проблемами никто не обращался...Windson написал(а):Купил скрипт и он там был
Вечером загляну
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
А вы обработчик проверили на исправность?pligin написал(а):Это мой модуль. Он есть на форуме. С такими проблемами никто не обращался...
Вечером загляну
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
Не путайте обработчик с классом функций для работы с API Payeer.Windson написал(а):А вы обработчик проверили на исправность?
Зачем его проверять? Он скачан с сайта Payeer...
Но если ты там что-то правил, то с этим тебе никто помогать не будет - можно его скачать с сайта Payeer
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Всё понял. Я там ничего не менял, буду ждать вечера вам за помощь нужны деньги?pligin написал(а):Не путайте обработчик с классом функций для работы с API Payeer.
Зачем его проверять? Он скачан с сайта Payeer...
Но если ты там что-то правил, то с этим тебе никто помогать не будет - можно его скачать с сайта Payeer
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
10 рублей в эквиваленте серебром? Т.е. 10*курс игрыWindson написал(а):Я вводил и 10 рублей не хочет
Или 10 серебра?
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
1000 серебраpligin написал(а):10 рублей в эквиваленте серебром? Т.е. 10*курс игры
Или 10 серебра?
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
А какой курс в игре?Windson написал(а):1000 серебра
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
100 серебра 1 рубльpligin написал(а):А какой курс в игре?
pligin
Участник
- Сообщения
- 3.654
- Реакции
- 1.336
ПослеWindson написал(а):100 серебра 1 рубль
PHP:
if(isset($_POST['swap'])){
Сделай выплату и пришли массив, который тебе отобразится
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Array ( [purse] => P74543141 [ps] => Payeer [sum] => 1009 [swap] => Заказать выплату )Ошибка [Array ( [0] => Sum should not be less than 1 RUB ) ] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2pligin написал(а):После
Добавь print_r($_POST);PHP:if(isset($_POST['swap'])){
Сделай выплату и пришли массив, который тебе отобразится
DjSuzuki
Участник
- Сообщения
- 186
- Реакции
- 72
Скачай Автоматические Выплаты через Паер и замени свой файл выплат на этоWindson написал(а):Array ( [purse] => P74543141 [ps] => Payeer [sum] => 1009 [swap] => Заказать выплату )Ошибка [Array ( [0] => Sum should not be less than 1 RUB ) ] - попробуйте через 10-15 секунд или сообщите о ней администратору! #2
Windson
Местный
- Сообщения
- 57
- Реакции
- 2
Прав недостаточно.DjSuzuki написал(а):Скачай Автоматические Выплаты через Паер и замени свой файл выплат на это
DjSuzuki
Участник
- Сообщения
- 186
- Реакции
- 72
Повышение ПравWindson написал(а):Прав недостаточно.