В
<response> есть принт в
sum с "
РУБ,КОП" при включенных флагах *.separator=",".
А при запросе "большой железобетонный..." на этот separator...
Конфиг модуля
Код:
osmp.sum.decimal.separator=,
osmp.account.balance.decimal.separator=,
#Системы платежей добавляются как mps.<x>.параметры, где <x> - порядковый номер
#Вкл/выкл - 1/0 - принимать или нет платежи для этой пс
mps.1.mode=1
#Название
mps.1.title="ОСМП"
#Используемый протокол для общения пс с биллингом
mps.1.protocol=osmp
#Логин/пароль пс. Должен различаться для различных систем
mps.1.login=
mps.1.passw=
#Отключение Base-аутентификации
mps.1.protocol.ext=noBaseAuth
#id типа платежа, с которым добавляется платёж в договор, при проведении с этой пс
mps.1.pid=2
#
#Комментарий, возвращающийся в ответе на проверку статуса/проведение платежа
#(если в протоколе есть комментарий ответа)
mps.1.comment=$contract_title ($contract_comment), баланс: $contract_balance руб.
#mps.comment=$contract_title ($contract_comment)
#
#Сертификаты
#Проверять клиентский сертификат (рекомендуется, если позволяет протокол пс)
mps.1.cert=0
#Клиентский сертификат (открытый ключ)
#(для протокола eport открытый ключ указывается здесь же, а mps.1.cert=0)
#возможно указать через modulus и exponent:
#mps.1.cert.mod=
#mps.1.cert.exp=
#или в encoded(байты в 16-ричном представлении)
#mps.1.cert.encoded=
#или в pem (base64), без header/footer (-----*** PUBLIC KEY-----) и переносов строк
#mps.1.cert.pem=
#
#
#Поиск договора для проведения платежа.
#В некоторых системах возможны типы поиска - дополнительное поле с числовым значением.
#Если поле отсутствует, используется тип поиска 0,
#т.е. используются параметры поиска из mps.1.search.xxx (mps.1.search.mode), если же присутствует и, например,
#его значение 1, то параметры поиска будут из mps.1.search.1.xxx (mps.1.search.1.mode)
#
#Поддержка передачи типа поиска через префикс
#(т.е. если ищется договор x0000 c типом поиска 1, то в поле account протокола osmp передаётся 1_x0000)
#mps.1.protocol.ext=osmpPrefix
#Если используется несколько расширений, их нужно прописать через запятую:
#mps.1.protocol.ext=noBaseAuth,osmpPrefix
#
#Тип поиска (contract|login|phone|mps_login)
mps.1.search.mode=contract
#Код модуля для поиска (необходим для типов поиска login, phone)
#mps.1.search.mid=
#Шаблон преобразования - pattern:::result, если пришедшее значение подходит под regexp, то
#оно преобразуется перед поиском, если нет - остаётся без изменений, по умолчанию - без изменений.
#Например, \A((?:\d{5})|(?:\d{6})|(?:\d{7}))(\d{2})\z:::NK$1-$2
#если пришедший номер для поиска представляет собой 12345608, то он будет преобразован в NK123456-08,
#и уже по нему будет произведён поиск договора
#mps.1.search.pattern=
#regexp названий договоров, для которых возможен поиск. Если название договора не совпадает с regexp,
#то он не будет найден для системы платежей для этого типа поиска
#mps.1.search.allow.contract.regexp=NK-.*
#Группы договоров, для которых возможен поиск для этого типа поиска
mps.1.search.pattern=INET-$NUMBER
mps.1.numberPattern=\d+
mps.1.search.allow.contract.groups=0
#
# Ограничения на пополняемую сумму
#минимальная
mps.1.min.summ=10
#максимальная
mps.1.max.summ=15001
#
#Разница во времени в минутах между сервером биллинга и системой платежей (например система работает по московскому времени, биллинг
#по уфимскому +2 часа - 180)
#mps.1.timeoffset=
#промежуток времени между временем платежа и реальным временем, с поправкой на timeoffset.
#если задано и промежуток оказался больше то платёж не пройдёт
# 7 суток
mps.1.paytime=10080
#
#Параметры логина mps (может использоваться для поиска договора при проведении платежа)
#Формат вывода значения числового логина mps (на web-статистике)
#mps.mps_login.format=
#regexp проверки введённого значения
#mps.mps_login.regexp=
#Ошибка, выводимая в web-статистике при несовпадении введённого логина mps с regexp
#mps.mps_login.regexp.error=
Лог модуля MPS при DEBUG. (Большое Человеческое Спасибо -
barguzin2 за подсказку).
Код:
10-07/11:36:26 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] mps - System: "ОСМП"
Request:
/4/1
txn_date=20141007113350&txn_id=5020&command=pay&account=7755&sum=14,00&
Response:
<?xml version="1.0" encoding="UTF-8"?><response><result>300</result><osmp_txn_id>5020</osmp_txn_id><prv_txn>0</prv_txn><sum/><comment>Ошибка запроса</comment></response>
10-07/11:37:12 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] mps - System: "ОСМП"
Request:
/4/1
txn_date=20141007113350&txn_id=5021&command=pay&account=7755&sum=14.00&
Response:
<?xml version="1.0" encoding="UTF-8"?><response><result>0</result><osmp_txn_id>5021</osmp_txn_id><prv_txn>10</prv_txn><sum>14,00</sum><comment>Платеж принят на: INET-7755 (Тестовый технический договор), баланс: 351.36 руб.</comment></response>
<response>
<result>0</result>
<osmp_txn_id>5021</osmp_txn_id>
<prv_txn>10</prv_txn>
<sum>14,00</sum><comment>
Платеж принят на: INET-7755 (Тестовый технический договор), баланс: 351.36 руб.
</comment>
</response>
Код:
Информация о версии:
Клиент: вер. 5.2 сборка 1221 от 01.10.2014 15:16:52
os: Windows 2003; java: Java HotSpot(TM) Client VM, v.1.6.0_37
Сервер: вер. 5.2 сборка 1609 от 01.10.2014 15:16:55
os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.6.0_45
card вер. 5.2 сборка 207 от 08.09.2014 17:34:48
inet вер. 5.2 сборка 1342 от 02.10.2014 18:39:43
mps вер. 5.2 сборка 183 от 16.07.2014 19:00:30
npay вер. 5.2 сборка 208 от 17.06.2014 13:35:03