Автор Тема: Модуль платежный баллов (PayPoints)  (Прочитано 3293 раз)

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

stranikАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!!
  • Дата регистрации: Янв. 2017
  • Сообщений: 1
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« : 08 Января 2017, 11:43:46 »
Есть модуль _class.pay_points ( платежные баллы) , но не могу понять как сделать чтобы отчисления шли самому пользователю который пополнил баланс.
К примеру отчисления идут рефералам 30%,10%,5% , а как сделать чтобы пользователь сам получал процент от своей пополненной суммы?
Понимаю, что надо дописать код _class.pay_points.php, но как сделать не знаю. Может у кого была такая же проблема.
Вот этот код
<?PHP
class pay_points{

   var $db;
   
   function __construct($db){
   
      $this->db = $db;
   
   }
   
   function SetToAll($sum){
   
      $sum = floatval($sum);
      $sum = round($sum, 2);
      $sum = $sum * 0.05;
      
      $t24 = time() - 60*60*24;
      
      $this->db->Query("SELECT COUNT(*) FROM db_users_a WHERE date_login > '$t24'");
      $users_activ = $this->db->FetchRow();
      
      $sum_per_user = ($sum / ($users_activ+1));
      
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_per_user}' WHERE id IN(SELECT id FROM db_users_a WHERE date_login > '$t24') ");
      
   }
   
   
   function UpdatePayPoints($sum, $user_id){
   
      $sum = floatval($sum);
      $sum = round($sum, 2);
      $user_id = intval($user_id);
      
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");
      $referer_id_1 = $this->db->FetchRow();
      
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");
      $referer_id_2 = $this->db->FetchRow();
      
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");
      $referer_id_3 = $this->db->FetchRow();
      
      # Обновляем поинты
      
      # 1
      $sum_for_1 = $sum * 0.3;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
      
      # 2
      $sum_for_2 = $sum * 0.1;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
      
      # 3
      $sum_for_3 = $sum * 0.05;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");
      
      $this->SetToAll($sum);
      
   }
   
}
?>
 

ardaleon

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Репутация более 5 Более 50 сообщений
  • Дата регистрации: Янв. 2016
  • Расположение: Харьков
  • Возраст: 33
  • Сообщений: 70
  • Страна: ua
  • Поблагодарили: 5 раз(а)
  • Репутация +7/-2
  • Пол: Мужской
  • WEB разработчик
  • Дата рождения:1987-07-19
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #1 : 08 Января 2017, 12:32:35 »
<?PHP
class pay_points{

   var $db;
   
   function __construct($db){
   
      $this->db = $db;
   
   }
   
   function SetToAll($sum){
   
      $sum = floatval($sum);
      $sum = round($sum, 2);
      $sum = $sum * 0.05;
     
      $t24 = time() - 60*60*24;
     
      $this->db->Query("SELECT COUNT(*) FROM db_users_a WHERE date_login > '$t24'");
      $users_activ = $this->db->FetchRow();
     
      $sum_per_user = ($sum / ($users_activ+1));
     
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_per_user}' WHERE id IN(SELECT id FROM db_users_a WHERE date_login > '$t24') ");

   }
   
   
   function UpdatePayPoints($sum, $user_id){
   
      $sum = floatval($sum);
      $sum = round($sum, 2);
      $user_id = intval($user_id);
     
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$user_id}'");
      $referer_id_1 = $this->db->FetchRow();
     
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_1}'");
      $referer_id_2 = $this->db->FetchRow();
     
      $this->db->Query("SELECT referer_id FROM db_users_a WHERE id = '{$referer_id_2}'");
      $referer_id_3 = $this->db->FetchRow();
     
      # Обновляем поинты
     
      # 1
      $sum_for_1 = $sum * 0.3;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_1}' WHERE id = '{$referer_id_1}'");
     
      # 2
      $sum_for_2 = $sum * 0.1;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_2}' WHERE id = '{$referer_id_2}'");
     
      # 3
      $sum_for_3 = $sum * 0.05;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_3}' WHERE id = '{$referer_id_3}'");
     
      # >USVER
      $sum_for_4 = $sum * 1.00;
      $this->db->Query("UPDATE db_users_b SET pay_points = pay_points + '{$sum_for_4}' WHERE id = '{$user_id}'");
     
      $this->SetToAll($sum);
     
   }
   
}
?>
пробуй
a:0:{}
 

