BiTel

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

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ОСМП contract_balance
СообщениеДобавлено: 28 мар 2017, 07:39 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Правильно ли я понял, что в осмп можно добавить вывод баланса договора (на этапе check) при помощи fields? (Нужно в ПС отдавать сумму к оплате вместо текущего баланса)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 28 мар 2017, 20:31 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
версия биллинга?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 29 мар 2017, 04:33 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Сервер: вер. 7.0.1187 / 06.02.2017 14:33:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_112
mps: вер. 7.0.207 / 03.02.2017 20:14:10


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 29 мар 2017, 17:19 
Не в сети
Разработчик

Зарегистрирован: 08 ноя 2007, 01:05
Сообщения: 8343
Откуда: Уфа
Карма: 238
Можно в обработчике события MPSOSMPRequestEvent подменить сумму. Или добавить поля через fields добавить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 03 апр 2017, 09:54 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Здравствуйте.
В osmp добавлено расширение osmpFields, которое позволяет формировать в обработчике события MPS: "Перед обработкой запроса ОСМП" набор полей, которые могут отображаться на экране терминала, печататься на чеке, запоминаться в ПС.

В обработчике события код должен формировать строку с полями, формат следующий:

Код:
//Формат строки name1:type1:value1;name2:type2:value2;...;nameN:typeN:valueN
//тип можно не указывать, если предполагается, что поле должно отображаться на
//экране терминала (т.е. тип disp), тогда формат name:value. Разделитель полей - ";", разделитель
//компонентов поля - ":"
StringBuilder sb = new StringBuilder();
sb.append( "sum dolg:" + Utils.formatBigDecimalSumm( saldo ) + ";" );
sb.append( "oplata:" + Utils.formatBigDecimalSumm( event.getRequest().getSum() ) + ";" );
sb.append( "fio:" + cpm.getStringParam( contract.getId(), FIO_PID ) + ";" );
event.getParameters().put( "fields", sb.toString() );
}

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 03 апр 2017, 13:30 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 08 ноя 2017, 20:22 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
osmpFields это хорошо. только почему event.getContractId null выдает? судя по примеру из доки предлагается брать номер аккаунта из request. и замечу, что в общем случае это не номер договора, а какой-то аккаунт, по которому нужно самому "вручную" искать договор в обработчике события. и можно ведь не найти. было бы логичнее провести поиск, а потом уже событие кидать, в котором гарантированно есть contractId. а если договор не найден, то и событие не нужно. поправите?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance
СообщениеДобавлено: 10 ноя 2017, 16:28 
Не в сети
Аватара пользователя

Зарегистрирован: 27 янв 2010, 16:12
Сообщения: 941
Откуда: Уфа
Карма: 124
Здравствуйте. Вы правы, так было бы логичнее. Сделаем по-возможности.

_________________
С уважением, Гареев Артур. Вежливый разработчик ООО "Бител".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ОСМП contract_balance (CRM)
СообщениеДобавлено: 24 ноя 2017, 16:03 
Не в сети
Клиент

Зарегистрирован: 07 мар 2012, 15:02
Сообщения: 932
Откуда: Воронеж
Карма: 35
Попробовал на своём биллинге отдавать дополнительные поля.

Реализация в биллинге немного отличается от предложенной Сбером (образно говоря), но в Сбере адаптер поправили для нашего формата.

Без поля ContractId, действительно, очень неудобно - приходится реализовывать логику, которая уже есть в биллинге, но которая недоступна в обработчике события. Ещё не хватает метода для получения mpsId - идентификатора платёжной системы в модуле MPS. С помощью mpsId можно обрабатывать только конкретную платёжную систему и игнорировать остальные (если их настроено несколько, как в нашем случае). Если будете модифицировать код, то добавьте, пожалуйста, геттер в MPSRequest для этого поля.

_________________

Клиент: вер. 6.2.873 / 04.12.2017 19:38:11
os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_65
Сервер: вер. 6.2.1202 / 04.12.2017 19:39:21
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_91


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

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


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

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


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

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