Перейти до

OpenPayz


Рекомендованные сообщения

ТС что из этого ты настраеваеш ? http://wiki.ubilling.net.ua/doku.php?id=o

его пытать надо ..... по слову вытягиваешь .... описать проблемму нормально никак ??? то сам фронтенд написал то уже не сам .....ни фига не понятно ((

Ссылка на сообщение
Поделиться на других сайтах

Дело было так. 

Перешел в документацию. http://wiki.ubilling.net.ua/doku.php?id=openpayz

Там есть раздел Установка. Сделал так как там описано. 

Затем в разделе Пишем свой фронтенд, скопипастил готовый код. Немного подправил под свои нужды. 

Но использую методы 

//регистрируем новую транзакцию
op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);
//вызываем обработчики необработанных транзакций
op_ProcessHandlers();

 

Затем попытался выполнить несколько платежей, отправляя GET запросы. И как я описывал выше, платеж в опенпез вродибы выполняется, так как видны платежи в базе данных. И меняется баланс клиента. Но сам платеж не выполняется, так как не отправляются комманды, на NAS для включения клиента и через время баланс клиента, становится таким каким был до выполнения платежа. Если внести наличные на баланс клиента, то все нормально, и баланс меняется и клиент включается в NAS

Ссылка на сообщение
Поделиться на других сайтах

 

 

Затем в разделе Пишем свой фронтенд, скопипастил готовый код. Немного подправил под свои нужды.  Но использую методы  //регистрируем новую транзакцию op_TransactionAdd($hash, $summ, $customerid, $paysys, $note); //вызываем обработчики необработанных транзакций op_ProcessHandlers();

 

так вы создали свой фронтенд .....

можите код сюда показать ??? вашего фронтенда 

Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

По поводу изменения баланса при платеже это я ошибся.  :rolleyes:

 

 

 

if (in_array($customerid, $allcustomers_login)) {

//correctionUserBalance($customerid);

//регистрируем новую транзакцию
op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);
//вызываем обработчики необработанных транзакций
op_ProcessHandlers();

die(json_encode(array( 'pay' => true)));

} else {
die(json_encode(array( 'pay' => false)));
}

 

Забыл закомментить correctionUserBalance($customerid) это она обнуляет баланс клиента.

Получается что опенпейз не срабатывает.

 

 

Кстати как правильно обнулять баланс клиента, чтобы старгазер не вернул отрицательное значение. Так как получится если клиент не платил два месяца, то при пополнении на месяц, у него останется отрицательный баланс

Відредаговано tramX
Ссылка на сообщение
Поделиться на других сайтах

По поводу изменения баланса при платеже это я ошибся.  :rolleyes:

 

 

 

if (in_array($customerid, $allcustomers_login)) {

 

//correctionUserBalance($customerid);

 

//регистрируем новую транзакцию

op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);

//вызываем обработчики необработанных транзакций

op_ProcessHandlers();

 

die(json_encode(array( 'pay' => true)));

 

} else {

die(json_encode(array( 'pay' => false)));

}

 

Забыл закомментить correctionUserBalance($customerid) это она обнуляет баланс клиента.

Получается что опенпейз не срабатывает.

 

 

Кстати как правильно обнулять баланс клиента, чтобы старгазер не вернул отрицательное значение. Так как получится если клиент не платил два месяца, то при пополнении на месяц, у него останется отрицательный баланс

ээээээээ

выработать правильный подход?

например научится пользоваться автоморозильником

или пересмотреть методы списания бабла

там есть метод, при котором в минуса загонит один раз и больше АП снимать не будет, пока он снова не станет положительным

 

но с другой стороны, зачем читать форум

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

когда я каждый раз при этом вопросе прошу почитать бл@#ь форум, а не задавать таких вопросов 

Ссылка на сообщение
Поделиться на других сайтах

описалибы свою проблему подробнее быстрее нашлиб решение .....)) 

возьмите на вооружение ..... а то прям как викторина угадай что у меня не так ))

Ссылка на сообщение
Поделиться на других сайтах

 

По поводу изменения баланса при платеже это я ошибся.  :rolleyes:

 

 

 