admiralunev

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!!
  • Дата регистрации: Окт. 2016
  • Расположение: Mariupol
  • Сообщений: 2
  • Страна: ua
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #2 : 08 Января 2017, 17:24:32 »
a:0:{}
 

romanvad

  • *
  • Оффлайн
  • Награды Три года на форуме !!!
  • Дата регистрации: Янв. 2017
  • Сообщений: 19
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #3 : 29 Марта 2017, 11:34:49 »
Подскажите почему  обсолютно всем  зачисляются 50 баллов. Даже если новый участник регистрируется ему все  равно  50  падает. Как  и где  это  убрать. Желательно  в личку скиньте  пож
 

takebet

Модуль платежный баллов (PayPoints)
« Ответ #4 : 24 Июля 2017, 11:55:25 »
есть у кого рабочий модуль платёжных баллов? А то что скачано, не работает зачисление баллов при пополнении. Не пойму в чём причина, вроде настроено всё верно.
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по созданным темам Топ 10 по сообщениям Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1928
  • Страна: ru
  • Поблагодарили: 225 раз(а)
  • Репутация +37/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Модуль платежный баллов (PayPoints)
« Ответ #5 : 24 Июля 2017, 12:38:53 »
в мерчант код зачисления баллов вставлял?

 

takebet

Модуль платежный баллов (PayPoints)
« Ответ #6 : 24 Июля 2017, 13:47:49 »
в мерчант код зачисления баллов вставлял?
Там две строки только:
# Платежные баллы
$pp = new pay_points($db);
$pp ->UpdatePayPoints($ik_payment_amount,$user_id);
 

APTEMOH

  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по сообщениям За помощь пользователям Репутация более 15 Более 500 сообщений Более 10 созданных тем
  • Дата регистрации: Сен. 2015
  • Расположение: Расположение
  • Сообщений: 530
  • Страна: th
  • Поблагодарили: 64 раз(а)
  • Репутация +19/-2
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Модуль платежный баллов (PayPoints)
« Ответ #7 : 24 Июля 2017, 14:38:53 »
Файл в папке classes?
Кеширование есть? (ддос защита)

takebet

Модуль платежный баллов (PayPoints)
« Ответ #8 : 24 Июля 2017, 14:44:18 »
Файл в папке classes?
Кеширование есть? (ддос защита)
да, защита стоит. С защитой не будет работать?

Добавлено сообщение: [time]24 Июля 2017, 15:20:19[/time]
Проверил без защиты, всё-равно не работают баллы.

Добавлено сообщение: 24 Июля 2017, 17:30:14
Ещё актуально: платежные баллы не зачисляются!
 

romcka8

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по сообщениям Более 500 сообщений Более 10 созданных тем
  • Дата регистрации: Фев. 2016
  • Сообщений: 643
  • Страна: 00
  • Поблагодарили: 22 раз(а)
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #9 : 25 Июля 2017, 12:00:41 »
да, защита стоит. С защитой не будет работать?

Добавлено сообщение: [time]24 Июля 2017, 15:20:19[/time]
Проверил без защиты, всё-равно не работают баллы.

Добавлено сообщение: 24 Июля 2017, 17:30:14
Ещё актуально: платежные баллы не зачисляются!
А что именно нужно сделать?
 

takebet

Модуль платежный баллов (PayPoints)
« Ответ #10 : 25 Июля 2017, 15:07:13 »
А что именно нужно сделать?
В общем на данный момент сделал зачисление баллов при пополнении самому себе. Нужно сделать чтобы от реферала зачисление баллов 40% работало и от всех участников 5%.
Так как модуль стандартный, то именно в мерчанте не хватает записей. На данный момент вот код мерчанта:

"Открыть код"
<?PHP

# Автоподгрузка классов
function __autoload($name){ include("classes/_class.".$name.".php");}

# Класс конфига
$config = new config;

# Функции
$func = new func;

# База данных
$db = new db($config->HostDB, $config->UserDB, $config->PassDB, $config->BaseDB);





