BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 мар 2024, 17:47

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




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Списание денег. Нюансы.
СообщениеДобавлено: 24 фев 2016, 18:04 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Доброго дня.

Есть работающая связка: модуль ТВ + Сталкер. Теперь пришла пора снимать деньги :)

1) При активации подписки, если у абонента недостаточно денег, продукт находится в состоянии "отключен". Как только появятся деньги, продукт активируется. Все ок, все соответствует документации. (кстати, кажется нашел очепятку - http://docs.bitel.ru/pages/viewpage.act ... Id=1607124, тут вместо "при неустановленном - с 13:13 до 14:00", видимо имелось ввиду "при неустановленном - с 13:30 до 14:00").
Но, если баланс абонента изменится уже после активации продукта, например если у него стоял временный лимит, или была оказана еще какая-то услуга, то модуль никак не отреагирует, аккаунт останется включен, подписки тоже. Это не хорошо.

В планировщике можно создать только две задачи: Активация/деактивация аккаунтов по периоду и Пролонгация подписок не в реальном времени. Если я правильно понимаю, они мне не помогут. Продукты у меня единоразовые, продление в реальном времени.

2) Можно ли сделать так, чтобы при очередной попытке списания средств, если не хватает денег, выключался и сам аккаунт тоже? Не только продукты. И еще не понятна логика, если у клиента 5 подписок, биллинг снимает деньги за первую, продлевает, снимает за вторую, продлевает, тут деньги закончились и остальные не продлевает?

3) Я правильно понимаю, что если у продукта продление в реальном времени и в тарифе описана стоимость активации за месяц, то списание средств происходит ровно спустя месяц от активации продукта ("выровнено" опустим для упрощения, время суток сейчас роли не играет), например если абоненту активировали пакет HD 15 февраля, то 15 марта с него биллинг попробует списать деньги за очередной месяц? А если в продукте выставить тип периодический и продление по планировщику, то задача "пролонгация подписок" будет снимать деньги тогда когда я ее запущу? например только по первым числам месяца? Как в NPay? Или как-то по другому?

Версии:
Сервер: вер. 6.2.1019 / 19.02.2016 12:33:22
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_73

tv: вер. 6.2.204 / 08.02.2016 14:58:01


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 24 фев 2016, 19:39 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
1. Да, по умолчанию работает в режиме, если взяли денег за сутки, то пусть сутки и смотрит. Можно блокировать аккаунт по балансу, если в конфиге модуля указано
account.lockByBalance=1
или перечислены ID типов аккаунтов, для которых будет работать такая блокировка:
account.lockByBalance.specIds=

Но для Stalker не вижу сейчас обработчика блокировки аккаунта, возможно для этого протокола нет или не было возможности блокировки аккаунта или на момент создания StalkerOrderManager об этом не подумали.


2. Т.е. если нет ни одного активного пакета/продукта - блокировать аккаунт?
Да, снимает/продлевает в порядке времени окончания текущего продленного периода, если время совпадает - то по полю Приоритет (больше -> важнее).
Например, можно указать в режиме активации 0 дней с текущего (дня), в тарифе указать галочку "выровнено", тогда тарификация и продление будет посуточное, продление всех пакетов в 00:00.
Также при посуточном продлении можно указать в продукте продление не в реальном времени, а по планировщику. Тогда продление будет происходить не в 00:00, а по задаче планировщика (при этом до того как сработает задача отключение пакетов не происходит). Такой режим бывает нужен при дебетовых абонплатах, когда нужно сначала снять деньги задачей планировщка модуля абонплат.


3. Да, если установить "выровнено", то при не оплате и последующей оплате новый период начнется с этого же времени/дня, т.е. тогда заканчиваться будет всегда 15 числа, даже если оплатил 14-ого.
Да, но желательно чтобы периоды примерно совпадали с работой задачи планировщика, т.е. чтобы в активации пакета/продукта было указано 0 месяцев с текущего, а не были периоды с 15 по 15, а само списание-продление первого числа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 24 фев 2016, 20:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
1) Прописал account.lockByBalance=1, перезагрузил, увеличил лимит (с -20 до 0, на балансе -5)... ничего не произошло - аккаунт включен, продукты тоже.

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

Amir, я уже в конец запутался, вы просто скажите можно так сделать или нет?:
Абоненты в середине месяца покупают разные пакеты, с них снимаются деньги до конца месяца, пропорционально оставшимся дням. Первого числа месяца биллинг пытается снять деньги за все активированные пакеты и если не получается - отключает аккаунт. Как только поступают деньги (достаточные для оплаты всех активных пакетов) или часть пакетов отключается оператором - аккаунт включается обратно со всеми пакетами. Хорошо бы чтобы за период времени пока аккаунт был отключен биллинг не списывал деньги, но это не обязательно.

