Автор Тема: Как сделать прикрепление кошелька в разных файлах для выплат?  (Прочитано 666 раз)

0 Пользователей и 1 Гость просматривают эту тему.

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Здравствуйте.

У меня на фф стоит файл выплат 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>


 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 1750 сообщений Более 6 лет на форуме !!! Топ 10 по сообщениям Топ 10 по созданным темам Репутация  более 25 Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 30
  • Сообщений: 1989
  • Страна: ru
  • Поблагодарили: 235 раз(а)
  • Репутация +39/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
^55$  ааааааа,поменяйте мне глаза чтобы не видеть это....

Добавлено сообщение: 29 Марта 2020, 08:14:52
не хочу проверять ,кошель в базу пишется когда ты его типа сохраняешь?

 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
ааааааа,поменяйте мне глаза чтобы не видеть это....
Добавлено сообщение: Сегодня в 08:14:52
не хочу проверять ,кошель в базу пишется когда ты его типа сохраняешь?

Да, в базе стоит такой запрос ALTER TABLE `db_users_b` ADD `purse` varchar(20) NOT NULL
Видимо в БД пишется, но в колонке purse не заносится ни одного кошелька после выплаты, мне это как бы не важно, важно другое.
 

Rich-99000000

  • *
  • Оффлайн
  • Награды Более 6 лет на форуме !!! Более 250 сообщений Репутация более 5 Топ 10 по сообщениям Благодарность от форума Более 10 созданных тем
  • Дата регистрации: Июль 2016
  • Расположение: Novosibirsk
  • Возраст: 26
  • Сообщений: 405
  • Страна: ru
  • Поблагодарили: 115 раз(а)
  • Репутация +5/-1
  • Пол: Мужской
  • моды, сайты на заказ недорого >> ЛС
  • Дата рождения:1995-11-30
    • Награды
  • Социальные сети:
    ВКонтакте
purse столбец в базе по стоку FF - это payeer. Задай в базе purse_yandex столбец по типу purse. И сохраняй после выплаты в него яндекс выплату. Т.е перепиши на префиксы например поля таблицы purse_payeer, purse_yandex и тп и сохраняй в соответствующую. Это один из вариантов. Второй это поработать с:
$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

а именно делать выборку как у тебя заявлено в коде выше - по payment_id, если это конечно идентификатор платежки а не batch.

$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND payment_id='$pID' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();
разумеется в начале файла определив $pID = "57378077"; // соответственно коду ПС

Третий вариант: http://svalka58.ru/index.php?topic=7415.msg37112#msg37112

 

nikogdaАвтор темы

  • *
  • Оффлайн
  • Награды Более 100 сообщений Более 5 лет на форуме !!! Более 50 созданных тем Топ 10 по созданным темам
  • Дата регистрации: Июль 2016
  • Сообщений: 201
  • Страна: ru
  • Поблагодарили: 4 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
purse столбец в базе по стоку FF - это payeer. Задай в базе purse_yandex столбец по типу purse. И сохраняй после выплаты в него яндекс выплату. Т.е перепиши на префиксы например поля таблицы purse_payeer, purse_yandex и тп и сохраняй в соответствующую. Это один из вариантов. Второй это поработать с:
Код: [Выделить]
$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();

а именно делать выборку как у тебя заявлено в коде выше - по payment_id, если это конечно идентификатор платежки а не batch.

Код: [Выделить]
$db->Query("SELECT * FROM db_payment WHERE user_id = '$usid' AND payment_id='$pID' ORDER BY id DESC LIMIT 1");
$sonfig_purse = $db->FetchArray();
разумеется в начале файла определив $pID = "57378077"; // соответственно коду ПС

Третий вариант: http://svalka58.ru/index.php?topic=7415.msg37112#msg37112

Спасибо.
 
Теги:
 

КТО ПОДСКАЖЕТ ЧТО НАДО ДОПИСАТЬ или что надо сделать в скрипте!

Автор vovzenРаздел Разговоры обо всём

Ответов: 3
Просмотров: 1308
Последний ответ 10 Декабря 2016, 04:39:54
от romcka8
Как сделать верхнее меню (в шапке) для страниц после авторизации в скрипте ФФ?

Автор nikogdaРаздел Вопросы по настройке фруктовых ферм

Ответов: 10
Просмотров: 428
Последний ответ 30 Апреля 2021, 19:37:40
от nikogda
Как сделать динамическое обновление накопленного на складе без обновления станиц

Автор sergeiii1983Раздел Общие вопросы по фермам

Ответов: 1
Просмотров: 977
Последний ответ 07 Февраля 2017, 22:46:34
от shans5
как сделать что бы на фоне сайта были падающие снежинки или что то типа того?

Автор kelyaРаздел Вопросы по настройке фруктовых ферм

Ответов: 1
Просмотров: 808
Последний ответ 26 Декабря 2017, 15:43:20
от maks161
Как сделать так, что бы можно было купить максимум 1 фрукт каждого вида?

Автор hdlimonРаздел Вопросы по настройке фруктовых ферм

Ответов: 2
Просмотров: 697
Последний ответ 05 Декабря 2017, 11:23:44
от kvozimir