РЕШЕНО Ручные выплаты. Модуль для FF

hunters

Участник
Привет Всем.
Собственно вопрос в заголовке, нужен модуль для ручных выплат для PAYEER. В принципе, это и не важно какая платежная система, ведь суть модуля "ручные выплаты" - это ручные выплаты. Которые полностью исключают какое то удаленное взаимодействие, ключей сайт = платега = сайт., которая не редко оказывается уязвима, а происходит потеря средств и снос.
При использовании ручных выплат, работы прибавляется у администратора, но лучше потеть считая деньги, чем потеть их безнадежно разыскивая.
В сети есть не мало ресурсов которые как бесплатно так и платно, предлагают вам получить подобный модуль... но спустя вторую неделю, я понял что везде один и тот же модуль, что покупай, что бери бесплатно, работает коряво, не как некоторые говорят что руки ставили корявые, а сам код корявый, так как разбавлен сторонней функцией, выбора платежек. Что может ввести в замешательство, неопытных и начинающих гиков.
На сколько мне известно, этот растиражированный код написал некий Wi3kas, который на своем ресурсе, безвозмездно дает возможность получить доступ к коду. Тоже не работает.

Какая проблема возникает при установке кода. В целом все в порядке, но одна деталь не функционирует.
После того как пользователь, сделал запрос на выплату средств в своем личном кабинете... этот запрос отображается в админке, на странице Выплаты... сумма вывода, теперь подсвечена, как бы обращает внимания на себя, думаю это скорей всего из за суммы вывода, такой эффект. Так вот, в админке запрос на вывод есть, но допустим, после того как админ в ручную пошел на Payeer и произвел перевод, у него нет возможности подтвердить вывод в админке, что бы статус операции был сменен с Ожидание на Выплачено. И следовательно в аккаунте пользователя - аналогично.