3) ну как я уже описал, нам нужно чтобы было выровнено по календарному месяцу. Если описать стоимость тарифа за месяц и поставить выровнено - ведь так и будет, нет?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 26 фев 2016, 17:35 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
help :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 05 мар 2016, 22:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
1. Да, я писал выше - нам нужно в StalkerOrderManager добавить поддержку отключения аккаунта.

2. Сейчас пока такого режима нет. Можно только выстроить зависимости и приоритеты - чтобы если не хватает денег на какой-нибудь "Базовый пакет" - не продлялись дополнительные.

а) если баланс меньше лимита - отключаем аккаунт (account.lockByBalance=1)
б) можно сделать в StalkerOrderManager, если нет ни одного активного пакета - отключаем аккаунт

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

3. Да, но также в режиме активации нужно указать 0 месяцев с текущего.

Флаг выровненно означает, что новый период будет начинаться либо с окончания предыдущего периода либо через один период, указанный в тарифе.

Т.е. если ставим 0 дней с текущего + 1 день за 1 руб выровненно, то когда бы абонент не активировал - период начнется с 00:00:00 (0 дней с текущего), далее у него когда-то кончаются деньги - наступает перерыв, период закончился в 23:59:59 - он платит в 22:00 - период продлится с того места где закончился (выровненно), т.е. он заплатит за 2 оставшихся часа как за целый день.
Если же он не заплатит в 22:00, а заплатит позже - в 01:00, то появляется перерыв в один день, за который он не платит, в течении которого у него не было активного пакета.
Аналогично и для месяцев.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 07 мар 2016, 17:01 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
1) Ясно. Постараемся обойтись без этого.
2) Все это звучит замечательно, но ведь в текущей сборке для сталкера этого всего нет? Нам нужно запускаться прямо сейчас, поэтому стараюсь исходить из того что есть.
3) О, я рад что все правильно понял


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 10 мар 2016, 20:06 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Цитата:
Аналогично и для месяцев.


Как оказалось нет... С включенным "выровнено" продукт активируется до такого же числа следующего месяца.

В документации:
Цитата:
Например, если период продления привязан к календарным суткам, то тарификация и попытка продления произойдет в 00:00 нового дня.


Чтобы списание денег происходило именно первого числа месяца - нужно в тарифе выставить "пропорционально", но тогда пропадает выровнено. и еще сюрприз - оплата считается не до 00:00:00 а до того же времени суток (но уже первого числа)

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

У меня простая задача - чтобы один модуль (одного и того же биллинга) считал так же как и другой модуль, почему это так сложно? :facepalm:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 10 мар 2016, 20:37 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Методом тыка пришел к решению:
a) продукт - тип периодический, продление в реальном времени (такая комбинация возможна?)
b) режим активации - 1 месяц с текущего(ей) , округленно, деактивация до конца оплаченного периода
с) в тарифе - стоимость за 1 месяц пропорционально


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 10 мар 2016, 22:12 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Цитата:
2) Все это звучит замечательно, но ведь в текущей сборке для сталкера этого всего нет? Нам нужно запускаться прямо сейчас, поэтому стараюсь исходить из того что есть.
Выкладывается обновление. Должен отключать аккаунт - выполнять
PUT [API_URL]/accounts/00:1A:79:00:39:5E
> status=0
Цитата:
Как оказалось нет... С включенным "выровнено" продукт активируется до такого же числа следующего месяца.
В документации:
Цитата:
Например, если период продления привязан к календарным суткам, то тарификация и попытка продления произойдет в 00:00 нового дня.
Чтобы списание денег происходило именно первого числа месяца - нужно в тарифе выставить "пропорционально", но тогда пропадает выровнено. и еще сюрприз - оплата считается не до 00:00:00 а до того же времени суток (но уже первого числа)
Период всегда идет с начала времени активации. Поэтому если хотите чтобы всегда было с первого числа - в режиме активации нужно указывать 0 месяцев с текущего, если хотите чтобы всегда было помесячно - то указываете в тарифе выровненно. Если хотите посуточно - в режиме активации указываете 0 дней с текущего.

Да, приходится совмещать параметры режима активации и тарифа. Возможно в будущем сделаем поудобнее.

Цитата:
Методом тыка пришел к решению:
a) продукт - тип периодический, продление в реальном времени (такая комбинация возможна?)
b) режим активации - 1 месяц с текущего(ей) , округленно, деактивация до конца оплаченного периода
с) в тарифе - стоимость за 1 месяц пропорционально