if (in_array($customerid, $allcustomers_login)) {

 

//correctionUserBalance($customerid);

 

//регистрируем новую транзакцию

op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);

//вызываем обработчики необработанных транзакций

op_ProcessHandlers();

 

die(json_encode(array( 'pay' => true)));

 

} else {

die(json_encode(array( 'pay' => false)));

}

 

Забыл закомментить correctionUserBalance($customerid) это она обнуляет баланс клиента.

Получается что опенпейз не срабатывает.

 

 

Кстати как правильно обнулять баланс клиента, чтобы старгазер не вернул отрицательное значение. Так как получится если клиент не платил два месяца, то при пополнении на месяц, у него останется отрицательный баланс

ээээээээ

выработать правильный подход?

например научится пользоваться автоморозильником

или пересмотреть методы списания бабла

там есть метод, при котором в минуса загонит один раз и больше АП снимать не будет, пока он снова не станет положительным

 

но с другой стороны, зачем читать форум

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

когда я каждый раз при этом вопросе прошу почитать бл@#ь форум, а не задавать таких вопросов 

 

 

 

если все кинутся читать форум .. с кем тогда  ...  а поговорить ???? .....)) иногда полезно вспомнить все ))

Ссылка на сообщение
Поделиться на других сайтах

Единственный момент с функцией correctionUserBalance($customerid)  оплошал. Но в целом проблему описал. Что еще необходимо описать? Создаю клиента и произвожу оплаты, в логе это видно.

 

2016-07-07 07:49:35 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39' added.
2016-07-07 07:49:35 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'password' parameter changed from '******' to '******'.
2016-07-07 07:49:35 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'ips' parameter changed from '*' to '172.16.9.224'.
2016-07-07 07:49:36 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'alwaysOnline' parameter changed from '0' to '1'.
2016-07-07 07:49:36 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'DisabledDetailStat' parameter changed from '0' to '1'.
2016-07-07 07:49:54 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'tariffName' parameter changed from '*_NO_TARIFF_*' to 'Unlim30'.
2016-07-07 07:49:55 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'disabled' parameter changed from '0' to '1'.
2016-07-07 07:49:57 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'disabled' parameter changed from '1' to '0'.
2016-07-07 07:50:25 -- Admin 'admin', 127.0.0.1: User 'akal4apa55ap88_oy39': 'cash' parameter changed from '0.000000' to '-80.000000'.
 
 
Следом выполняю оплату openpayz, влогах ничего нет. 
Ссылка на сообщение
Поделиться на других сайтах

error_reporting(E_ALL);

include ("../../libs/api.openpayz.php");

if ( (isset($_GET['user'])) AND (isset($_GET['paymentid'])) AND (isset($_GET['cash'])) ) {

$allcustomers= op_CustomersGetAll();

$hash='FC'.$_GET['paymentid'];
$summ=$_GET['cash'];
$customerid=trim($_GET['user']);
$paysys='FC';
$note='';
header('Content-type: application/json');

$allcustomers_login = array();
foreach ($allcustomers as $key=>$value){
array_push($allcustomers_login, $allcustomers[$key]);
}

if (in_array($customerid, $allcustomers_login)) {
op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);

op_ProcessHandlers();

die(json_encode(array( 'pay' => true)));

} else {
die(json_encode(array( 'pay' => false)));
}
}
Ссылка на сообщение
Поделиться на других сайтах
$allcustomers_login = array(); foreach ($allcustomers as $key=>$value){ array_push($allcustomers_login, $allcustomers[$key]); } if (in_array($customerid, $allcustomers_login)) { op_TransactionAdd($hash, $summ, $customerid, $paysys, $note); op_ProcessHandlers(); die(json_encode(array( 'pay' => true))); } else { die(json_encode(array( 'pay' => false))); }

 

а что вы ентим добивались ??? объясните тупику ..,)) 

Відредаговано seversever404
Ссылка на сообщение
Поделиться на других сайтах

Вызывая два этих метода,

 

//регистрируем новую транзакцию
op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);
//вызываем обработчики необработанных транзакций
op_ProcessHandlers();

я надеялся что произойдет пополнение баланса клиента.

 

