forum.bitel.ru
http://forum.bitel.ru/

Постоянные проблемы с абонплатой.
http://forum.bitel.ru/viewtopic.php?f=16&t=1974
Страница 1 из 2

Автор:  dsheptalin [ 03 мар 2009, 22:34 ]
Заголовок сообщения:  Постоянные проблемы с абонплатой.

Постоянные проблемы с абонплатой. Абонплата сейчас снимается с условием наработки (есть наработка - есть абонплата). У большинства абонентов 1 числа или позже всегда есть авторизация и следовательно проскакивают байтики и Абонплата снимается а на счету денег меньше чем Абонплата.... в результате минус на счету...

Как избежать алгоритм ясен а вот со скриптами беда.

1. при авторизации проверять снималась-ли абонплата.
2. если снималась - то авторизация пройдена.
3. если нет то проверять достаточно-ли денег.
4. если достаточно то снять абонплату и авторизация пройдена
5. если недостаточно то авторизация непройдена.

Модуль Диалап

Разработчики... дайте такой скрипт... посмотрите сколько вопросов на эту тему...

Автор:  dsheptalin [ 04 мар 2009, 16:17 ]
Заголовок сообщения: 

Мдя......

Автор:  skn [ 04 мар 2009, 16:58 ]
Заголовок сообщения: 

такие вещи мы не делаем по запросам на форуме

Автор:  dsheptalin [ 04 мар 2009, 17:31 ]
Заголовок сообщения: 

Какие вещи... ЭТО СТАНДАРТНАЯ ВЕЩЬ.

Нехватает денег - нет услуги.
Вы считаете что я прошу чегото сверхестественного???

А ситуация когда в конце месяца у абонента 20 коп. на счету, 24.00 ... его не отключает а через 5 минут симается абонплата и на счету -500 руб. Либо 1 числа он коннектится и его пускает а через 5 минут симается абонплата и на счету -500 руб. и только тогда сбрасывает.

ЭТО НОРМАЛЬНО???

Для того чтобы пустило - на счету должно быть 500 руб.

А если он незаплатил в текущем месяце??? а заплатил в следующем, то поимел в результате еще -500 .

Как прикажите это контролить??? Ручками??? мы прозевали...
А абонент пишет жалобу, к нам проверка.... куда ее посылать к ВАМ???

Автор:  dsheptalin [ 04 мар 2009, 17:46 ]
Заголовок сообщения: 

Денег за этот скрипт платить небуду.... Я лучше их за другой билинг заплачу... И дешевле чем Ваш и по функционалу Вас уже все обогнали....

Автор:  skn [ 04 мар 2009, 17:48 ]
Заголовок сообщения: 

1) доработка функционала проводиться в рамках договора тех. поддержки.
2) поведение модуля абонплат не менялось с момента приобритения вами ПО, Вы имели возможность протестировать работу ПО до приобретения
3) разные компании по разному подходят к процессу начисления абонплат, часть алгоритмов реализуется средствами модуля, если нужного вам алгоритма нет, мы готовы его реализовать в рамках ТП

Автор:  dsheptalin [ 04 мар 2009, 18:06 ]
Заголовок сообщения: 

Повторяюсь

Какие вещи... ЭТО СТАНДАРТНАЯ ВЕЩЬ.

Нехватает денег - нет услуги.

Спрашивал месяц назад.... тишина.... поэтому такой диалог.

Ответилиб сразу... Денег дай !!! Я б дал. Вы же игнорите

Автор:  skn [ 04 мар 2009, 18:20 ]
Заголовок сообщения: 

ОСНОВНОЕ назначение модуля ПЕРИОДИЧЕСКОЕ списание определенной суммы со счета клиента - ЭТО для этого модуля СТАНДАРТНАЯ ВЕЩЬ. (в не зависимости от наличия средств на счете клиента, так как многие услуги предоставляются в кредит, например телефония, каб. телевидение и т.д.)

а вот ВСЕВОЗМОЖНЫЕ условия списания, это ДОПОЛНИТЕЛЬНЫЕ возможности, реализуемые через СКРИПТЫ.

