forum.bitel.ru http://forum.bitel.ru/ |
|
ОСМП contract_balance (CRM) http://forum.bitel.ru/viewtopic.php?f=18&t=12337 |
Страница 1 из 1 |
Автор: | zavndw [ 28 мар 2017, 07:39 ] |
Заголовок сообщения: | ОСМП contract_balance |
Правильно ли я понял, что в осмп можно добавить вывод баланса договора (на этапе check) при помощи fields? (Нужно в ПС отдавать сумму к оплате вместо текущего баланса) |
Автор: | skn [ 28 мар 2017, 20:31 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
версия биллинга? |
Автор: | zavndw [ 29 мар 2017, 04:33 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
Сервер: вер. 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 |
Автор: | stark [ 29 мар 2017, 17:19 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
Можно в обработчике события MPSOSMPRequestEvent подменить сумму. Или добавить поля через fields добавить. |
Автор: | Artur [ 03 апр 2017, 09:54 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
Здравствуйте. В 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() ); } |
Автор: | zavndw [ 03 апр 2017, 13:30 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
спасибо |
Автор: | barguzin2 [ 08 ноя 2017, 20:22 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
osmpFields это хорошо. только почему event.getContractId null выдает? судя по примеру из доки предлагается брать номер аккаунта из request. и замечу, что в общем случае это не номер договора, а какой-то аккаунт, по которому нужно самому "вручную" искать договор в обработчике события. и можно ведь не найти. было бы логичнее провести поиск, а потом уже событие кидать, в котором гарантированно есть contractId. а если договор не найден, то и событие не нужно. поправите? |
Автор: | Artur [ 10 ноя 2017, 16:28 ] |
Заголовок сообщения: | Re: ОСМП contract_balance |
Здравствуйте. Вы правы, так было бы логичнее. Сделаем по-возможности. |
Автор: | vkulakov [ 24 ноя 2017, 16:03 ] |
Заголовок сообщения: | Re: ОСМП contract_balance (CRM) |
Попробовал на своём биллинге отдавать дополнительные поля. Реализация в биллинге немного отличается от предложенной Сбером (образно говоря), но в Сбере адаптер поправили для нашего формата. Без поля ContractId, действительно, очень неудобно - приходится реализовывать логику, которая уже есть в биллинге, но которая недоступна в обработчике события. Ещё не хватает метода для получения mpsId - идентификатора платёжной системы в модуле MPS. С помощью mpsId можно обрабатывать только конкретную платёжную систему и игнорировать остальные (если их настроено несколько, как в нашем случае). Если будете модифицировать код, то добавьте, пожалуйста, геттер в MPSRequest для этого поля. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |