Автоматические выплаты
Автоматические выплаты
Естесственно,не мог не выложить этот плагин...Опубликую полный плагин со всеми возможными наработками...Для работы плагина требуется аттестат продавца,сайт в мегастоке,подключённые х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
Удачи.Все необходимые файлы в архиве Вы не можете скачивать файлы с нашего сервера....Также в архив кинул мой convert.php.В нём меньше соединений к бд и работает 100%.Сам тестировал:)

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


Рубрика: Бесплатное » Плагины   |   Автор: Green-wm   |   Просмотры: 5440
Комментариев: 134
Публикаций: 0
ICQ: 428155128
- 171 +
  Автор: SoooFast   |   Группа: Пользователи   |   Дата: 16 марта 2011  
автовыплаты есть даже в моем скрипте и были там изначально, в версии под аттестат продавца! можно было оттуда выдернуть, а не брать руфусовские выплаты с админки и ковырять их :)
Комментариев: 240
Публикаций: 6
ICQ: 573235722
- -896 +
  Автор: VELIK505   |   Группа: Программисты   |   Дата: 16 марта 2011  
О скрин с моего букса=) Значит хакер денюшку у меня выводим по тихой=))
Комментариев: 738
Публикаций: 50
ICQ: --
- 4 +
  Автор: Green-wm   |   Группа: Пользователи   |   Дата: 17 марта 2011  
Цитата: VELIK505
О скрин с моего букса=) Значит хакер денюшку у меня выводим по тихой=))

Ага =))))
Комментариев: 15
Публикаций: 0
ICQ: 607175336
- -26 +
  Автор: kurbanov   |   Группа: Пользователи   |   Дата: 20 февраля 2013  
.::Заказ выплаты::.
Ваш заказ принят. После проверки Вашего аккаунта на соблюдение правил, Вы получите свои деньги.
Код ошибки: 110
Описание ошибки: create error step=14


Пожалуйста,обратитесь к администратору для исправления этой ошибки!
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.