Автор:  dsheptalin [ 04 мар 2009, 18:27 ]
Заголовок сообщения: 

А многие и не в кредит.... Напишите в описании...
Что Только в кредит..... неподходит для предоплатной системы расчетов.

Да незнаю я скриптинга.... Подскажите... Я ж большего непрошу...
Ткните где копать...

Автор:  snark [ 04 мар 2009, 18:32 ]
Заголовок сообщения: 

повесить на событие радиус авторизации скрипт делающий нечто в духе:
Код:
response = event.getResponse();

if (юзер в ТП с абон. платой) {
    if (нет наработки в модуле абон. плат за текущий месяц) {
        if (баланс > 0 && баланс >= сумма абон. платы) {
            снять абон. плату, например расходом;
            response.setPacketType(RadiusPacket.AUTHENTICATION_ACCEPT);
        } else {
            response.setPacketType(RadiusPacket.AUTHENTICATION_REJECT);
        }
    } else {
        response.setPacketType(RadiusPacket.AUTHENTICATION_ACCEPT);
    }
}

замените русский текст ф-циями API и будет Вам счастье ;)
правда не сработает с абонентками пропорционально периоду, но это тоже решаемо, я думаю ...

P.S. начав работу с БГБ я сам совершенно нихрена не понимал в скриптинге, но порывшись в вики, почитав маны начал потихоньку разбираться что к чему ...

Автор:  skn [ 04 мар 2009, 18:34 ]
Заголовок сообщения: 

http://wiki.bgbilling.ru/index.php/%D0% ... 1%86%D0%B0

Автор:  dsheptalin [ 04 мар 2009, 18:58 ]
Заголовок сообщения: 

Вот товарищи по несчастью поняли. СПАСИБО ОГРОМНЕЙШЕЕ.

Подсказали буду рыть.

А разработчики http://wiki.bgbilling.ru/index.php/Заглавная_страница
КРУТО.... и вам тудаже.... Это из разряда:

Плавать умеет??? ... УМЕЕТ.
А летать??? .... УМЕЕТ.

Ток двигатель докупите... и винт... и пропеллер.


Хорошо что не http://www.google.com/search хотя эт одно и тоже.

Автор:  lelick [ 18 мар 2009, 14:09 ]
Заголовок сообщения: 

dsheptalin писал(а):
Какие вещи... ЭТО СТАНДАРТНАЯ ВЕЩЬ.

Нехватает денег - нет услуги.
Вы считаете что я прошу чегото сверхестественного???

А ситуация когда в конце месяца у абонента 20 коп. на счету, 24.00 ... его не отключает а через 5 минут симается абонплата и на счету -500 руб. Либо 1 числа он коннектится и его пускает а через 5 минут симается абонплата и на счету -500 руб. и только тогда сбрасывает.

ЭТО НОРМАЛЬНО???

Для того чтобы пустило - на счету должно быть 500 руб.

А если он незаплатил в текущем месяце??? а заплатил в следующем, то поимел в результате еще -500 .

Как прикажите это контролить??? Ручками??? мы прозевали...
А абонент пишет жалобу, к нам проверка.... куда ее посылать к ВАМ???




дорогой я это пытался тех поддерже доказать пол года назад мне ответили просто - сам дурак. Поэтому добится то что ты просиш можно только дописам скрипты самому. Тогда непонятно почему я должен платить за функции которые написал я сам и ими же пользуюсь

Автор:  and [ 18 мар 2009, 15:06 ]
Заголовок сообщения: 

dsheptalin писал(а):
Какие вещи... ЭТО СТАНДАРТНАЯ ВЕЩЬ.

Нехватает денег - нет услуги.
Вы считаете что я прошу чегото сверхестественного???

А ситуация когда в конце месяца у абонента 20 коп. на счету, 24.00 ... его не отключает а через 5 минут симается абонплата и на счету -500 руб. Либо 1 числа он коннектится и его пускает а через 5 минут симается абонплата и на счету -500 руб. и только тогда сбрасывает.

ЭТО НОРМАЛЬНО???

Для того чтобы пустило - на счету должно быть 500 руб.

