forum.bitel.ru http://forum.bitel.ru/ |
|
Менеджер платежей http://forum.bitel.ru/viewtopic.php?f=18&t=6708 |
Страница 1 из 2 |
Автор: | lacost [ 17 апр 2012, 18:19 ] |
Заголовок сообщения: | Менеджер платежей |
Столкнулся со сложностью сверки платежей от ОСМП. Осмп делает сначала check-запрос, а затем непосредственно проводит платеж. Дата и время check-запроса и непосредственно платежа - могут не совпадать. Я сверяю платежи через менеджер платежей в модуле MPS. А он вероятно использует дату check-запроса. Как сказать менеджеру использовать дату и время платежа? |
Автор: | lacost [ 19 апр 2012, 13:15 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Что, ни у кого не возникает проблемы сверять платежи с ОСМП или за этих дат? или я что-то не так делаю? |
Автор: | skyb [ 19 апр 2012, 13:17 ] |
Заголовок сообщения: | Re: Менеджер платежей |
дада, у меня тоже не работает сверка, в самом модуле же которая? |
Автор: | lacost [ 19 апр 2012, 17:35 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Да, которая в самом модуле. есть табличка mps_payment_хх_ххххх там есть поля time и local_time вероятно надо сделать возможность указывать по какому полю фильтровать в этом отчете. |
Автор: | lacost [ 23 апр 2012, 13:06 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Уважаемые разработчики, такое возможно? |
Автор: | lacost [ 26 апр 2012, 13:23 ] |
Заголовок сообщения: | Re: Менеджер платежей |
up Разработчики тут появляются? |
Автор: | Amir [ 26 апр 2012, 14:50 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Там время платежа - поле time - то которое присылает платежная система при проведении, а не проверке (обычно еще и в таймзоне платежной системы). По нему и сверяется. В каком формате время в реестре? |
Автор: | lacost [ 26 апр 2012, 18:24 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Дело не в формате дат. Вот цитата из переписки с осмп: Цитата: Вы учитываете платеж на своей стороне с датой присылаемого нами check запроса(запрос на авторизацию платежа). В этой дате отображается время приема денежных средств от абонента и эта дата печатается на чеке, поэтому она очень важна и должна сохранятся. Но реестры мы не можем формировать по этой дате, т.к. платеж, может, в конечном счете не провестись и поэтому реестры у нас формируются по дате проведения платежа. В таблице обе эти даты есть. time и local_time в time - вероятно время check-запроса d local_time - дата проведения платежа |
Автор: | Phricker [ 26 апр 2012, 18:33 ] |
Заголовок сообщения: | Re: Менеджер платежей |
time - время платежа системы платежей local_time - время платежа сервера |
Автор: | dimOn [ 26 апр 2012, 19:54 ] |
Заголовок сообщения: | Re: Менеджер платежей |
если эти даты разные, то совсем непонятно, ведь сомнительно, что эти даты разойдутся на время порядка часа? это же абсурд |
Автор: | Amir [ 26 апр 2012, 19:56 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Для ОСМП на check вообще ничего в базу не заносится, только на pay. (Или у вас стоит режим добавления платежа при check запросе?) Получается, что то время, которое в реестре, вообще не приходит в запросах, и сверку по времени не нужно проводить, а искать только по txn_id... Но тогда как проверить, что какой-то платеж добавлен в биллинг, но его нет в реестре - тут же нужны четкие периоды. |
Автор: | lacost [ 27 апр 2012, 11:35 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Ок. Вот мой пример. На картинке - запись из таблицы mps_payment В Менеджере платежей (модуля платежные системы) за 29.02 - эта запись есть. В договоре (на который попал платеж) - этот платеж стоит 1.03 Так же и в сверке, которую присылает ОСМП - этот платеж идет 1.03 Соответственно сверить платежи - не представляется возможным. Конфигурация модуля - как в документации. |
Автор: | Amir [ 27 апр 2012, 13:30 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Но это просто локальное время, когда пришел платеж. Модуль mps сам его генерирует. А что будет если по их они отправят платеж в 29.02 23:59:59.999 а сервер его обработает (по своему локальному времени) в 01.03 00:00:00.000 Плюс если временная зона различается, время тоже будет расходиться на часы. Или они уже изменили протокол и в платеже приходит еще одно время, по которому нужно как раз сравнивать? |
Автор: | lacost [ 27 апр 2012, 16:56 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Ну в моем примере явно видно что это не таймзона и не время реакции сервера. различие в 15 с лишним часов... повторюсь: в модуле MPS дата платежа не совпадает с датой платежа в договоре. |
Автор: | Amir [ 27 апр 2012, 17:10 ] |
Заголовок сообщения: | Re: Менеджер платежей |
В случае, если таймзона не московская - дата платежа постоянно не будет совпадать - и это нормально. Я говорю о том, что если проверять по локальному времени - все равно работать не будет в ряде случаев. Уже сталкивались, что каждый менеджер ОСМП говорит по разному. Если они не присылают то время, которое потом приходит в реестре, невозможно точно сравнить реестр платежей на какой-либо период. Если только реестр составлен не по тому времени, которое они присылали (тогда просто можно выбрать дату, по которой сверять, но не проверять время в реестре). Но в последнем я сомневаюсь, раз уж времени этого в реестре нет. |
Автор: | lacost [ 27 апр 2012, 19:42 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Погодите, чего все о таймзоне. Она здесь совершенно не при чем! Я же написал. Один и тот же платеж пришедший из осмп в разных частях системы (бгбиллинг) идет под разным временем. osmp.jpg - запись из таблицы mps_payment. В Менеджере платежей она попадает в 29_02_2012 osmp1.jpg - запись из таблицы contract_payment. Везде в системе этот платеж идет уже 01_03_2012 Дело то только в том, чтобы сделать опциональный выбор по какому полю фильтровать записи в таблице mps_payment. |
Автор: | Phricker [ 28 апр 2012, 02:28 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Чтобы расставить все точки над i В студию строку реестра которая не сверяется, платеж в базе в таблицах mps_payment и contract_payment и конфиг парсинга реестра скажу по секрету я работаю в бителе внештатным переводчиком. практически все темы на форуме приходится переводить на понятный им язык ![]() |
Автор: | skyb [ 28 апр 2012, 05:43 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Phricker тебе хоть доплачивают? ![]() |
Автор: | Phricker [ 28 апр 2012, 10:59 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Пока на испытательном сроке ![]() |
Автор: | lacost [ 28 апр 2012, 11:30 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Парни, вы смотрите мои посты? Я же вам в сообщении от "Пт апр 27, 2012 4:42 pm" показал один и тот же платеж, который у меня не сверяется. В сверке от осмп - дата совпадает с датой из contract_payment. Парсер реестров здесь не важен. неточность в менеджере платежей модуля mps. |
Автор: | Phricker [ 28 апр 2012, 11:40 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Трудно собирать все из разных постов. Хотелось бы увидеть все в одном, чтобы окинуть критическим взглядом ![]() Еще один вопрос. У вас случайно не задано Код: #разница во времени в минутах между сервером биллинга и системой платежей (например система работает по московскому времени, биллинг #по уфимскому +2 часа - 180) #mps.1.timeoffset= в настройках модуля MPS? |
Автор: | Phricker [ 28 апр 2012, 11:43 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Или же что нибудь вроде Код: mps.1.protocol.ext=payOnCheck
|
Автор: | lacost [ 28 апр 2012, 11:50 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Код: #ОСМП mps.1.mode=1 mps.1.title=ОСМП mps.1.protocol=osmp mps.1.login=xxxx mps.1.passw=xxxx #mps.1.timeoffset= mps.1.pid=10 mps.1.protocol.ext=1 mps.1.search.mode=parameter mps.1.search.pid=11 mps.1.search.1.allow.contract.groups=2 mps.1.numberPattern=\A\d{6}\z mps.1.cert=1 mps.1.cert.pem=ABxx все. |
Автор: | mrustik [ 28 апр 2012, 16:08 ] |
Заголовок сообщения: | Re: Менеджер платежей |
У меня возникает такая проблема только если сверять платежи по отчету по приходу, так есть различие м/у первый и последним днем месяца. А вот с менеджером платежей никогда проблем не было. |
Автор: | lacost [ 03 май 2012, 13:21 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Господа разработчики. Вы ответьте - есть ли проблема или нет. И если проблема есть - стоит ли ждать исправления? Спасибо. |
Автор: | Amir [ 03 май 2012, 13:47 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Решение, которое предлагаете вы, не будет работать в других таймзонах, а в некоторых случаях будет ошибочная сверка и у вас. В интерфейсе подключения ОСМП написано: Цитата: В запросе на добавление платежа, система передает дату платежа (под датой платежа в системе Так и работает сейчас (в ядре платежи по времени биллинга, в модуле - по времени txn_date). Почему у вас ОСМП в сверке присылает другое время - непонятно.
подразумевается дата получения запроса от клиента) в переменной txn_date – дата в формате ГГГГММДДЧЧММСС. Эту дату необходимо использовать для проведения сверок и бухгалтерских взаиморасчетов. Так как в системе ОСМП учет платежей ведется по дате получения запроса от клиента, то и расчеты с провайдером необходимо вести по этой дате. Например ситуация: клиент прислал в систему запрос 31.12.2005 в 23:59:59, учитывая задержку на обработку данных и пересылку информации по каналам связи, система смогла отправить запрос провайдеру 1.1.2006 00:00:05, соответственно платеж будет учтен в системе провайдера в другом отчетном периоде, что вызовет некоторые проблемы при проведении сверок. Чтобы избежать такой ситуации система передает провайдеру дату, в которой нужно учитывать платеж. |
Автор: | lacost [ 03 май 2012, 16:12 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Amir, дело не в таймзонах и не в существующих реакции системы на обработку платежа. Здесь явная ошибка обработки "замороженного" платежа. Дело в том, как я понимаю, что у некоторых агентов ОСМП не хватает денег на проведение платежа через ОСМП. Получается, что пользователь положил деньги в терминал, ОСМП зафиксировал этот факт и сделал запрос в бгбиллинг, но так как у агента, владеющего терминалом, в настоящий момент нет денег, платеж не проведен а заморожен до того момента, пока у агента не будет денег на счете для списания. Это исключительно мои догадки. Это косвенно подтверждается данными в таблицах: download/file.php?id=3322&mode=view здесь видно, что в mps_payment в поле time время когда клиент положил деньги в терминал, и ОСМП сделал hold на этот платеж. далее, в поле local_time - время, когда ОСМП списал со счета агента деньги и провел платеж. Это подтверждается табличкой contract_payment: download/file.php?id=3323&mode=view Здесь в поле pdate - timestamp записи (поле pdate я сделал для собственных нужд). Она совпадает с датой local_time таблицы mps_payment. Хотя в комментарии видно, что дата ОСМП - такая же как в поле time таблицы mps_payment Т.е. бгбиллинг все же видит и время когда положили деньги в терминал, и когда ОСМП провел платеж. Тут скорее всего неточность в логике модуля MPS, и поле local_time неверно обновляется при каком-то UPDATE (вместо поля time апдейтится поле local_time). Такое может быть? |
Автор: | Amir [ 03 май 2012, 18:07 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Поле time - значение, которое прислал ОСМП при проведении платежа в txn_date, поле local_time - просто текущее время, когда пришел запрос. local_time никаким образом в сверке не используется, а поле time по документации ОСМП должно совпадать со временем в реестре (что логично). Но не совпадает. Никакой ошибки "замороженного" платежа не будет, если время в txn_date при pay и время в реестре будут совпадать. Никаких обновлений поля после вставки в реализации протокола ОСМП не нашел, т.е. time должно быть равно txn_date из pay запроса, как всегда и было. Этот платеж, который вы показываете, опять таки, если исходить из документации ОСМП, должен быть в реестре от 29 числа, а никак ни от 1-ого. |
Автор: | Amir [ 03 май 2012, 18:14 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Может быть таймзоны в java не обновлены (и билд JRE не последний)? |
Автор: | lacost [ 04 май 2012, 12:33 ] |
Заголовок сообщения: | Re: Менеджер платежей |
Получается, что ОСМП по какой-то причине, присылает запрос на проведение платежа 01.03.12, а в теле этого запроса написано, что платеж произведен 29.02.12 (посмотрел по последовательности id записей в таблице - запрос действительно пришел 01.03.12) С одной стороны - ОСМП правы. Человек вносил деньги 29 числа. Непонятно, почему в сверке они указывают дату обращения в наш биллинг а не дату платежа? Тем не менее - возможно ли опционально сделать возможность фильтровать не только по полю time, но и по local_time? |
Страница 1 из 2 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |