[bash.im] [IT Happens] [zadolba.li]

IT Happens

Клиент и саппорт. Разработчик и заказчик. Программист и программа. Вести с фронтов.

#7346: Метод прерванного транзакционного акта

25 сентября 2011, 09:00

рейтинг: 1142

Торговая сеть, принимая кредитки через Сбербанк, решила принимать ещё и локальные карты банка «X». Конфигурация: кассовое ПО — DOS; ПО Сбера и банка «X» — DOS-модуль на кассе и Windows-сервер в ЛВС.

Для исключения случайностей были устроены тесты. Диалог кассового ПО с программным комплексом банка «X» во время крэш-теста изрядно повеселил. Восстановлено по логам ККМ и процессинга.

Кассовое ПО — DOS-модулю: «Провести покупку на сумму 50000 руб. по карте N!»

DOS-модуль — Windows-серверу: «Провести покупку на сумму 50000 руб. по карте N!»

Windows-сервер — процессингу: «Провести покупку на сумму 50000 руб. по карте N!»

Транзакция идёт около трёх секунд, и у нас есть время вытащить RJ-45 из кассы.

Процессинг — Windows-серверу: «ОК!»

Windows-сервер, поместив в свой буфер «ОК», DOS-модулю: «ОК!.. Эй, кассовый модуль! ОК, я тебе говорю!»

Касса молчит.

Windows-сервер — процессингу: «Отменить покупку на сумму 50000 руб по карте N!»

Процессинг — Windows-серверу: «ОК!»

И тут мы втыкаем RJ-45 обратно в кассу.

DOS-модуль (читает из буфера Windows-сервера): «Оплата — ОК!»

DOS-модуль — кассовой программе: «Оплата — ОК!»

Кассовая программа печатает чеки и слипы. Покупательница уходит с товаром и при своих деньгах.

DOS-модуль (читает из буфера Windows-сервера): «Отмена предыдущей операции — ОК!»

DOS-модуль — Windows-серверу: «Какая ещё операция? Что-то с буфером у тебя не то. Очистить буфер!»

Три раза проверили (главное в результате — воспроизводимость). Хорошо, что сервисы, висящие на тестовых портах, снимают с карты лишь тестовые рублики…

 
 
текст или номер истории
реклама
обратная связь
Хотите разместить рекламу?
Информация для рекламодателей.

Вопросы, предложения, что-то не так на сайте? Пишите в саппорт!
статистика
Рейтинг@Mail.ru