if (isset($_POST["m_operation_id"]) && isset($_POST["m_sign"]))
{
   $m_key = $config->secretW;
   $arHash = array($_POST['m_operation_id'],
         $_POST['m_operation_ps'],
         $_POST['m_operation_date'],
         $_POST['m_operation_pay_date'],
         $_POST['m_shop'],
         $_POST['m_orderid'],
         $_POST['m_amount'],
         $_POST['m_curr'],
         $_POST['m_desc'],
         $_POST['m_status'],
         $m_key);

   $sign_hash = strtoupper(hash('sha256', implode(":", $arHash)));
   if ($_POST["m_sign"] == $sign_hash && $_POST['m_status'] == "success")
   {
      
   $db->Query("SELECT * FROM db_payeer_insert WHERE id = '".intval($_POST['m_orderid'])."'");
   if($db->NumRows() == 0){ echo htmlspecialchars($_POST['m_orderid'])."|error"; exit;}
   
   $payeer_row = $db->FetchArray();
   if($payeer_row["status"] > 0){ echo htmlspecialchars($_POST['m_orderid'])."|success"; exit;}
   
   $db->Query("UPDATE db_payeer_insert SET status = '1' WHERE id = '".intval($_POST['m_orderid'])."'");
   
   $ik_payment_amount = $payeer_row["sum"];
   $user_id = $payeer_row["user_id"];
   
   # Настройки
   $db->Query("SELECT * FROM db_config WHERE id = '1' LIMIT 1");
   $sonfig_site = $db->FetchArray();
   
   $db->Query("SELECT user, referer_id FROM db_users_a WHERE id = '{$user_id}' LIMIT 1");
   $user_ardata = $db->FetchArray();
   $user_name = $user_ardata["user"];
   $refid = $user_ardata["referer_id"];
 



   # Зачисляем баланс
   $serebro = sprintf("%.4f", floatval($sonfig_site["ser_per_wmr"] * $ik_payment_amount) );
   
   $db->Query("SELECT insert_sum FROM db_users_b WHERE id = '{$user_id}' LIMIT 1");
   $ins_sum = $db->FetchRow();
   
  $serebro = intval($ins_sum <= 0.01) ? ($serebro + ($serebro * 0.50) ) : ($serebro+($serebro * 0.05)); // Бонус после пополнения

    $add_tree = ( $ik_payment_amount >= 299.99) ? 0 : 0; // Подарить дерево при разовом поплнении на 300 и выше рублей
   $lsb = time();
   $to_referer = ($serebro * 0.10);
   $pay_points = $ik_payment_amount*1.00;
 
   
   $db->Query("UPDATE db_users_b SET money_b = money_b + '$serebro', e_t = e_t + '$add_tree', to_referer = to_referer + '$to_referer', last_sbor = '$lsb', insert_sum = insert_sum + '$ik_payment_amount', pay_points = pay_points + '$pay_points' WHERE id = '{$user_id}'");
   
   
   
   # Зачисляем средства рефереру и дерево
   $db->Query("UPDATE db_users_b SET money_b = money_b + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
   
      # Зачисляем средства рефереру и дерево
   $db->Query("UPDATE db_users_b SET money_p = money_p + $to_referer, from_referals = from_referals + '$to_referer' {$add_tree_referer} WHERE id = '$refid'");
   
   # Статистика пополнений
   $da = time();
   $dd = $da + 60*60*24*15;
   $db->Query("INSERT INTO db_insert_money (user, user_id, money, serebro, date_add, date_del)
   VALUES ('$user_name','$user_id','$ik_payment_amount','$serebro','$da','$dd')");
   
   $db->Query("SELECT * FROM db_invcompetition_users WHERE user_id = '{$user_id}'");
$in = $db->FetchArray();

      
$a=$in["user_id"];
if($a > 0)
{
$usname = $user_name;
}
else
{
$usname = $user_name;
$db->Query("INSERT INTO db_invcompetition_users (user, user_id, points) VALUES ('$usname','$user_id','0')");
}

$db->Query("SELECT * FROM db_invcompetition WHERE status = '0' LIMIT 1");
$invcomp = $db->FetchArray();

$db->Query("SELECT COUNT(*) FROM db_invcompetition_users WHERE user_id = '{$user_id}'");
$rett = $db->FetchArray();

if ($invcomp["date_add"] >= 0 AND $invcomp["date_end"] > $da)
{
$db->Query("UPDATE db_invcompetition_users SET points = points + '$ik_payment_amount' WHERE user_id = '$user_id'");
}
else
{
$db->Query("UPDATE db_invcompetition_users SET points = points + '0' WHERE user_id = '$user_id'");
}
   
        # Конкурс
         $competition = new competition($db);
         $competition->UpdatePoints($user_id, $ik_payment_amount);
        #--------
   
         $wmset = new wmset();
         $marray = $wmset->GetSet($ik_payment_amount);
   
         $a_t = intval($marray["t_a"]);
         $b_t = intval($marray["t_b"]);
         $c_t = intval($marray["t_c"]);
         $d_t = intval($marray["t_d"]);
         $e_t = intval($marray["t_e"]);
   
        $db->Query("UPDATE db_users_b SET a_t = a_t + '$a_t', b_t = b_t + '$b_t', c_t = c_t + '$c_t', d_t = d_t + '$d_t', e_t = e_t + '$e_t',
        last_sbor = '$lsb' WHERE id = '{$user_id}'");
       

#--------
# Платежные баллы
$pp = new pay_points($db);
$pp ->UpdatePayPoints($ik_payment_amount,$user_id);


   # Обновление статистики сайта
   $db->Query("UPDATE db_stats SET all_insert = all_insert + '$ik_payment_amount' WHERE id = '1'");
   
   echo htmlspecialchars($_POST['m_orderid'])."|success";
   exit;

   }
   echo htmlspecialchars($_POST['m_orderid'])."|error";
}
?>
[свернуть]

Добавлено сообщение: 26 Июля 2017, 00:41:21
Всё, решил проблему с баллами: главное, это верно всё настроить в мерчанте. Например: если на сайте нет конкурсов, а в мерчанте стоит код конкурсов, то его надо убрать, тогда баллы будут работать. Если кому нужен файл мерчанта с баллами, пишите в личку.
 

fact

  • *
  • Оффлайн
  • Награды Более 2 лет на форуме
  • Дата регистрации: Окт. 2017
  • Сообщений: 2
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #11 : 27 Октября 2017, 13:32:02 »
как спрятать платежные баллы то есть что бы счет баллов был скрытый примерно как в https://kolxoz.net/ балов не видно пока они есть и показаны если на счету серебра больше чем доступно баллов
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по созданным темам Топ 10 по сообщениям Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1928
  • Страна: ru
  • Поблагодарили: 225 раз(а)
  • Репутация +37/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Модуль платежный баллов (PayPoints)
« Ответ #12 : 28 Октября 2017, 10:08:23 »
что то я не вижу их...как они  там реализованы
 

fact

  • *
  • Оффлайн
  • Награды Более 2 лет на форуме
  • Дата регистрации: Окт. 2017
  • Сообщений: 2
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Модуль платежный баллов (PayPoints)
« Ответ #13 : 28 Октября 2017, 14:50:13 »
ВОТ ТАК КОГДА ХВАТАЕТ БАЛОВ ДЛЯ ВЫПЛАТЫ http://prntscr.com/h3354r А ВОТ ТАК КОГДА НЕ ХВАТАЕТ http://prntscr.com/h335rl
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Топ 10 по созданным темам Топ 10 по сообщениям Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 28
  • Сообщений: 1928
  • Страна: ru
  • Поблагодарили: 225 раз(а)
  • Репутация +37/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Модуль платежный баллов (PayPoints)
« Ответ #14 : 29 Октября 2017, 18:58:27 »
интересно,в принципе не сложно реализвать
 
 

Модуль PKinoPoisk, PKinoPoisk Person, Person Movie для DLE

Автор shans5Раздел Модули DLE

Ответов: 0
Просмотров: 2452
Последний ответ 25 Октября 2015, 16:05:27
от shans5
Модуль для FF "Статистика"

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 1
Просмотров: 3316
Последний ответ 24 Октября 2015, 21:24:41
от shans5
Модуль "Клондайк"

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

Ответов: 4
Просмотров: 943
Последний ответ 18 Июня 2017, 08:19:48
от Somnambula
Модуль "бонус лидерам"

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 0
Просмотров: 1763
Последний ответ 14 Сентября 2015, 00:07:27
от shans5
Модуль "Орел или Решка"

Автор shans5Раздел Модули для фруктовых ферм

Ответов: 0
Просмотров: 1652
Последний ответ 20 Сентября 2015, 07:47:15
от shans5