a) да
b) в таком случае через месяц автоматически подписка отключится - абоненту нужно будет заново активировать. 0 - это "автопродление", период окончания при этом пустой, null (а округленно - работает только когда не 0).
c) пропорционально - значит если у абонента в начале месяца не было денег - пакет закрывается. Далее он в середине месяца пополняет баланс - денег будет снято в половину от указанной цены.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 10 мар 2016, 22:24 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В модуле TV - подписочная схема. Можем придумать что-нибудь, чтобы тарифицировать через модуль абонплат (кто-то уже даже тарифицирует так, но не помню точно, какие были условия).
Т.е. будет просто закрывать аккаунт по статусу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 11 мар 2016, 12:29 
Не в сети
Клиент

Зарегистрирован: 21 май 2008, 10:54
Сообщения: 599
Откуда: 50-й рег.
Карма: 40
Цитата:
кто-то уже даже тарифицирует так...

Это мы! мы!
Цитата:
...будет просто закрывать аккаунт по статусу

Если сей счастливый миг наступит - столица мира автоматом переедет в Васюки Уфу и наступит вселенский оргазм, окончательный и бесповоротный....

_________________
"Все правые - в резерве!" (c) (translate.google.ru/#en/ru/all%20rigths%20reserved)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 11 мар 2016, 12:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Цитата:
в таком случае через месяц автоматически подписка отключится - абоненту нужно будет заново активировать. 0 - это "автопродление", период окончания при этом пустой, null (а округленно - работает только когда не 0)

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

Цитата:
Поэтому если хотите чтобы всегда было с первого числа - в режиме активации нужно указывать 0 месяцев с текущего, если хотите чтобы всегда было помесячно - то указываете в тарифе выровненно

хе, похоже моя ошибка была в том что я не понимал разницу между "текущим моментом" и "текущим". Как вы сказали много лучше, спасибо.

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

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

Цитата:
Выкладывается обновление. Должен отключать аккаунт
Огромное спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 11 мар 2016, 13:54 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 24 июн 2009, 17:49
Сообщения: 640
Карма: 10
Обновился:
Код:
  Сервер: вер. 6.2.1032 / 10.03.2016 15:09:06
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_73
  tv: вер. 6.2.208 / 10.03.2016 21:01:15


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

Попробовал сделать баланс меньше лимита расходом, то же самое - аккаунт в модуле на договоре остается включен.

В конфигурации модуля стоит:
account.lockByBalance=1

После обновления обновил также BGTVAccess и BGTVAccounting и перекомпилировал все динамические классы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 16 мар 2016, 23:30 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Тут пока не поняли до конца, фича или бага.
Чтобы работало так как хотите нужно еще в тарифе добавить ветку Авторизовать учитывая ошибку баланса. Но без account.lockByBalance эта ветка не работает.
Т.е. возможно багом нужно считать что без этой ветки, если открыть статус договора - аккаунт не открывает :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 03 дек 2018, 20:49 
Не в сети

Зарегистрирован: 29 май 2018, 18:12
Сообщения: 60
Карма: 0
Добрый день!

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

На 1 число абонент блокируется по недостаточному балансу, все услуги отключаются, подписка на ТВ в том числе. Все прекрасно.
Далее, абонент 2 числа пополняет счет, все включается, но деньги за подписку списываются полностью, все 195 рублей. А по идее должно было списаться 188.7 рублей, так как 1 числа подписка была отключена.

Я что-то не так понимаю или это, таки, глюк биллинга?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 05 дек 2018, 13:49 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Добрый день.

Какая версия/билд?
Можно скриншот редактора ветки стоимость в тарифе?
Какие периоды у продукта при этом в договоре (правой кнопкой по продукту - "Периоды").


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 05 дек 2018, 14:55 
Не в сети

Зарегистрирован: 29 май 2018, 18:12
Сообщения: 60
Карма: 0
BGBillingServer v 7.1.1058
Как посмотреть версию ТV не знаю, ибо по запросу статуса, в отличие от Inet, версия не выдается.
Но биллинг обновлял последний раз в субботу, так что, думаю, последняя версия.
Вложение:
tariff.png
tariff.png [ 60.16 КБ | Просмотров: 7454 ]

Вложение:
periods.png
periods.png [ 36.71 КБ | Просмотров: 7454 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 05 дек 2018, 20:01 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Действительно, в этом режиме так и работает, т.к. заказывали именно такую логику.
Пропорциональность в начале была предназначена только для первичного подключения абонента.
Т.е. название режима вводит в заблуждение.

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

Наверное нужно добавить такой режим.
Сейчас там есть галочка "зависимый/пропорциональный", но в этом случае период начнется не с начала дня, а во время прихода платежа.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Списание денег. Нюансы.
СообщениеДобавлено: 05 дек 2018, 20:08 
Не в сети

Зарегистрирован: 29 май 2018, 18:12
Сообщения: 60
Карма: 0
Думаю нужно такой режим добавить.


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

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


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

Сейчас этот форум просматривают: Google [Bot] и гости: 1


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

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