Автоматические выплаты

Естесственно,не мог не выложить этот плагин…Опубликую полный плагин со всеми возможными наработками…Для работы плагина требуется аттестат продавца,сайт в мегастоке,подключённые х2 интерфейсы(в этом в данный момент у многих проблема) ну и также мозги(либо чел в команде с мозгами) чтоб суппорт был уверен,что при малейшей перемене у них вы сумеете быстро и правильно чо нить у себя поменять,а не чтоб получилось так,что у них чо нить изменилось,а вы не помеяли и случайно грохнули их сервак,когда сами у себя заказывали выплату)))но такого может и не будет,но отрицать не стоит…Естесственно,не мог не выложить этот плагин…Опубликую полный плагин со всеми возможными наработками…Для работы плагина требуется аттестат продавца,сайт в мегастоке,подключённые х2 интерфейсы(в этом в данный момент у многих проблема) ну и также мозги(либо чел в команде с мозгами) чтоб суппорт был уверен,что при малейшей перемене у них вы сумеете быстро и правильно чо нить у себя поменять,а не чтоб получилось так,что у них чо нить изменилось,а вы не помеяли и случайно грохнули их сервак,когда сами у себя заказывали выплату)))но такого может и не будет,но отрицать не стоит…
ну в общем дело не в этом.Плагина самого у меня не было – поэтому пришлось брать руфусовские выплаты с админки и переделывать под себя…ну в общем примерно объясню.
1.SQL-запрос к бд:


ALTER TABLE `tb_users` ADD `lastpay` VARCHAR( 50 ) DEFAULT '0' NULL;

Добавим в таблицу строку,куда будет заноситься время последней выплаты
2.Открываем ваш обычный convert.php
2.1 После:


if($row["money"]<=0)
{
  echo "<img src="images/error.png" align="middle"> Ваш баланс пуст. Заказ выплаты невозможен!!!";
  include('footer.php');
  exit();
}


Добавить строки:

$lastpaycheck=time();  
$lastpay=$row["lastpay"];  
$raznitsa=$lastpaycheck-$lastpay;  
$lastpaydate = date("d.m.y H:i:s", $row["lastpay"]);  
if($raznitsa<=86400 && $lastpay!=NULL)  
{  
  echo "<img src="images/error.png" align="middle"> Заказ выплаты можно делать только один раз в сутки.<br> Ваш последний заказ был <font color=red>$lastpaydate</font>!!!";  
  include('footer.php');  
  exit();  
}

Теперь у нас юзер может заказывать выплату раз в сутки
2.2 Этот пункт по желанию…далее добавим строки:


$visits=$row["visits"];  
$visitsost=10-$row["visits"];  
if($visits<=10)  
{  
echo "<img src="images/error.png" align="middle"> Заказ выплаты можно делать только сделав более 10 кликов.<br> Вы сделали кликов:<br><b><font color=red>$visits</b></font><br>Вам необходимо сделать ещё кликов:<br><b><font color=red>$visitsost</b></font>";  
include('footer.php');  
exit();  
}


В этом куске 10 – число кликов,которые должен сделать юзер для возможности вывода(можно поменять – для этого в куске все цифры 10 поменять на нужные вам)
2.3 В самом низу ищем:


mysql_close($con);
}
?>


и перед ним вставляем:

if ($money>5)

Где 5 – масимальная сумма для автовыплаты.Суммы свыше обрабатываются вручную.Далее вставим:

{
  echo "<img src="images/ok.png" align="middle"> Ваш заказ на выплату принят!!!Мы выплатим Вам вручную,т.к. максимальная сумма для автоматической выплаты – 5руб!";
  }else{
  ////////// Выплачиваем  
require_once("_ap.php");

  $tranid=time();
  require_once('config.php');
  $res=mysql_query("select purse from tb_site where id='1'");
  $res=mysql_fetch_array($res);
  $pursesrc=КОШЕЛЬ;
  $sql = "SELECT * FROM tb_users WHERE username='$user'";

  $pursedest=$row["pemail"];
  $amount=$root;
  $period=0;
  $pcode="";
  $username = $user;
  
  $res=mysql_query("select sitename, comment from tb_site where id='1'");
  $res=mysql_fetch_array($res);
  $sitename=$res["sitename"];
  $comment=$res["comment"];
  $comment=str_ireplace(":sitename:",$sitename,$comment);
  $desc=str_ireplace(":username:",$username,$comment);

  $wminvid=0;

  $response = $wmxi->X2(
  intval($tranid), # номер перевода в системе учета отправителя; любое целое число без знака, должно быть уникальным
  $pursesrc, # номер кошелька с которого выполняется перевод (отправитель)
  $pursedest, # номер кошелька, но который выполняется перевод (получатель)
  floatval($amount), # число с плавающей точкой без незначащих символов
  intval($period), # целое от 0 до 255 символов; 0 – без протекции
  trim($pcode), # произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются
  trim($desc), # произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются
  intval($wminvid) # целое число > 0; если 0 – перевод не по счету
  );

  $structure = $parser->Parse($response, DOC_ENCODING);
  $transformed = $parser->Reindex($structure, true);

  $status = @$transformed["w3s.response"]["retval"];
  
  if ($status == "0")
  {
  require_once('config.php');
  $query = "UPDATE tb_users SET paid=paid + $amount where username='$user'";
  mysql_query($query) or die(mysql_error());
  $lastpay=time();  

  
  $query = "UPDATE tb_users SET lastpay='$lastpay' where username='$user'";  
  mysql_query($query) or die(mysql_error());  

  $lafecha=date("d-m-Y",time());

  $query = "INSERT INTO tb_history (user, date, amount, method, status) VALUES('$user','$lafecha','$amount','WebMoney','Выплата сделана')";
  mysql_query($query) or die(mysql_error());

  $queryz = "DELETE FROM tb_payme WHERE username='$user'";
  mysql_query($queryz) or die(mysql_error());
  
  echo '<center><b>Выплата прошла успешно.</b></center>';
  }else{
  ?>
  <pre>
  Код ошибки: <b><?=htmlspecialchars(@$transformed["w3s.response"]["retval"], ENT_QUOTES); ?></b>
  Описание ошибки: <b><?=htmlspecialchars(@$transformed["w3s.response"]["retdesc"], ENT_QUOTES); ?></b>
  </pre>
  <?
  }

  
  }


Обратите внимание на строку:


$pursesrc=КОШЕЛЬ;

В ней вместо \”КОШЕЛЬ\” вставьте ваш кошелёк.это необходимо.Меня вскрыли и просто путём смены кошеля в базе выкрали средства…вот так то…А так какой бы кошель ни был,выплата будет идти только с этого.
Что касается файла _ap.php из архива…там надо вписать полный путь(как его узнать – написано в плагине автоприёма для формального аттестата),и также надо вписать пароль к файлу ключей.С этим,думаю проблем не будет.Файл ключей должен быть вида вашвмид.kwm и залить его надо в папку wmsinger/keys
Удачи.Все необходимые файлы в архиве autopay.zip….Также в архив кинул мой convert.php.В нём меньше соединений к бд и работает 100%.Сам тестировал:)

Скачайте обновлённый cертификат WebMoneyCA.crt с офф сайта вебмань или у нас.иначе работать не будет!

Автор публикации

не в сети 9 лет

Green-wm

Комментарии: 0Публикации: 50Регистрация: 03-03-2011

Понравилась статья? Поделись в соц. сетях:

Похожие новости

Комментарии

Добавить комментарий

Авторизация
*
*
Регистрация
*
*
*
Генерация пароля