Здравствуйте.
У меня на фф стоит файл выплат payeer и не более. Решил расширить функционал и внедрил еще один файл, чтобы можно было выводить средства на Yandex через Payeer.
В файле выплат на payeer стоит php код прикрепления кошелька и соответственно после первой выплаты кошелек закрепляется в поле ввода.
В файле автоматические выплаты на Yandex кода прикрепления кошелька нет.
Я целый день пробовал разные комбинации наобум методом тыка и у меня получилось следующее:
когда вывел через payeer - кошелек закрепился и также в модуле Yandex, хотя там должен быть номер счета яндекс кошелька. Попробовал вывести через Yandex, кошелек яндекса закрепился в поле модуля выплаты на payeer.
В общим психанул, все удалил целый день просто в пустую.
Ребят, помогите в тяжелой и роковой ситуации, как сделать привязку кошелька для файла выплат на яндекс отдельно от паер выплат.
Код payeer с встроенным php кодом для закрепления кошелька:<?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_users_a WHERE id = '$usid' LIMIT 1");
$user_dataa = $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();
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 100;
?>
<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 9.99 ){
?>
<center><div class="head_acc dib mb10">Выплату могут заказывать пользователи, [br /]которые пополнили игровой баланс больше, чем на <font color="#04f946" class="head_acc dib mb10">10 RUB!</font></div><BR />
<a href="/account/insert"><input type="submit" class="ajax btn btn_reg btn_mini2" id="submit" value="Пополнить баланс">[/url]<BR /><BR />
<div class="head_acc dib mb10">После пополнения выплаты будут доступны в автоматическом режиме.</div></center>
<?PHP
return;
}
?>
<!--На Вашем счету <a href="/account/plat_pt"><?=sprintf("%.2f",$user_data["pay_points"]); ?> баллов[/url]<BR />
Ваших баллов хватает на выплату <?=sprintf("%.2f",$user_data["pay_points"]); ?> RUB (<?=sprintf("%.0f",$user_data["pay_points"]*$sonfig_site["ser_per_wmr"]); ?> серебра)-->
<?PHP
function ViewPurse($purse){
if( substr($purse,0,1) != "P" ) return false;
if( !ereg("^[0-9]{7,11}$", substr($purse,1)) ) return false;
return $purse;
}
# Заносим выплату
if(isset($_POST["purse"])){
if ($sonfig_purse["purse"]){
$purse = $sonfig_purse["purse"];
} else {
$purse = ViewPurse($_POST["purse"]);
}
$sum = intval($_POST["sum"]);
$val = "RUB";
if($purse !== false){
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){
### Делаем выплату ###
$payeer = new rfs_payeer($config->AccountNumber, $config->apiId, $config->apiKey);
if ($payeer->isAuth())
{
$sum_pay = round( ($sum / $sonfig_site["ser_per_wmr"]), 2);
if($user_data["pay_points"] >= $sum_pay){
$arBalance = $payeer->getBalance();
if($arBalance["auth_error"] == 0)
{
$balance = $arBalance["balance"]["RUB"]["DOSTUPNO"];
if( ($balance) >= ($sum_pay+100)){
$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} с проекта my-money")
//'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', pay_points = pay_points - '$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'>Выплачено!</font></center><BR />";
}
else
{
echo "<center><font color = 'green'>Минимальная сумма для выплаты: 1 руб!</font></center><BR /> ";
}
}else echo "<center><font color = 'green'>Шлюз перегружен, повторите попытку через 5-10 секунд</font></center><BR />";
}else echo "<center><font color = 'green'>Не удалось выплатить! Попробуйте позже</font></center><BR />";
}else echo "<center><font color = 'green'>Недостаточно платежных баллов </font></center><BR />";
}else echo "<center><font color = 'green'>Не удалось выплатить! Попробуйте позже </font></center><BR />";
}else echo "<center><font color = 'green'>У вас имеются необработанные заявки. Дождитесь их выполнения </font></center><BR />";
}else echo "<center><font color = 'green'>Вы указали больше, чем имеется на вашем счету</font></center><BR />";
}else echo "<center><font color = 'green'>Минимальная сумма выплаты 1 руб.</font></center><BR />";
}else echo "<center><font color = 'green'>Кошелек Payeer указан неверно!</font></center><BR />";
}
?>
<form action="" method="post" class="tac frm-out">
<div class="xl_50 mra mla">
<label class="db mb5">Ваш кошелек Payeer:</label>
<?php
if ($sonfig_purse["purse"]){
$pur=$sonfig_purse["purse"];
echo"<td><input type='text' name='purse' value='".$pur."' readonly='readonly'";
echo"</td>";
} else echo"<td><input type='text' name='purse' value='P'/> </td>";
?>
[br /]
<label class="db mb5">Отдаете серебро для вывода [Мин. 100</span>]:</label>
<input type="text" name="sum" id="sum" value="<?=round($user_data["money_p"]); ?>" size="15" onkeyup="PaymentSum();" />
[br /]
<label class="db mb5">Сумма вывода: <span id="res_val"></span></label>
<input type="text" name="res" id="res_sum" value="0" 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.1" disabled="disabled"/>
<input type="hidden" name="val_type" id="val_type" value="RUB" />
<div class="flex jcsb aifs pt20">
<div class="xl_48">
<input class="btton sbm-out" type="submit" name="swap" value="" style="
background: url('/img/payeer.png');" />
</div></div>
</div>
</form>
<script language="javascript">PaymentSum(); SetVal();</script>
[br /]
[br /]
<div class="head_acc">Статистика ваших выплат</div>
<div class="tbl th flex jcsb aic tac">
<div class="xl_20 pager-order" ><span>Логин</span></div>
<div class="xl_20 pager-order" ><span>Сумма</span></div>
<div class="xl_20 pager-order" ><span>Кошелек</span></div>
<div class="xl_20 pager-order" ><span>Статус</span></div>
<div class="xl_20 pager-order" ><span>Дата выплаты</span></div>
</div>
<?php
$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 10");
if($db->NumRows() > 0){
while($ref = $db->FetchArray()){
?>
<div class="tbl flex jcsb aic tac ads_row">
<div class="xl_20"><i class="fa fa-user"> <?=$ref["user"]; ?></div>
<div class="xl_20"><i class="fa fa-rouble"> <?=sprintf("%.2f",$ref["sum"] - $ref["comission"]); ?></div>
<div class="xl_20"><i class="fa fa-credit-card"> <?=$ref["purse"]; ?></div>
<div class="xl_20"><i class="fa fa-plus-square"> <?=$status_array[$ref["status"]]; ?></div>
<div class="xl_20"><i class="fa fa-calendar"> <?=date("d.m.Y H:i:s",$ref["date_add"]); ?></div>
</div>
<?php
}
}else echo '<tr><td align="center" colspan="5">Выплаты не производились</td></tr>';
?>
</div></div>
</div>
<div class="clr"></div>
Файл автоматические выплаты на Yandex через Payeer<div class="s-bk-lf">
<div class="acc-title">Заказ выплаты</div>
</div>
<div class="silver-bk">
<BR />
<?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");
$config_site = $db->FetchArray();
$status_array = array( 0 => "Проверяется", 1 => "Выплачивается", 2 => "Отменена", 3 => "Выплачено");
# Минималка серебром!
$minPay = 5000;
?>
<center>Заказ выплаты:</center><BR />
<?PHP
# Заносим выплату
if(isset($_POST['swap'])){ // проверка: была ли отправлена форма
if (!empty($_POST['purse'])){//проверка на наличие номера кошелька в переменной $purse. Если переменная имеет значение, то выполняем дальше
function CheckPurseYandex($purse){
if( !ereg("^41001[0-9]{7,10}$", substr($purse,0)) ) return false;
return $purse;
}
$purse = CheckPurseYandex($_POST['purse']);
if($purse !== false) // проверяем правильность оформления кошелька
{
$ps = 57378077;
$sum = intval($_POST['sum']);
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){
$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)){
$initOutput = $payeer->initOutput(array(
'ps' => $ps,
//'sumIn' => 1,
'curIn' => 'RUB',
'sumOut' => $sum_pay,
'curOut' => 'RUB',
'param_ACCOUNT_NUMBER' => $purse
));
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', pay_points = pay_points - '$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'>Выплачено!</font></center><BR />";
}
else
{
echo "<center><font color = 'red'>Внутренняя ошибка - попробуйте через 10-15 секунд или сообщите о ней администратору!</font></center><BR />";
}
}else
{
echo ''.print_r($payeer->getErrors(), true).'
';
}
}else echo "<center><font color = 'red'>Сервер перегружен - попробуйте через 10-15 секунд или сообщите о ней администратору</font></center><BR />";
}else echo "<center><font color = 'red'>Не удалось выплатить! Попробуйте позже.</font></center><BR />";
}else echo "<center><font color = 'red'>Не удалось выплатить! Попробуйте позже. Ошибка № 631 </font></center><BR />";
}else echo "<center><font color = 'red'>У вас имеются необработанные заявки. Дождитесь их выполнения.</font></center><BR />";
}else echo "<center><font color = 'red'>Вы указали больше, чем имеется на вашем счету.</font></center><BR />";
}else echo "<center><font color = 'red'>Минимальная сумма для выплаты составляет {$minPay} слиток!</font></center><BR />";
}echo "<center><font color = 'red'>Кошелек Yandex указан неверно! Смотрите образец!</font></center><BR />";
}else echo "<center><font color = 'red'>Номер счета не указан!</font></center><BR />";
}
?>
<center>
<form action="" method="post">
<div><font color="#000;">Отдаёте серебро для вывода</font> (Мин. <span id="res_min"></span>)<font color="#000;">:</font>
<input type="text" name="sum" id="sum" value="<?=round($user_data['money_p']); ?>" size="15" onkeyup="PaymentSum();" /></div>
<div><font color="#000;">Получаете <span id="res_val"></span></font><font color="#000;">:</font>
<input type="text" name="res" id="res_sum" value="0" size="15" disabled="disabled"/>
<input type="hidden" name="per" id="RUB" value="<?=$config_site['ser_per_wmr']; ?>" disabled="disabled"/>
<input type="hidden" name="per" id="min_sum_RUB" value="0.5" disabled="disabled"/></br>
Кошелек Yandex: <input type="text" name="purse" value="" placeholder="410011499718000" size="15" class="post" />[br /]
<input type="submit" name="swap" value="Заказать выплату" style="height: 30px; margin-top:10px;" />
</form>
</center>
<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>