BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 30 июн 2025, 01:30

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 08 янв 2007, 02:58 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Вот, обнаружил багу либо фичу... вопрос к разработчикам.

Есть пользователи работающие в кредит.
При запуске процедуры проверки шлюзов (IPNTestGates), закрываются все отрицательные бюджеты без проверки на режим договора. Т.е. кредитный пользователь с отрицательным балансом не имеет доступ к ресурсам.

И еще вопрос:
Кто "открывает" гейт? В IPNTestGates только закрытие.
Или в системе принято правило, что при внесении средств на счет, автоматом открывается гейт?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 янв 2007, 13:39 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В текущей версии IPN модуль действительно игнорирует лимит. Дело в том что модуль остался с тех времен когда в биллинге были только дебетовые договора + лимит. В 4.0 версии мы сделаем логику поведения соответствующую общей идеологии биллинга. Пока можно только сильно отпускать лимит :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 08 янв 2007, 21:20 
Не в сети

Зарегистрирован: 04 дек 2006, 21:55
Сообщения: 150
Карма: 0
Ок. с кредитом понятно.

Но, остался 2-й вопрос на счет открытия гейта.

Как я понял, задача проверки шлюзов только закрывает отрицательные договора.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 09 янв 2007, 17:46 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Открытие происходит по событию прихода платежа на договор. Если закидываете деньги напрямую в БД - необходимо послать HTTP запрос на сервер биллинга как будто был приход, можно нулевой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 дек 2007, 10:28 
А если нужно открывать гейт при определённом размере платежа (достаточном)?

Написан скрипт на событие прихода платежа, который должен открывать договору доступ в интернет, задумка была общая для модулей IPN & VPN, потому скрипт просто переключает режимы кредит/дебет, чтобы пускать/не пускать. С модулем VPN всё проходит нормально, а вот для IPN шлюз не открывается.

Пробовал так:
gateList = gm.getContractGates( cid );
if( gateList != NULL )
{
for( Iterator it = gateList.iterator(); it.hasNext(); )
{
ipn_gate = it.next();
gm.UpdateGate( ipn_gate.getID(), ipn_gate );
}
print( "Gates updated." );
}
else
{
print( "Gates not found." );
}

Ругается, что нет такой функции "UpdateGate( int, gate )", судя явадокам "UpdateGate( string, gate )" действительно не соответствует этому описанию.

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

BgBilling server v4.3


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 дек 2007, 14:42 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Вообще IPN вроде сам умеет шлюз открывать, попробуйте поставить в конфиге модуля:

Код:
#статус шлюза клиента после оплаты и разблокирования 0 - открыт, 1 - закрыт
status.after.unlock=0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 дек 2007, 16:57 
Вот, это тоже полезная вещь, спасибо большое.
Но проблема как-раз в том, что шлюз не переходит из статуса "заблокировано" в тот статус, что указывается в этой опции.
Пока что работает только так:
>Приходит достаточный платёж --- у договора снимается группа "должник" и переключается режим в "кредит"
>Приходит ещё один любой платёж --- шлюз переходит из статуса "заблокировано" в статус "закрыто"


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 13 дек 2007, 17:07 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
А достаточный платеж это сколько? Баланс становится больше лимита? Или оплачивается наработка предыдущего месяца?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 17 дек 2007, 11:32 
Оплата входящего остатка на начало текущего месяца.


Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: 17 дек 2007, 11:56 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
У нас биллинг пока может сравнивать лишь текущий остаток с лимитом для ДЕБЕТ режима. А для КРЕДИТА вообще все время все открыто. Полноценная работа с кредитовыми договорами, с плановым раз в месяц выбором и отключением должников пока только в разработке. Надеемся к 4.4 сделать.
Скриптами теоретически это сделать тоже можно, при смене режима на КРЕДИТ еще тогда вызывайте функцию:

http://bgbilling.ru/v4.3/javadoc/bitel/ ... nager.html

Код:
import bitel.billing.server.ipn.bean.*;

new ContractStatusManager( con, <код модуля> ).changeStatus(cid, 0, 0, true) ;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 20 дек 2007, 11:44 
Большое спасибо, очень помогло, всё работает


Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.043s | 28 Queries | GZIP : On ]