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 тебе хоть доплачивают? :-D

Автор:  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: Менеджер платежей

Трудно собирать все из разных постов. Хотелось бы увидеть все в одном, чтобы окинуть критическим взглядом :lupa:
Еще один вопрос.
У вас случайно не задано
Код:
#разница во времени в минутах между сервером биллинга и системой платежей (например система работает по московскому времени, биллинг
#по уфимскому +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 – дата в формате
ГГГГММДДЧЧММСС. Эту дату необходимо использовать для проведения сверок и бухгалтерских
взаиморасчетов. Так как в системе ОСМП учет платежей ведется по дате получения запроса от
клиента, то и расчеты с провайдером необходимо вести по этой дате. Например ситуация: клиент
прислал в систему запрос 31.12.2005 в 23:59:59, учитывая задержку на обработку данных и
пересылку информации по каналам связи, система смогла отправить запрос провайдеру 1.1.2006
00:00:05, соответственно платеж будет учтен в системе провайдера в другом отчетном периоде,
что вызовет некоторые проблемы при проведении сверок. Чтобы избежать такой ситуации система
передает провайдеру дату, в которой нужно учитывать платеж.
Так и работает сейчас (в ядре платежи по времени биллинга, в модуле - по времени txn_date). Почему у вас ОСМП в сверке присылает другое время - непонятно.

Автор:  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/