А если он незаплатил в текущем месяце??? а заплатил в следующем, то поимел в результате еще -500 .

Как прикажите это контролить??? Ручками??? мы прозевали...
А абонент пишет жалобу, к нам проверка.... куда ее посылать к ВАМ???


Если у Вас снимается АбонПлата за наработку, то и напишите в договоре что если была наробка то АбонПлата снимается в полном объеме! А то что абонент уходит в минус это в порядке вещей, только их предупреждать надо, а не говорить им что Вы всегда будете в плюсе!

Автор:  lelick [ 18 мар 2009, 20:29 ]
Заголовок сообщения: 

Народ уже был принцедент и фирму наказали на большую сумму. Абонент подал в суд на контору которая предлоставляет доступ в интернет по той схеме как сейчас работает BG биллинг и выйграл дело. Так как услуга ему ен предоставлялась (его загнали в минус) но в тоже время на числили абонентскую плату. Вы нарушаете законы о связи господа. Ваш биллинг вообще в свободном полете, как хочет так и работает. Баги уже второй год отлавливаем. То абонентку не начислит, то услуги отключит сам.

Автор:  lelick [ 18 мар 2009, 20:32 ]
Заголовок сообщения: 

skn писал(а):
ОСНОВНОЕ назначение модуля ПЕРИОДИЧЕСКОЕ списание определенной суммы со счета клиента - ЭТО для этого модуля СТАНДАРТНАЯ ВЕЩЬ. (в не зависимости от наличия средств на счете клиента, так как многие услуги предоставляются в кредит, например телефония, каб. телевидение и т.д.)

а вот ВСЕВОЗМОЖНЫЕ условия списания, это ДОПОЛНИТЕЛЬНЫЕ возможности, реализуемые через СКРИПТЫ.


Бред сивой кобылы, у нас в кредит не то что кабельное не предоставляют а и телефонию тоже. Все оплачивается заранее и если денег нет то и не получаешь услуги. О каких кредитах идет речь ? мы живем в эпоху капитализма а не социализма когда предлагалась сначала получить услугу а уж потом за нее расплачиваться

Автор:  skn [ 18 мар 2009, 21:25 ]
Заголовок сообщения: 

Лично я плачу за телефон в следующем месяце после оказания услуг, а за кабельное оператор допускает просрочку до 2 месяцев... видимо мы еще при социализме живем.

Автор:  stark [ 18 мар 2009, 23:36 ]
Заголовок сообщения: 

lelick писал(а):
skn писал(а):
ОСНОВНОЕ назначение модуля ПЕРИОДИЧЕСКОЕ списание определенной суммы со счета клиента - ЭТО для этого модуля СТАНДАРТНАЯ ВЕЩЬ. (в не зависимости от наличия средств на счете клиента, так как многие услуги предоставляются в кредит, например телефония, каб. телевидение и т.д.)

а вот ВСЕВОЗМОЖНЫЕ условия списания, это ДОПОЛНИТЕЛЬНЫЕ возможности, реализуемые через СКРИПТЫ.


Бред сивой кобылы, у нас в кредит не то что кабельное не предоставляют а и телефонию тоже. Все оплачивается заранее и если денег нет то и не получаешь услуги. О каких кредитах идет речь ? мы живем в эпоху капитализма а не социализма когда предлагалась сначала получить услугу а уж потом за нее расплачиваться

Значит телефонию в кредит не предоставляете ? плохо - нарушаете закон :
http://www.cominfo.md/ru/articles/law/2 ... ml?start=8

Автор:  Amir [ 19 мар 2009, 00:01 ]
Заголовок сообщения: 

За что именно берется абонплата - прописывается в договоре. Это может быть предоставление канала/ip адреса и т.п.
То что описывается в данной ветке возможно реализовать в биллинге через учетные периоды модуля dialup.
Организация_семейства_UNLIMIT_тарифов_на_базе_FreeBSD_MPD

Цитата:
Скрипт на событие запроса учетного периода:
Код:
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import java.util.*;
import java.math.*;
 
VPN_MID = 3;
CHARGE_TYPE = 21;
 
bu = new BalanceUtils( con ) ;
cm = new ContractManager( con );
chm = new ChargeManager( con );
ctm = new ContractTariffManager( con );
 
event.setProcessed( true );
 
if( event.getRequestDate() == null ) {
    error(  "event.requestDate() == null" );
    return;
}
 
cid = event.getContractID();
contract = cm.getContractByID( cid );
 
if( contract == null ) {
    error( "Contract with ID " + cid + " was not found!" );
    return;
}
 
date_clndr = (Calendar)event.getRequestDate();
date = date_clndr.getTime();
 
currentTariff = ctm.getContractTariff( cid, date_clndr );
if( currentTariff == null ) {
   error( "Current tariff was not found!" );
   return;
}
 
PAY = 0;
 
tpid = currentTariff.getTariffPlanID();
if(  tpid == 53 ) {
    PAY = 290;
}
else if ( tpid == 66 ) {
    PAY = 360;
}
else if ( tpid == 67 ) {
    PAY = 660;
}
else if ( tpid == 68 ) {
    PAY = 960;
}
else if ( tpid == 69 ) {
    PAY = 1660;
}
else {
    error( "Incorrect current tariff!" );
    return;
}
 
balance = bu.getBalance( date, cid );
 
if( balance.intValue() < PAY ) {
    error( "Not enough money to open a period!!" );
    return;
}
 
charge = new Charge();
charge.setContractID( cid );
charge.setDate( date_clndr );
charge.setChargeTypeID( CHARGE_TYPE );
charge.setComment( "Активация периода UNLIM" );
charge.setSumma( PAY );
 
chm.updateCharge( "new", charge );
 
// обновляем баланс
bu.updateBalance( date, cid );
 
date_start = new GregorianCalendar();
date_start.setTime( date );
date_end = (Calendar)date_start.clone();
date_end.add( Calendar.DAY_OF_YEAR, 30 );
event.setPeriodStart( date_start );
event.setPeriodEnd( date_end );


Принцип такой же, только в конце создавать учетный период не на 30 дней вперед, а на текущий месяц.
Код:
date_start = new GregorianCalendar();
date_start.setTime( date );
date_end = (Calendar)date_start.clone();
date_start.set( Calendar.DATE, 1 );
date_end.add( Calendar.DATE, date_end.getActualMaximum( Calendar.DATE ) );
event.setPeriodStart( date_start );
event.setPeriodEnd( date_end );


Клиент подключился в этом месяце - деньги снялись. Не подключался - ничего не снималось.
Если скрипт установил event.setProcessed( true ); но хоть одна дата учетного периода null - клиент не подключится. Если во время переобсчета обнаружилось, что учетный период закончился - пытается запросить новый через скрипт. Если event.setProcessed( true ); и хотя бы один из периодов null - клиента отключит.

Автор:  supp [ 20 мар 2009, 21:51 ]
Заголовок сообщения: 

Правельнее проверять (хватает денег или нет). И без всяких периодов. Если нехватает (неснимать абонентку и неавторизоать).

Автор:  supp [ 20 мар 2009, 21:55 ]
Заголовок сообщения: 

А минуса сам проходил с сотовиками, когда переходили на "все входящие бесплатно" . Минуса мне начислили и судом гразили. Послал я их "приносите в суд сертификат на биллинг - меня авансовый тариф и минусов быть неможет - ваши проблемы" и они сразу остыли и минуса обнулили сами.

Автор:  supp [ 20 мар 2009, 21:58 ]
Заголовок сообщения: 

я тоже считаю что автор темы прав. есть кредит и аванс (аванс неработает в полном объеме).

Автор:  stark [ 20 мар 2009, 22:36 ]
Заголовок сообщения: 

supp писал(а):
Правельнее проверять (хватает денег или нет). И без всяких периодов. Если нехватает (неснимать абонентку и неавторизоать).


Т.е если денег в начале месяца не хватало на абонку..она была 500 рублей, а было всего лишь только 450 , то не снимать абонплату..И каким то образом запомнить что мы ее снять не можем (например перевести в состояние заблокирован или еще как-то) и не оказывать услуги .. не пускать в интренте , не разрешать звонить ит.п .. Потом занесли платеж задним числом ..денег стало хватать, но абонку при пересчете все равно не снимать? .. А если наоборот - расход задним числом внесли, а абонку уже сняли ? при переобсчете ее так же снимать?

