forum.bitel.ru http://forum.bitel.ru/ |
|
Начались проблемы с bisys (CRM) http://forum.bitel.ru/viewtopic.php?f=18&t=11378 |
Страница 1 из 1 |
Автор: | SEA-Jay [ 25 фев 2016, 13:17 ] |
Заголовок сообщения: | Начались проблемы с bisys |
Добрый день. Что то сегодня от бисиса письмо пришло "Неверная подпись ответа" хотя платежи ходят, решил проверить, и вот что получилось шлем запрос <?xml version="1.0" encoding="UTF-8"?> <request> <params><act>1</act><account>000020</account><pay_amount>1000</pay_amount></params> <sign>f6374905be2bd2d53ce164c3ed24ae93</sign> </request> хэш от <act>1</act><account>000020</account><pay_amount>1000</pay_amount>test1234 f6374905be2bd2d53ce164c3ed24ae93 приходит ответ <response> <params> <err_code>0</err_code> <err_text>Договор найден - оплата возможна</err_text> <account>000020</account> <balance>1200.00</balance> <client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name> </params> <sign>bcaef66a2aad1a272896a4248519c6be</sign> </response> считаем что должно быть в подписи <err_code>0</err_code> <err_text>Договор найден - оплата возможна</err_text> <account>000020</account> <balance>1200.00</balance> <client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name>f6374905be2bd2d53ce164c3ed24ae93test1234 получилось BE44A5FF9E1974D3A1D7F81284809EBF в дайжесте биллинга смотрим тут http://md5info.ru/demo - получилось a946ffa4fb165d646040d6660dff7608 ни то не другое рядом с bcaef66a2aad1a272896a4248519c6be не находится чему верить и что чинить? Клиент: вер. 6.2.772 / 25.11.2015 18:24:36 os: Windows 7; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_51 Сервер: вер. 6.2.982 / 02.12.2015 18:39:25 os: FreeBSD; java: OpenJDK 64-Bit Server VM, v.1.8.0_45 |
Автор: | Artur [ 25 фев 2016, 13:24 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
Здравствуйте. Пришлите лог запроса и лог ответа из файла логов. Предварительно включите в конфигурации data/log4g.xml значение DEBUG у параметра priority в секции root. |
Автор: | SEA-Jay [ 25 фев 2016, 14:18 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] MPSExecutor - MPS (getLoginAndPasswordFromHeaderAuthorization): userName=null; userPswd=null 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Получение параметров запроса 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Полученная xml: <?xml version="1.0" encoding="UTF-8"?> <request> <params><act>1</act><account>000020</account><pay_amount>1000</pay_amount></params> <sign>f6374905be2bd2d53ce164c3ed24ae93</sign> </request> 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Полученные параметры из xml: act = 1; sign = f6374905be2bd2d53ce164c3ed24ae93; account = 000020; agent_date = null; pay_id = null; pay_amount = 1000; serv_code = null 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Строка, из которой вычисляется хэш для проверки пришедшей подписи: <act>1</act><account>000020</account><pay_amount>1000</pay_amount>test1234 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Получившаяся подпись: f6374905be2bd2d53ce164c3ed24ae93 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Операция проверки платежа - проверка существования договора 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Строка, из которой формируется MD5-подпись для ответа сервису: <err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000020</account><balance>1200.00</balance><client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name>f6374905be2bd2d53ce164c3ed24ae93test1234 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Сформированная MD5-подпись: bcaef66a2aad1a272896a4248519c6be 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] BiSysTransactionManager - Ответная xml сервису: <?xml version="1.0" encoding="UTF-8"?><response><params><err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000020</account><balance>1200.00</balance><client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name></params><sign>bcaef66a2aad1a272896a4248519c6be</sign></response> 02-25/08:13:46 DEBUG [http-bio-0.0.0.0-8443-exec-7] mps - Filter (mpsexecuterSetCharacterEncoding) = null FilterCharacterEncoding=UTF-8 System: Сбербанк(биллинговые системы) Request: /2/2 params=<?xml version="1.0" encoding="UTF-8"?> <request> <params><act>1</act><account>000020</account><pay_amount>1000</pay_amount></params> <sign>f6374905be2bd2d53ce164c3ed24ae93</sign> </request>& Response: <?xml version="1.0" encoding="UTF-8"?><response><params><err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000020</account><balance>1200.00</balance><client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name></params><sign>bcaef66a2aad1a272896a4248519c6be</sign></response> |
Автор: | skn [ 25 фев 2016, 15:19 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
дайджест зависит от кодировки текста с которого он вычисляется так как дайджест берется от байтов, а у вас в строке есть русские буквы, то в зависимости от кодировки, можно получить разные байты для этого текста и соответственно разный дайджест |
Автор: | Artur [ 25 фев 2016, 15:52 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
Если честно, то ситуация не очень понятна на самом деле. Если считать хеш от приведенной вами строки <err_code>0</err_code> <err_text>Договор найден - оплата возможна</err_text> <account>000020</account> <balance>1200.00</balance> <client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name>f6374905be2bd2d53ce164c3ed24ae93test1234 вместе с теми переносами строк, которые есть в тексте, то хеш будет отличаться от того, что сформировал биллинг. Если же убрать из этой строки переносы и сделать в виде одной строки (как и делает биллинг): <err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000020</account><balance>1200.00</balance><client_name>[ПК/001/15] [Иванов Иван Иванович]</client_name>f6374905be2bd2d53ce164c3ed24ae93test1234 То вычисление дайджеста в биллинге, а также на разных сайтах (http://decodeit.ru/md5, http://www.md5.cz/ и др, кроме приведенного вами) будет выдавать подпись, которую и формирует биллинг при ответе в bisys, т.е. bcaef66a2aad1a272896a4248519c6be. Вы можете сами посмотреть в логах из какой строки формируется подпись и сравнить. Возникает вопрос, какую подпись и от какой строки они ждут в ответе от биллига? В логах биллинга видно какую строку наш биллинг отправляет в ответ. Возможно, что они эту строку как то иначе воспринимают, может в кодировке cp1251. |
Автор: | SEA-Jay [ 25 фев 2016, 17:27 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
скорей всего они ждут в кодировке 1251, потому как примеры и скрипты для теста содержат <?xml version="1.0" encoding="windows-1251"?> тогда вопрос, как им отдать в 1251 ? |
Автор: | skn [ 25 фев 2016, 17:41 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
а у них вроде как можно в ЛК задавать кодировки |
Автор: | Artur [ 25 фев 2016, 17:44 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
SEA-Jay писал(а): скорей всего они ждут в кодировке 1251, потому как примеры и скрипты для теста содержат <?xml version="1.0" encoding="windows-1251"?> тогда вопрос, как им отдать в 1251 ? Мы вроде с ними договаривались, что будем в urf-8 общаться. Можем вынести эту настройку в конфиг модуля. |
Автор: | SEA-Jay [ 25 фев 2016, 17:45 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
давайте сделаем в конфиге, я думаю это быстрей будет ))) |
Автор: | Artur [ 25 фев 2016, 18:06 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys |
Будет на следующей неделе. |
Автор: | Alex-XXI [ 24 май 2017, 14:34 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Пытаемся настроить прием платежей через протокол bisys. Возникла проблема с несовпадением подписей. На запрос Код: <?xml version="1.0" encoding="UTF-8"?><request><params><act>1</act><account>000001</account><pay_amount>1000</pay_amount></params><sign>FEF399687062EA8ECC796A93A7B521D3</sign></request> биллинг отвечает Код: <?xml version="1.0" encoding="UTF-8"?><response><params><err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000001</account><balance>-4017.74</balance><client_name>[000001] [Тестовый договор] [Тестовый договор]</client_name></params><sign>5ec5a8c8a2bcc4936bee7b45913b3b6b</sign></response> Но если вычислить подпись через вычисление digest в биллинге и на сайтах(например www.codenet.ru/services/md5/) для Код: <err_code>0</err_code><err_text>Договор найден - оплата возможна</err_text><account>000001</account><balance>-4017.74</balance><client_name>[000001] [Тестовый договор] [Тестовый договор]</client_name>FEF399687062EA8ECC796A93A7B521D3test1234 то получаем 9c64409f1e7714438c3a121270572896, что не совпадает с 5ec5a8c8a2bcc4936bee7b45913b3b6b |
Автор: | Artur [ 24 май 2017, 14:49 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Здравствуйте. Пришлите лог запроса и лог ответа из файла логов. Предварительно включите в конфигурации data/log4g.xml значение DEBUG у параметра priority в секции root. |
Автор: | Phricker [ 24 май 2017, 15:58 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Проверьте кодировку. Была проблема именно из за кодировки. |
Автор: | Alex-XXI [ 24 май 2017, 19:04 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Помогло добавление "export LC_ALL=ru_RU.UTF-8" в setenv.sh |
Автор: | Artur [ 25 май 2017, 14:18 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Alex-XXI писал(а): Помогло добавление "export LC_ALL=ru_RU.UTF-8" в setenv.sh Необходимо разобраться досконально в вопросе. Верните, пожалуйста, на время в исходное состояние LC_ALL и проведите платеж c логами в режиме DEBUG и приложение лог сюда. Также приложите, пожалуйста, конфиг платежной подсистемы из конфигурации модуля. |
Автор: | Artur [ 25 май 2017, 14:49 ] |
Заголовок сообщения: | Re: Начались проблемы с bisys (CRM) |
Добавили поддержку параметра mps.<mpsId>.response.encoding при формировании подписи в ответе. Если параметр не задан в конфигурации, то будет по умолчанию выставлено UTF-8. Возможно, что у вас системная кодировка не utf-8. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |