РЕШЕНО выплаты

pligin

Команда форума
Администратор
Не знаю как получилось, но в файле есть эта заглушка
На PAYEER кошелек
Пробую 1 рубль.
<td valign="top">
<div class="r_block"><center><h1>Заказ выплаты</h1>
<div class="silver-bk">
<p></p>
<?PHP

$_OPTIMIZATION["title"] = "Аккаунт - Заказ выплаты";
$usid = $_SESSION["user_id"];
$usname = $_SESSION["user"];

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' order by id DESC LIMIT 1");
$frompayments = $db->FetchArray();

$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();

$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 100;
# Настраиваем кол-во суток для ограничения.
$nd_time = 1;

?>

<?PHP
# Заглушка МАКСИМУМ

if($_POST["sum"] > 100){

?>
<center><font color="red"><b>Максимальная сумма для выплат составляет 1 РУБ!<b></font></center><BR />

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

return;
}

?>

<b>Выплаты осуществляются в автоматическом режиме и только на платежную систему <a style="color:#008040;" href="http://payeer.com/" title="Платёжная система Payeer" target="_blank">PAYEER!</a> Процент при выводе составляет 0%.</b><BR /><BR />
<b>Из платежной системы Payeer Вы можете вывести свои средства в автоматическом режиме на все известные платежные системы и международные банки.</b><BR /><BR />

<BR />


<BR /><BR />

<center><b>Заказ выплаты:</b></center><BR />



<?PHP
# Заносим выплату
if(isset($_POST["swap"])){ // проверка: была ли отправлена форма
if(!empty($_POST["purse"])) // проверка: был ли отправлен кошелек из формы
{ // если кошелек был отправлен из формы работаем тут
if(empty($user_data["purse"])){ // проверка на отсутствие в базе кошелька. Примечание: эта проверка не дает злоумышленникам использовать созданное в форме дополнительное поле с кошельком, отправив его на выплату
$purse = $func->ViewPurse($_POST["purse"]); // если кошелька нет, проверяем правильность ввода кошелька
if($purse !== false) // проверяем правильность оформления кошелька
{
$db->Query("SELECT COUNT(*) FROM db_users_b WHERE purse = '$purse'");
if($db->FetchRow() == 0){
$db->Query("UPDATE db_users_b SET purse='$purse' WHERE id = '$usid'");//если номер кошелька правильно заполнен, заносим его в базу
}else echo "<center><font color = 'red'><b>Номер кошелька уже есть в базе!</b></font></center><BR />"; $purse = '';
}
else
{
echo "<center><b><font color = 'red'>Кошелек Payeer указан неверно! Смотрите образец!</font></b></center><BR />";//если номер кошелька заполнен неверно, выдаем ошибку
}
}
else
{
echo "<center><font color = 'red'><b>Хакер что-ли?!</b></font></center><BR />"; //если получилось так, что кошелек передан из формы и он есть в базе - значит что-то не так
}
}
else // если кошелек не отправляли из формы
{
$purse = $user_data['purse'];//достаем его из базы
}
if (isset($purse)){//проверка на наличие номера кошелька в переменной $purse. Если переменная имеет значение, то выполняем дальше
$sum = intval($_POST["sum"]);
$val = "RUB";


if($sum >= $minPay){

if($sum <= $user_data["money_p"]){

# Проверяем на существующие заявки
$db->Query("SELECT COUNT(*) FROM db_payment WHERE user_id = '$usid' AND (status = '0' OR status = '1')");
if($db->FetchRow() == 0){

### Устанавливаем лимит на 24 часа по выплатам для $USID
if ($frompayments["date_add"] <= time() - $nd_time * 86400) {

$sum_pay = round( ($sum / $sonfig_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)){

$arTransfer = $payeer->transfer(array(
'curIn' => 'RUB', // счет списания
'sum' => $sum_pay, // сумма получения
'curOut' => 'RUB', // валюта получения
'to' => $purse, // получатель (email)
//'to' => '+71112223344', // получатель (телефон)
//'to' => 'P1000000', // получатель (номер счета)
'comment' => 'Выплата пользователю '.$usname.' с проекта fforss.ru'
//'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', payment_sum = payment_sum + '$sum_pay' 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_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>Внутренняя ошибка - попробуйте через 10-15 минут или сообщите о ней администратору! Ведутся тех.работы . выплаты будут работать в течении нескольких часов . Извините за неудобства .</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>В ближайшие 24 часа Вы уже получали выплату! Попробуйте позже</b></font></center>";

}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'>Кошелек Payeer не указан!</font></b></center><BR />";
}
?>

<form action="" method="post">
<table width="99%" border="0" align="center">
<tr>
<?php
if(empty($user_data['purse'])){
echo '<center><b><font color = "red">Кошелек можно ввести только один раз!</font></b></center><BR /><td><font color="#fff;">Введите кошелёк Payeer (Пример: P12345678)</font>: </td>
<td><input type="text" name="purse" size="15"/></td>';
}
else
{
echo '<td><font color="#fff;">Номер Вашего кошелька</font>: </td>
<td><font color="red"><b>'.$user_data['purse'].'</b></font></td>';
}
?>
</tr>
<tr>
<td><font color="#fff;">Отдаёте копеек для вывода</font> (Мин. <span id="res_min"></span>)<font color="#fff;">:</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="#fff;">Получаете <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="1" 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>
2. На свой кошелек пытаешься выплатить?
 

qreta007

Местный
Тогда подскажи как посмотреть где находится кошелек и как поменять.
 

qreta007

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

pligin

Команда форума
Администратор
Массовые выплаты настраивал. У меня же прикрепляется номер кошелька и я не знаю как его сменить если на свой нельзя, хотя пополнения проходят.
1. Куда номер кошелька прикрепляется?
2. Где его сменить?
3. Если на свой нельзя, нужно создать еще один кошелек и проверять выплату на него.
4. Пополнения и массовые выплаты - это разные вещи
 

pligin

Команда форума
Администратор
нет, он же в настройках как звездочки сразу стоят
правильно.
значит пробуй выплачивать на другой кошелек...
но сначала замени это
PHP:
else
{

echo "<center><font color = 'red'><b>Внутренняя ошибка - попробуйте через 10-15 минут или сообщите о ней администратору! Ведутся тех.работы . выплаты будут работать в течении нескольких часов . Извините за неудобства .</b></font></center><BR />";

}
на это
PHP:
else
{
echo '<pre>'.print_r($arTransfer["errors"], true).'</pre>';
echo "<center><font color = 'red'><b>Внутренняя ошибка - попробуйте через 10-15 минут или сообщите о ней администратору! Ведутся тех.работы . выплаты будут работать в течении нескольких часов . Извините за неудобства .</b></font></center><BR />";

}
и сделай выплату.
тебе покажет описание ошибки
 

qreta007

Местный
Вот что сейчас выдает:

Array
(
[0] => transferHimselfForbidden
)

Внутренняя ошибка - попробуйте через 10-15 минут или сообщите о ней администратору! Ведутся тех.работы . выплаты будут работать в течении нескольких часов . Извините за неудобства .
 

qreta007

Местный
но я не могу поменять кошелек, а регистрация нового аккаунта возможно только с другого компа, т.к стоит от мультиков программа.
Где увидеть кошелек и поменять
 

pligin

Команда форума
Администратор
но я не могу поменять кошелек, а регистрация нового аккаунта возможно только с другого компа, т.к стоит от мультиков программа.
Где увидеть кошелек и поменять
в базе таблица db_users_a графа purse
 
Верх