Автор:  stark [ 20 мар 2009, 22:43 ]
Заголовок сообщения: 

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

Автор:  skn [ 20 мар 2009, 22:52 ]
Заголовок сообщения: 

По моему в авансовых схемах, абонплата - бредовая идея.

Расмотрим такую схему
1) например абонплата 100 руб
2) на начала месяца денег на счету нет, следовательно абонплату не снимаем, и услуги не оказываем., действует принцип "нет денег нет услуги"
3) 25 числа деньги поступают на счет, абонплата списывается в полном объеме? или только за оставшие дни месяца? Если полностью то не понятно за что? услугой я же не пользовался... Если за оставшие дни, то это, то тоже странно может я только день поработаю, а платить должен за все оставшие дни... Идиотизм какой-то....

Возникает вопрос за что берется абонплата в вашем случае за ВОЗМОЖНОСТЬ использовать услугу (например за порт коммутатора, или телефонный номер, ведь если у меня нет денег на счете и с меня не берется абонплата, я все равно занимаю ресурсы, но не плачу за них) или за САМУ услугу (трафик, время и т.д.).

Автор:  supp [ 20 мар 2009, 23:52 ]
Заголовок сообщения: 

Да на авторизацию радиуса проверку можно покрайней мере для диалапа.

И все логично - нет денег нет услуги - появились деньги - есть услуга.

без всяких активен неактивен.

А сейчас как раз нелогично. абонент первого числа с 1 руб на счету ткнулся получил минус - и орет почему минус насчету и доказывай ему что у него была одна сессия и там 10 байт.

А 25 или 30 денег класть если нужна услуга это ему решать.

И логика проста, если услуга стоит 100 руб. она должна стоить 100 руб. а не -99 руб. если был рубль на счету. Аванс а не кредит.

Автор:  stark [ 21 мар 2009, 02:57 ]
Заголовок сообщения: 

supp писал(а):
Да на авторизацию радиуса проверку можно покрайней мере для диалапа.

Проверки только в авторизации недостаточно .. надо еще как минимум при любом изменени баланса в течении месяца снять с него абонплату(либо за весь месяц либо за оставшиеся дни). А потом при любом пресчете этой абонплаты все это как-то учитывать..

Автор:  supp [ 21 мар 2009, 12:47 ]
Заголовок сообщения: 

Это неплохобы.
Но проверка наличия необходимой суммы, для снятия абонплаты, на балансе при авторизации решит многое, как при снятии раз в месяц, так и при снятии долями. "Нет денег - нет услуги".

и результат - недостаточно средств для получения услуги - это и есть Авансовая система расчета.

и это логично - Мне покрайней мере колбасу стоимостью 100 руб.
недают когда у меня только 1 руб. и чек с -99 руб. непробивают.

Автор:  stark [ 23 мар 2009, 12:51 ]
Заголовок сообщения: 

supp писал(а):

и это логично - Мне покрайней мере колбасу стоимостью 100 руб.
недают когда у меня только 1 руб. и чек с -99 руб. непробивают.


А т.е если вы пришли в магазин 25-го числа и не ходили весь месяц туда до этого..Купили колбасу за 100 рублей и вам выбили еще 1000 рублей , за обслуживание вас продавцом в течении всего месяца - это логично ? Может не надо тогда вообще снимать абонплату , если вы пользуетесь авансовой схемой.. сколько потратил , столько и получил .. либо он платит за то, что в его квартиру поведен провод, вы все это поддерживаете и обсулживаете ..тогда надо снимать вне зависимости от потребил или нет ..если не хочет потребелять, то ставите ему статус приостановлен , и закрываете шлюз ему..

Автор:  supp [ 23 мар 2009, 13:02 ]
Заголовок сообщения: 

Нет, если мне нужна колбаса 25 числа, я плачу за нее 100 руб.

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

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

Страница 1 из 2 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/