код с сайта Wi3kas`a
PHP:
<!--
===============================================
========= И Н С Т Р У К Ц И Я =================
===============================================
© wh1skas 2014
Ручные выплаты с 1 платежной системой PAYEER
файл для редактивания /pages/account/_payment.php
-------------------------------------------------------------
1. Запрос в БД

CREATE TABLE IF NOT EXISTS `db_pay_systems` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `title` varchar(100) CHARACTER SET cp1251 NOT NULL,
  `first_char` varchar(3) CHARACTER SET cp1251 NOT NULL,
  `comment` text CHARACTER SET cp1251 NOT NULL,
  `min_pay` double NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
--------------------------------------------------------------
2. Запрос в БД № 2

INSERT INTO `db_pay_systems` (`id`, `title`, `first_char`, `comment`, `min_pay`) VALUES
(1, 'Payeer', 'P', 'Платежная система', 1);
--------------------------------------------------------------
3. В корневом .htaccess после строки:

RewriteRule ^account/payment(/?)+$ index.php?menu=account&sel=payment [L]

добавить:

RewriteRule ^account/payment/([0-9]+)(/?)+$ index.php?menu=account&sel=payment&pay_id=$1 [L]

-->

<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");
$sonfig_site = $db->FetchArray();


$min_ser = $sonfig_site["min_pay"] * $sonfig_site["ser_per_wmr"];

$status_array = array( 0 => "В очереди", 1 => "Выплачен", 2 => "Отменен");


# Список платежек
if(!isset($_GET["pay_id"])){

    if(isset($_POST["sys_pay"])){ Header("Location: /account/payment/".$_POST["sys_pay"]); return; }

    $db->Query("SELECT * FROM db_pay_systems ORDER BY id DESC");

    if($db->NumRows() == 0){ echo "<center>Нет платежных систем :(</center><BR /><div class='clr'></div></div>    "; return; }

    ?>

    <form action="" method="POST">
    <center>Укажите более подходящую для Вас платежную систему из списка имеющихся. <BR /><BR />
        <select name="sys_pay">
        <?PHP

            while($data = $db->FetchArray()){

                ?><option value="<?=$data["id"]; ?>"><?=$data["title"]; ?></option><?PHP

            }

        ?>
        </select>
        <BR /><BR />
        <input type="submit" class="btn btn-success" value="Выбрать" />
    </center>
    </form>
    <div class="clr"></div>
</div>
<?PHP
# Заглушка от халявщиков
if($user_data["insert_sum"] <= 149){

?>
<center><font color="red"><b>Заказывать выплаты могут только пользователи пополившие баланс на сумму свыше 150 рублей. Это необходимая мера для поддержки резерва проекта и стабильных выплат. После пополнения все ограничения будут сняты и выплаты будут доступны в полном объеме, на проекте Farm Pirates нет каких-либо платежных баллов или лимитов на выплату. На данный момент Вы можете вывести за 1 раз <font color="red"><?=$maxpay;?></font> рублей.<b></font></center><BR />

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

return;
}

?>
    <?PHP

return;
}else{

    $pay_id = intval($_GET["pay_id"]);

    $db->Query("SELECT * FROM db_pay_systems WHERE id = '$pay_id'");

    if($db->NumRows() == 0){ echo "<center>Такой платежной системы нет в нашем проекте :(</center><BR /><div class='clr'></div></div>"; return; }

    $pdata = $db->FetchArray();
    $min_ser = $pdata["min_pay"] * $sonfig_site["ser_per_wmr"];
    $ps = $pdata["title"];


    # Создание заявки на выплату
    if(isset($_POST["pp"])){

        $purse = strval(trim($func->TextClean($_POST["pp"])));
        $sum = intval($_POST["sum"]);

        if( strlen($purse) > 5){

            if( substr($purse, 0, 1) == $pdata["first_char"] ){

                if($min_ser <= $sum){

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

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

                            # Снимаем с пользователя
                            $db->Query("UPDATE db_users_b SET money_p = money_p - '$sum' WHERE id = '$usid'");

                            # Вставляем запись в выплаты
                            $da = time();
                            $dd = $da + 60*60*24*15;
                            $sum_r = round($sum / $sonfig_site["ser_per_wmr"], 2);
                            $db->Query("INSERT INTO db_payment (user, user_id, purse, sum, serebro, pay_sys, date_add, date_del)
                            VALUES ('$usname','$usid','$purse','$sum_r','$sum','$ps','$da','$dd')");

                            echo "<center><div class='alert alert-success'><b>Ваша заявка отправлена в очередь на выполнение</b></div></center><BR />";

                            }else echo "<center><font color = 'red'><b>У вас имеются необработанные заявки. Дождитесь их выполнения.</b></font></center><BR />";


                    }else echo "<center><div class='alert alert-error'><b>Вы указали больше, чем имеется на вашем счету</b></div></center><BR />";

                }else echo "<center><div class='alert alert-error'><b>Минимальная сумма для вывода {$min_ser} серебра</b></div></center><BR />";

            }else echo "<center><div class='alert alert-error'><b>Кошелек должен начинаться с ".$pdata["first_char"]."</b></div></center><BR />";

        }else echo "<center><div class='alert alert-error'><b>Кошелек заполнен неверно</b></div></center><BR />";

    }



?>


<form action="" method="post">
<table width="99%" border="0" align="center">
  <tr>
    <td><font color="#000;">Кошелек</font> [Начинается с <?=$pdata["first_char"]; ?>]<font color="#000;">:</font> </td>
    <td><input type="text" name="pp" size="15"/></td>
  </tr>
  <tr>
    <td><font color="#000;">Отдаете серебро для вывода</font> [Мин. <?=$min_ser; ?>]<font color="#000;">:</font> </td>
    <td><input type="text" name="sum" id="sum" value="<?=$min_ser; ?>" size="15" onkeyup="PaymentSum();" /></td>
  </tr>
  <tr>
    <td><font color="#000;">Получаете <?=$config->VAL; ?></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="ser_per" value="<?=$sonfig_site["ser_per_wmr"]; ?>" disabled="disabled"/></td>
  </tr>
  <tr>
    <td colspan="2" align="center"><input type="submit" name="swap" value="Заказать выплату" class="btn btn-success" style="height: 30px; margin-top:10px;" /></td>
  </tr>
</table>
</form>
<script language="javascript">PaymentSum();</script>

<?PHP } ?>

<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 10");

    if($db->NumRows() > 0){

          while($ref = $db->FetchArray()){

        ?>
        <tr class="htt">
            <td align="center"><?=$ref["serebro"]; ?></td>
            <td align="center"><?=sprintf("%.2f",$ref["sum"]); ?> руб</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>

почти аналогичный код с другого ресурса
Вложение1

еще один код (папка с файлами)
Вложение2

еще один код (папка с файлами)
Вложение3

среди всего этого схожего разнообразия, нет рабочего кода..
Прошу вашей помощи.
Спасибо
 

Вложения

cimislia

Участник
Пользователь получил предупреждение за флуд
Смотря какой у тебя скрипт и пути админки
 

hunters

Участник
стандартный скрипт фермы) с этого форума
только голый, ничего не ставил и не буду)
все эти серфинги рекламы не знаю игры в игре, какие то еще "фишки"... этого всего нет.
 

hunters

Участник
если так посмотреть мне нужен кусок кода который отвечает за запись в базу и вывод на странице
зная что мне нужно я сам не могу этого создать... вот и ищу помощи... сначала смотрел тут... вижу есть отзывчивые люди... что то делается) решил примкнуть)
 

pirat3.0

Местный
Так вот, в админке запрос на вывод есть, но допустим, после того как админ в ручную пошел на Payeer и произвел перевод, у него нет возможности подтвердить вывод в админке, что бы статус операции был сменен с Ожидание на Выплачено. И следовательно в аккаунте пользователя - аналогично.
Не знаю как у Вискаса, а так, там вроде в базе менять статус можно... А если можно в базе, то можно и кнопку вытащить в админку...
 

hunters

Участник
там вроде в базе менять статус можно
то-есть "менять"?

А если можно в базе, то можно и кнопку вытащить в админку...
ну да конечно) Всё можно, но не всё получается)
через интернет могут максимум что, это обрушить экономику страны) куда им там до кода для смены статуса через бд :D
 

pirat3.0

Местный
то-есть "менять"?
У меня где то скрипт был... там статус в бд прописывался на ручных выплатах... то есть "0" - не выплачено "1" - выплачено..... Возможно это вот этот скрипт https://psweb.ru/resources/skript-iz-pablika-game-bussinesman.140/
ну да конечно) Всё можно, но не всё получается)
Вот есть полуавтомат.... может пригодится. https://psweb.ru/threads/vyplaty-poluavtomat.141/
При использовании ручных выплат, работы прибавляется у администратора, но лучше потеть считая деньги, чем потеть их безнадежно разыскивая.
Ладно если у тебя 50 - 100 выплат в день... А если 500? Попробуй отправь на 500 разных кошельков хотябы по 10 копеек... в водя каждый кошелек... и смотри не ошибись... 50 рублей затраты и неповторимый опыт)))
Которые полностью исключают какое то удаленное взаимодействие, ключей сайт = платега = сайт., которая не редко оказывается уязвима, а происходит потеря средств и снос.
Надо не ручные выплаты, а подход правильный к безопасности....
 

hunters

Участник
Ладно если у тебя 50 - 100 выплат в день... А если 500? Попробуй отправь на 500 разных кошельков хотябы по 10 копеек... в водя каждый кошелек... и смотри не ошибись... 50 рублей затраты и неповторимый опыт)))
если честно опыт есть знаю это тот еще гемор, но с ним спокойнее спится))

У меня где то скрипт был... там статус в бд прописывался на ручных выплатах... то есть "0" - не выплачено "1" - выплачено..... Возможно это вот этот скрипт https://psweb.ru/resources/skript-iz-pablika-game-bussinesman.140/
статус в БД каким образом прописывается ?
мне нужно что бы после заказа выплаты, запрос отображался в админке, и после проведения выплаты, админ мог нажать в админке Выплатил, и после должно показать в аккаунте пользователя Выплачено)
 

pirat3.0

Местный
статус в БД каким образом прописывается ?
В ручную... меняешь ноль на единицу или двойку
Код:
$status_array = array( 0 => "В очереди", 1 => "Выплачен", 2 => "Отменен");
мне нужно что бы после заказа выплаты, запрос отображался в админке, и после проведения выплаты, админ мог нажать в админке Выплатил, и после должно показать в аккаунте пользователя Выплачено)
Вечером, если время будет, то сделаю...
 

hunters

Участник
то бишь каждой выплаты через базу оформлять статус?
выплатил, сменил статус на 1
выплатил, сменил статус на 1
итд?

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

pirat3.0

Местный
то бишь каждой выплаты через базу оформлять статус?
выплатил, сменил статус на 1
выплатил, сменил статус на 1
итд?

.......... нужно кнопкой, с адмнки, цивилизованно)
Кнопку сделать фигня делов (правда не для меня))))... может позже сделаю (попробую)
вот тут действительно рук не напасешься...
да уж не сложней, чем на кошельки в ручную кидать
 

pirat3.0

Местный
в принципе то да) можно не открывая таблицу, сразу поверх записи вносить изменение
Посмотреть вложение 5078

однако, кнопкой из админки, это было бы более удобнее, согласитесь)
Все тут https://psweb.ru/threads/delaem-ruchnye-vyplaty-na-ff.2027/
Тему можно закрывать... наверно)))
 
Последнее редактирование:

hunters

Участник
так так )) сейчас посмотрим что вы нам набросали) спасибо заранее
 
Верх