Еще вопрос. В api.payments.php есть метод zb_CashAdd, это же он отвечает за пополнение счета? Как его правильно подключить чтобы Установить счет клиенту?

Ссылка на сообщение
Поделиться на других сайтах

Вызывая два этих метода,

 

//регистрируем новую транзакцию

op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);

//вызываем обработчики необработанных транзакций

op_ProcessHandlers();

я надеялся что произойдет пополнение баланса клиента.

 

Еще вопрос. В api.payments.php есть метод zb_CashAdd, это же он отвечает за пополнение счета? Как его правильно подключить чтобы Установить счет клиенту?

Никак. op_ProcessHandlers какраз и занят этим, при включенной STG_DIRECT.

 

Ваша проблема - в том, что вы пытаетесь кустарить, что-то стремное (прямая запись в базу, ога) не понимая в принципе, что происходит.

Відредаговано nightfly
Ссылка на сообщение
Поделиться на других сайтах

Вызывая два этих метода,

 

//регистрируем новую транзакцию

op_TransactionAdd($hash, $summ, $customerid, $paysys, $note);

//вызываем обработчики необработанных транзакций

op_ProcessHandlers();

я надеялся что произойдет пополнение баланса клиента.

 

Еще вопрос. В api.payments.php есть метод zb_CashAdd, это же он отвечает за пополнение счета? Как его правильно подключить чтобы Установить счет клиенту?

 

сделайте как описано в манах ... ТУТ ... и не изобретайте велосипед . типа как ентот . с проверкой на совпадение в масиве этим занимается OPENPAYZ .. и будетт работать .... у нас работает  .... 

Відредаговано seversever404
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від nightfly
      Ubilling 1.5.2 rev 9302 Book of Endings
       
      Зміни в структурі БД. alter.ini: нова опція FASTPROFITCALC_ENABLED, що вмикає швидкий підрахунок прибутку. alter.ini: нова необов'язкова опція KARMA_IN_PROFILE що вмикає показ карми в профілі користувача. alter.ini: нова опція SWITCHES_AUTH_ENABLED, що вмикає довідник даних авторизації пристроїв. alter.ini: нова опція PON_SCRIPTS_ENABLED, що вмикає підтримку скриптів OLT в ПОНізаторі. alter.ini: нова опція PON_ONU_FDB_SELFFILTER, що вмикає фільтр MAC-ів при відображенні FDB за ONU. alter.ini: нова опція USERBYIP_ENABLED, що вмикає виклик userbyip в RemoteAPI. alter.ini: пачка нових опцій PB_FASTURL_*, що керують поведінкою модулю відсилання коротких посилань на оплату. Модуль PONizer: виправлена помилка зникнення PON інтерфейсів при опиті BDCOM GP3600 Модуль “Профіль користувача”: для опису плагінів профілю та оверлеїв на кшталт “чорної магії” тепер опційно можливо вказувати link_target. Модуль “Панель задач”: для опису елементів панелі задач, тепер опційно можна вказувати LINK_TARGET. Модуль Записи телефонних розмов: вирішено проблеми швидкодії, при перегляді списку записів дзвінків. Модуль “Записи телефонних розмов”: більше не призводить до вичерпання пам'яті процесу, при перегляді великих архівів дзвінків. Модуль “Записи телефонних розмов”: новий аудіо-плеєр для прослуховування записів з візуалізацією аудіо-хвилі. Модуль “Пошук оплат”: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модуль УКВ: реалізовано можливість швиденького підрахунку прибутку по обраних чекбоксами платежах. Модулі Мапа обладнання та користувачів: трішки вичищено код. Ліпше не стало. Модуль “Мапа будинків”: поле пошуку при розташуванні будинку, тепер попередньо заповнено локацією, при переході за посиланням “розташувати на мапі”. Модуль “Панель задач”: опція TB_QUICKSEARCH_INLINE змінила свою поведінку, та може тепер приймати значення 0|1|2. Модуль “Звіт по трафіку”: виправлено проблему відображення графіків OphanimFlow для NAS на роздільних здатностях менше ніж FullHD. Кабінет користувача: в модулі “Відеоспостереження” відображення попереднього перегляду каналів користувача, стало трішки притомнішим. Сховище зображень: трішки покращено поведінку форми завантаження. RemoteAPI: новий виклик onusigcompressor, що радикально стискає розпухаючі дані історії сигналів ONU. RemoteAPI: новий виклик pbxmonrefill, що оновлює кеш записів телефонних розмов. RemoteAPI: новий виклик userbyip, що повертає дані про користувача за його IP. OpenPayz: в бекенді та фронтенді platon виправлено проблему диких заокруглень, при вказанні зовнішньої комісії.  
      Повний чейнджлог
      Оновлена демка
       

    • Від ppv
      Після оновлення до 1.5.1 не відображаються сигнали на
      OLT BDCOM P3310B (Device version10.1.0B)

      та
      P3608-2TE (Firmware Version10.1.0E). 

      3310C та P3608B ніяких проблем немає, знімає все добре. 
      З GPON3600-8 все зрозуміло будуть виправлення в Ubilling: 1.5.2.
       
      Може в когось було щось подібне? Хочу знати куди копати.
    • Від mac
      Глюк в тому, що один (так - тільки один) mac адрес onu існує в білінгу у вигляді строки. Це трохи заважає.
      olt - bdcom gepon.
      Наскільки зрозумів, це виключно проблема реалізації snmpwalk у freebsd, де snmpwalk може на свій розсуд віддати mac адресу не як hex-string, а як звичайний string.
      Можливо snmpwalk тригериться на якомусь символі, мені невідомо.
       
      # tcpdump -vv -i em0 udp port 161 and host olt and host ub | grep "3320.101.10.4.1.1.241 ... olt.snmp > ub.47940: [udp sum ok] { SNMPv2c C="*****" { GetResponse(44) R=93278354 E:3320.101.10.4.1.1.241="8LO"W*" } } ub.47940 > olt.snmp: [udp sum ok] { SNMPv2c C="*****" { GetNextRequest(34) R=93278355 E:3320.101.10.4.1.1.241 } } snmpwalk -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = STRING: "8LO\"W*" snmpwalk -Ox -c***** -v2c -t5 olt .1.3.6.1.4.1.3320.101.10.4.1.1 SNMPv2-SMI::enterprises.3320.101.10.4.1.1.241 = Hex-STRING: 38 4C 4F 22 57 2A  
      Це стосується таких параметрів у snmp конфізі bdcom
       
      [signal] MACINDEX=".1.3.6.1.4.1.3320.101.10.4.1.1" [misc] ONUINDEX=".1.3.6.1.4.1.3320.101.11.1.1.3"  
      За для усунення глюку спробував трошки змінити код і завдати тип snmp параметру явно у ./api/libs/api.ponbdcom.php у function collect()
      Це працює. Мабуть станеться у нагоді:
       
      # diff api.ponbdcom.php{.new,.bak} 37c37 < $onuIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); --- > $onuIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $onuIndexOid, self::SNMPCACHE); 91c91 < $macIndex = $this->snmp->walk('-Ox ' . $oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE); --- > $macIndex = $this->snmp->walk($oltIp . ':' . self::SNMPPORT, $oltCommunity, $macIndexOID, self::SNMPCACHE);  
      P.S. Створив тему, а зараз міркую: а може це глюк у ПЗ olt. Оновлю фірмваре olt та перевірю...
       

    • Від Plastilin
      Вітаю. Маю наступний комплект. Ubilling на Debian + Mikrotik CHR як маршрутизатор. Наче все запустилось, але виникло питання яке не вдається розрулити. Читав Wiki, ковиряв, читав знову Wiki, знову ковиряв - не допомогло.
      Чи можливо якось визначити конкретну IP адресу з пулу який видає Mikrotik клієнту через Radius? Мені пропонує обрати наступну вільну адресу з пулу при спробі зміни адреси?
      З цього з'являється додаткове питання, чи можливо контролювати доступ користувачам у яких IP назначений статично, тобто прописаний вручну? Наприклад при зміні статусу не активний - пхати до Firewall Mikrotik правила заборони доступу з IP адреси визначеної вручну, навіть якщо вона не отримана по DHCP.
       
      UPD: з першою частиною знайшов: IP_CUSTOM=1 в alter.ini 
    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
×
×
  • Створити нове...