Обновлено: 28.01.2023
Каждый владелец пластиковой карты хоть раз сталкивался с ошибками, которые выдают либо терминал, либо мобильный банк, Сбербанк Онлайн. Одни относится к таким проблемам спокойно, а для других это незнакомая ситуация, в которой человек не знает как поступить. Усугубляется ситуация тем, что не всегда можно определить прошла оплата или нет: деньги могут списаться, но не зачислиться на конечный счет.
У каждой неисправности есть причина, код и методы ее устранения. Все коды актуальны на территории России.
Наиболее распространенные ошибки терминала Сбербанка
Достаточно часто встречаются такие ошибки терминала сбербанка:
- 4134 – долго не выполнялась сверка итогов.
- 4457 – банк заблокировал операцию.
- 4118 – некорректно введен пин код.
- ошибка 362 на терминале сбербанка, означающая проблемы с чипом.
У всех ошибок есть свой код, по которому можно идентифицировать проблему и найти решение. Коды ошибок можно найти в инструкции к аппарату или на специализированных форумах.
Причины возникновения ошибок
У всех неисправностей, возникающих при оплате картой есть своя причина возникновения: от несущественных ошибочных нажатий до неисправности аппарата. Наиболее часто ошибки возникают:
- неверных данных, введенных в платежный аппарат;
- нарушение связи с банком;
- неправильная установка, настройка или обслуживание аппарата;
- неисправность комплектующих аппарата.
Поэтому периодически необходимо проверять целостность корпуса, проводов, разъемов и клавиш. Стабильное подключение к Интернет позволит избежать ошибок, вызванных нарушением связи. А проверка аппарата после установки и настройки позволит обнаружить неисправности до появления ошибок при попытке совершить оплату.
Ошибка терминала сбербанка 4119 связана с отсутствием связи с банком. Такая проблема часто возникает при работе устройства посредством Интернет с динамическим IP адресом. Разрешить ситуацию можно, дождавшись устойчивого сигнала или заменив IP адрес с динамического на статический.
Если возникла ошибка 99 терминал сбербанка выдаст информацию от том, что оплата не произведена. Это происходит при нарушении связи с пинпадом. Причин может быть много: от отошедшего разъема до повреждения провода. Независимо от причины, устранить эту неисправность может только специалист.
Что делать при ошибке 4134
Если появилась ошибка 4309 терминал сбербанка сообщает о том, что он не нашел документ для печати. В сложившейся ситуации пользователь не сможет самостоятельно решить эту проблему. Причина возникновения этой проблемы кроется в программном обеспечении, которое обслуживает устройство. В данном случае нужно обращаться в службу поддержки.
Если появилась ошибка 4497 терминал сбербанка не сможет проводить никакие операции и перезагрузка не поможет. Данный код говорит о том, что в настоящий момент времени проводятся работы на сервере. Эту проблему никак не решить, нужно просто подождать окончания работ.
Ошибка 362 на терминале сбербанка сообщает о том, что нет контакта с чипом карты. Необходимо вытащить карту, протереть чип и вставить снова. Обычно такая процедура помогает. Если проблема не исчезла, нужно проверить целостность чипа и, возможно, заменить карту.
Ошибка 57 на терминале сбербанка говорит о том, что совершаемая операция не поддерживается данным типом карты. Неисправности устройства в этом нет. Нужно либо изменить операцию, либо выбрать другую карту.
В случае, если появилась ошибка 4401 терминал сбербанка скорее всего исправен. Проблема кроется в авторизации. Решить ее можно только, позвонив в службу поддержки, где оператор проинформирует о дальнейших действиях.
Кода появилась ошибка 4403 терминал сбербанка заблокирован. В этом случае нужно обратиться в службу, которая устанавливала аппарат.
Такая ошибка появляется при неправильно набранном пин коде. Если возникла ошибка 4118 сбербанк терминал исправен, нужно ввести пин код еще раз.
Ошибка 4322 на терминале сбербанка говорит о внутренних проблемах устройства или его ПО. В случае возникновения такой проблемы необходимо обращаться в техническую поддержку.
Ошибка 5001 на терминале сбербанка сообщает о нарушенных настройках устройства или проблемах с чипом на карте. Если действия по протиранию чипа не дают результат, стоит обратиться в банк для решения вопроса настроек терминала.
Исправление данной проблемы не занимает много времени, достаточно выполнить сверку итогов, дождаться ответа терминала, после чего неисправность исчезнет и устройство будет исправно работать. Чтобы исключить повторения данной проблемы, следует отслеживать сроки очередной сверки.
Что значит ошибка 4405 в терминале Сбербанка
Данная ошибка чаще всего появляется в устройствах оплаты и мобильном приложении. Это значит, что операция не выполнена. Причиной отказа в выполнении транзакции может стать:
- неверно введенные данные:
- оператор терминала сделал что-то неверно.
Чаще с данной проблемой встречаются клиенты других банков, которые совершают оплату через платежный аппарат Сбербанка.
Если высветилась ошибка 4405 терминал сбербанка следует перезагрузить и повторить попытку проведения операции. Если данные меры не помогли и POS терминал продолжает неисправно работать, следует обратиться в техническую поддержку.
Что делать если появилась неописанная здесь ошибка
Платежные устройства Сбербанка работают в программе 1С УТ 10 и как у любой программы могут возникать самые разнообразные ошибки. Если ошибка неизвестна, нет четких инструкций как действовать и найти информацию о проблеме не представляется возможным, следует перезагрузить терминал. Если неисправность не исчезла, а работа аппарата не возобновилась в нормальном режиме, необходимо обратиться в техподдержку банка для получения инструкций или вызова специалиста.
При работе с терминалом Сбербанка каждый может столкнуться с различными ошибками, высвечивающимися на его экране, при этом ошибки могут возникать, как из-за проблем в работе самого терминала (ПО, банка), так и при неправильном проведении операции со стороны клиента (ошибки ввода данных, проблемы с картой и т.д.). В этом обзоре рассмотрим наиболее часто встречаемые коды ошибок терминалов Сбербанка, узнаем, что они означают и что делать, если они появляются.
Наиболее популярные коды ошибок терминала Сбербанка
Полный список кодов ошибок довольно большой и постоянно дополняется, так как в работе любого программного обеспечения, в частности в терминалах банков, появляются новые функции, меняется порядок проведения различных операций и т.д.
Ниже рассмотрим наиболее популярные коды ошибок и что они означают:
- Ошибка 05. Авторизация отклонена, операцию не проводить.
- Ошибка 57. Недопустимо проведение операции для данного вида карты (терминал «не разрешает» выполнение операции)
- Ошибка 99. Оплата по картам не была произведена.
- Ошибка 362. Означает проблемы с чипом.
- Ошибка 2000. Ошибка транзакции в терминале (оплата по карте не была произведена).
- Ошибка 4100. Нет связи с банком.
- Ошибка 4118. Неправильно введен ПИН-код.
- Ошибка 4119. Отсутствует связь терминала с банком.
- Ошибка 4120. Неисправен пинпад терминала.
- Ошибка 4125. На карте есть чип (необходимо воспользоваться чипом, а не магнитной полосой на карте).
- Ошибка 4134. Продолжительное время не выполнялась сверка итогов в терминале.
- Ошибка 4309. Не найден документ для печати.
- Ошибка 4322. Проблема в работе терминала или программного обеспечения, установленного в нём.
- Ошибка 4401. Необходима авторизация транзакции (нужно позвонить в банк).
- Ошибка 4403. Терминал заблокирован.
- Ошибка 4405. Операция не выполнена.
- Ошибка 4441. Команда изъять карту у клиента.
- Ошибка 4455. Ошибка при вводе PIN-кода карты.
- Ошибка 4457. Сбербанк заблокировал операцию (причины на стороне карты).
- Ошибка 4496. Неверно настроен терминал.
- Ошибка 4497. Проводятся технические работы на сервере.
- Ошибка 5001. Проблема в настройках терминала или проблемы с чипом банковской карты.
Код ошибки 05
Код ошибки 05 в терминале возникает, если авторизация пользователя отклонена и рекомендуется операцию не проводить (причины могут быть различные: карта или счет заблокированы, превышен лимит, не правильно пройдена авторизация).
Код ошибки 57
Ошибка 57 в терминале Сбербанка может отобразится по нескольким причинам, при этом проблема не в терминале, а в карте: данная карта не может быть использована для расчетов через терминалы (к примеру, с данного вида карт можно только снимать деньги в банкомате) или возможно истек срок действия карты.
Решить данную проблему должен владелец карты, обратившись по телефону поддержки Сбербанка или лично посетив отделение банка.
Код ошибки 99
Ошибка 99 в терминале возникает при проблеме контакта с пинпадом в терминале (в большинстве случаев проблема в кабеле).
Код ошибки 362
Ошибка 362 при работе с терминалом Сбербанка возникает при проблеме с чипом в банковской карте (нет контакта между чипом на карте и терминалом).
Решить данную проблему можно, если достать карту из терминала и почистить чип на ней чистой тканью и попробовать воспользоваться картой заново. Если проблем не решена, можно воспользоваться другой картой с исправным чипом.
Код ошибки 2000
Ошибка с кодом 2000 в терминале возникает обычно при неправильном вводе ПИН-кода или нажатии после ввода ПИН-кода красной кнопки на терминале.
Код ошибки 4100
Ошибка 4100 в терминале высвечивается если нет связи между терминалом Сбербанка и сервером.
Чтобы решить эту проблему необходимо повторно провести операции через несколько минут. Если после 2-3 попыток проблема не решилась, необходимо обратиться в поддержку Сбербанка (к специалистам, которые устанавливали терминал).
Код ошибки 4118
Ошибка 4118 в терминале Сбербанка возникает при неправильном вводе ПИН-кода карты.
Чтобы решить эту проблему необходимо заново провести операцию, внимательно введя корректный ПИН-код от карты.
Код ошибки 4119
Ошибка 4119 в терминале возникает при проблеме в связи терминала с банком.
Для решения этой ошибки необходимо повторить данную операцию через несколько минут, а также может помочь смена динамического IP адреса в интернет соединении терминала на статический.
Код ошибки 4120
Ошибка 4120 терминала Сбербанка возникает при проблеме в работе пинпада терминала (техническая ошибка).
Код ошибки 4125
Ошибка 4125 в терминале возникает при попытке провести операцию в терминале с помощью магнитной полосы, когда на карте есть чип.
Для решения данной проблемы достаточно вставить карту в терминал и провести оплату с помощью чипа, а не через магнитную полосу.
Код ошибки 4134
Ошибка 4134 терминала Сбербанка возникает, если в терминале долгое время не проводилась сверка итогов.
Для исправления этой ошибки нужно провести сверку итогов в терминале, после чего можно сразу проводить нужную операцию.
Код ошибки 4309
Ошибка 4309 в терминале возникает, если терминал не нашел документ для печати (техническая ошибка).
Решить эту ошибку самостоятельно не получится, необходим обращаться к специалистам Сбербанка, которые устанавливали данный терминал.
Код ошибки 4322
Ошибка 4322 при работе терминала Сбербанка возникает, когда есть проблемы в работе ПО терминала или в есть неисправности в самом терминале.
Код ошибки 4401
Ошибка 4401 в терминале возникает при проблеме авторизации в терминале.
Для решения данной проблемы необходимо позвонить в службу авторизации Сбербанка и пошагово следовать указаниям оператора.
Код ошибки 4403
Ошибка 4403 возникает на экране терминала, если терминал был заблокирован.
В данном случае для решения проблемы необходимо обратиться в поддержку Сбербанка (к специалистам, которые устанавливали терминал).
Код ошибки 4405
Ошибка 4405 терминала Сбербанка возникает при отмене операции (операция не выполнена по определенной причине, к примеру: не правильно введен ПИН-код, неправильно выполнена последовательность операции в терминале).
Код ошибки 4441
Ошибка 4441 в терминале отображается, если сработал протокол безопасности банка и продавцу нужно изъять данную карту у клиента и отказать в проведении операции (возможно карта был украдена или есть другие проблемы).
Код ошибки 4455
Ошибка 4455 в терминале отображается, когда владелец карты неправильно ввел ПИН-код.
Для решения данной ошибки достаточно ввести правильный ПИН-код от данной банковской карты и операция будет проведена.
Код ошибки 4457
Ошибка 4457 при работе с терминалом Сбербанка отображается, если операция не разрешена из-за проблем, связанных с самой картой. При возникновении такой ошибки необходимо отказать клиенту в проведении операции.
Для решения данной проблемы владельцу карты необходимо обратиться в службу поддержки Сбербанка.
Код ошибки 4496
Ошибка 4496 при работе терминала возникает, если неправильно настроен сам терминал.
Код ошибки 4497
Ошибка 4497 в терминале возникает, если на сервере Сбербанка проводятся технические работы.
Провести операцию через терминал в этот момент невозможно и необходимо подождать (15-20 минут, пока на сервере будут закончены регламентные работы) и провести операцию заново.
Код ошибки 5001
Ошибка 5001 в терминале Сбербанка отображается, если неправильно настроен терминал или проблема с данными на чипе карты.
В заключение к этой статье можно отметить, что каждый владелец бизнеса, продавец или обычный пользователь может столкнуть с ошибками при работе с терминалами Сбербанка, поэтому главное в такое ситуации не паниковать, а сразу разобраться, в чём проблема и как её можно быстро решить, руководствуясь инструкциями указанными выше. Свои отзывы и полезные советы, какие есть ошибки терминала Сбербанка и что делать, если они возникают, оставляем в комментариях к этой статье и делимся ей в социальных сетях, если она была Вам полезна.
Ниже представлен полный перечень всех возможных ошибок в терминалах, возникающих как при оплате картой Сбербанка, так и при любых других условиях. Следует учитывать, что в большинстве случаев клиент/персонал ничего не сможет сделать, кроме как обратиться к специалистам банка.
Терминал неправильно подключен (через PC-3, а не PC-2). Если такая ошибка возникает только иногда, то проблема кроется в самом разъеме (например, поврежден).
Необходимо переподключить оборудование на PC-2. Если это уже сделано или не помогает, подключить через USB-порт. Если и это не помогает – обратиться к специалистам банка.
Нет связи с ПИН-падом (панелью ввода ПИН-кода). Возможно отошли контакты.
Проверить контакты, подходящие к ПИН-паду. Попробовать переподключить. Если не помогает, менять ПИН-пад или провода.
Все ошибки указывают на то, что чип карты не считывается. Проблема или в карте, или в ридере.
Попробовать вставить любую другую карту. Если чип не будет считан ни на одной из карт, значит проблема в ридере. Нужна диагностика.
Неверно введен ПИН-код.
Проверить правильность введения ПИН-кода. Повторить попытку. Если не помогает и клиент уверен, что он все делает правильно – обращаться в службу поддержки.
Вводимый ПИН-код заблокирован.
Клиент должен обратиться в службу поддержки или в ближайшее отделение Сбербанка.
Карта не активна (истек срок ее действия)
Использовать другую карту.
Неверная дата на терминале.
Установить верные данные.
Не хватает денег для совершения операции.
Использовать другую карту или пополнить счет.
Аналогична ошибкам 444 и 507 – истек срок действия платежного решения.
См.решение проблемы с ошибками 444 и 507.
Платежное средство заблокировано.
Использовать другую карту.
Период обслуживания платежного средства завершен.
Ошибки аналогичны 574 и 579. Платежное средство заблокировано.
См.решение проблемы с ошибками 574 и 579.
Ошибки аналогичны 405. Вводимый ПИН-код заблокирован.
См.решение проблемы с ошибкой 405.
Скорее всего клиент самостоятельно отменил операцию, нажав на кнопку отмены. В редких случаях проблема может быть в том, что терминал еще не провел сверку итогов и на данный момент не готов к работе.
Рекомендуется повторить операцию.
Слишком долгий ввод ПИН-кода.
Достать карту из терминала и повторить попытку.
2005 2006 2007 2405 2406 2407
Ошибки аналогичны 574 и 579. Платежное средство заблокировано.
См.решение проблемы с ошибками 574 и 579.
Не хватает средств для пополнения карты.
Проверить, сколько денег вносилось и сколько должно быть перечислено на счет. Если данные совпадают – обращаться в службу поддержки.
Предыдущее пополнение через терминал не было завершено.
Завершить операцию пополнения счета.
Сервера Сбербанка находятся на обслуживании/ремонте/
Подождать окончания работ.
Нет связи с банком.
Подождать или воспользоваться другим устройством.
Терминал не был проинкассирован.
Обмен данными между терминалом и чипом карты был нарушен.
Повторить операцию еще раз. Если не получается – воспользоваться другим устройством.
Номер карты был указан неверно (или был неверно прочитан).
Повторить операцию еще раз.
Предупреждение о том, что нужна инкассация.
Превышен лимит операций.
Связаться со службой поддержки.
Нельзя вводить карту вручную.
Воспользоваться другой картой.
Последние 4 цифры номера карты введены неверно.
Проверить данные. Повторить попытку.
ПИН-код не был введен
Нет связи с банком.
Связаться со службой поддержки.
ПИН-пад не получил код KLK.
Связаться со службой поддержки.
Проблемы терминала на программном уровне.
Сообщить специалистам банка.
Неверно произведена смена ключей.
Сообщить специалистам банка.
Нет ключей для рабочего сеанса.
Сообщить специалистам банка.
Вместо чипа карты считана магнитная полоса.
Вставить карту в ридер для чипов.
Неверный ключ KLK.
Сообщить специалистам банка.
Забита память устройства.
Произвести сверку итогов.
Проблема с ПИН-падом (неверная загрузка ПО).
Сообщить специалистам банка.
Ошибка возникает тогда, когда карту достают из терминала быстрее, чем пройдет оплата. Необходимо повторить операцию.
Давно не было сверки итогов.
Выполнить сверку итогов. Повторить операцию.
Старая версия прошивки.
Нужно обновить прошивку.
Ошибка в вводе ПИН-кода
Проверить данные. Повторить попытку.
Номера карт получателя и отправителя средств совпадают.
Совершить платеж с другой карты.
Нет нужного варианта связи для операции.
Произвести перенастройку терминала или связаться со службой поддержки.
Неверный код или сумма операции.
Проверить и изменить данные. Повторить попытку.
Программная ошибка. Нет нужного файла.
Повторить попытку. Если операция не проходит – связываться со службой поддержки.
Не удается выполнить команду.
Повторить попытку. Если операция не проходит – связываться со службой поддержки.
4144 4145 4146 4147
Неправильный формат СТОП-листа.
Изменить формат СТОП-листа на правильный. Повторить попытку.
Карта находится в СТОП-листе.
Использовать другую карту или убрать текущую из СТОП-листа.
На платежном средстве нет фамилии клиента.
Использовать другую карту.
Превышен лимит операций без связи с банком.
Обеспечить связь с банком.
Биометрические данные считаны некорректно.
Повторить попытку. Если проблема повторяется – связываться со службой поддержки.
Нет нужного файла для работы с биометрическими данными.
Установить нужный файл или связаться со службой поддержки.
Ошибка в работе с сертификатом проверки биометрических данных.
Попробовать повторить попытку. Если проблема остается, связываться со службой поддержки банка.
Биометрический сканер и терминал некорректно взаимодействуют.
Проверить подключение устройств и их синхронизацию. Если очевидных проблем нет – связываться со службой поддержки банка.
Ошибка в проверке отпечатков пальцев.
Повторить попытку. Если проблема сохраняется – связываться со службой поддержки.
Отсутствует биометрическая криптограмма.
Установить требуемое ПО или обращаться в службу поддержки.
Ошибка при загрузке данных.
При загрузке данных не был указан код для активации или он был указан неверно.
Проверить данные и указать правильный код активации.
Ошибка при удаленной загрузке данных. На сервере нет нужного шаблона.
Связаться со службой поддержки.
Ошибка при удаленной загрузке данных. На сервере нет доступа к базе данных.
Связаться со службой поддержки.
Нет ключа №62 на терминале.
При невозможности самостоятельно решить проблему и загрузить нужный ключ — связаться со службой поддержки.
Введены не все необходимые настройки/параметры.
Указать всю необходимую для работы устройства информацию. Если проблема сохраняется или непонятно, что именно нужно вносить, обращаться в поддержку банка.
Невозможный тип операции.
Повторить попытку. Если проблема сохраняется, попробовать произвести любую другую аналогичную операцию. Если и в такой ситуации сохраняется проблема – обращаться в службу поддержки.
Невозможный тип карты.
Попробовать другую карту. Если проблема актуальна с любой картой, возможно проблема в ПО или ридере. Рекомендуется обращаться в службу поддержки.
Проблемы с передачей типа карты. Возможно неверные настройки устройства.
Обращаться в службу поддержки банка.
Нужна более свежая библиотека данных.
Обновить библиотеку kernel.
Нет нужной библиотеки kernel. Проблема обычно возникает после обновления библиотеки. Данные уже есть, но устройство их еще не успело обработать.
Повторить попытку через несколько минут. Если ошибка сохраняется, обращаться в службу поддержки.
Нет данных для печати.
Распространенная ошибка, которая возникает при неправильной настройке или синхронизации баз данных, ПО, оборудования и так далее. Рекомендуется пошагово проверять каждый из элементов и его взаимодействие в комплексе.
Несоответствие номеров карты.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Устройство воспринимает отечественную карту как зарубежную.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Не выполнена сверка итогов.
Выполнить сверку итогов.
Карта не читается либо вышло время ожидания.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Не введена сумма операции.
Ввести сумму и повторить попытку.
Указан неправильный код валюты.
Указать правильный код валюты.
Операцию невозможно выполнить для этой карты.
Использовать другую карту.
Карта обладает дефектом: повреждена, изначально выпущена с дефектом и так далее.
Терминалы Сбербанка – это достаточно распространенные и стандартные устройства, используемые практически во всех торговых точках. Как и любая другая техника, они иногда зависают и требуют перезагрузки. Как это сделать в разных моделях – читайте в этой статье.
- Ошибки, при которых нужна перезагрузка POS-терминала
- Как перезагрузить терминал Ingenico?
- Как перезагрузить терминал Verifone?
- Как выключить терминал Сбербанка?
- Видео инструкция, если терминал Сбербанка завис
Ошибки, при которых нужна перезагрузка POS-терминала
Основные причины, по которым может потребоваться перезагрузить терминал оплаты:
- Устройство не реагирует ни на какие нажатия клавиш.
- Аппарат не читает никакие карты.
- Оборудование не печатает чеки, хотя никаких проблем не наблюдается (есть бумага, чернила и так далее).
- Возникают различные проблемы, которые непонятно как решать. Очень часто ошибки «чинятся» обычной перезагрузкой. Служба поддержки Сбербанка первым делом требует перезагружать устройства, так что лучше это сделать сразу и только в том случае, если это не помогло – обращаться к специалистам.
Нужно понимать, что если проблема заключается не в ПО (программном обеспечении), а в самом «железе» устройства (например, некачественная сборка, отходят контакты, сломалась клавиатура, вышел из строя дисплей и так далее), то перезагрузка тут уже не поможет. Устройство нужно будет сдавать на ремонт/замену.
Как перезагрузить терминал Ingenico?
Перезагрузить терминал Сбербанка Ingenico можно двумя основными способами:
-
Отключить устройство от сети. Если в нем установлен аккумулятор, то его также придется достать. Подождать около 5 минут, вставить аккумулятор и включить устройство в сеть. Включить аппарат. Вот сюда вставляется кабель питания:
Как перезагрузить терминал Verifone?
Перезагрузить такой терминал посредством отключения питания от сети можно таким же образом, как это описано выше. Практически все, включая внешний вид разъема для питания, очень схоже. А вот программный способ перезагрузки несколько отличается:
-
Нажать на желтую кнопку и цифру «7» одновременно.
Как выключить терминал Сбербанка?
Самый простой способ выключить терминал – отключить его от сети и достать аккумулятор. Это может потребоваться в том случае, если устройство используется крайне редко и его нет смысла держать включенным постоянно. Кроме того, если магазин не круглосуточный, то обычно терминалы выключают на ночь. Помимо перечисленного, выключают оборудование при транспортировке или для очистки. Выполнить выключение программным способом можно так (верно практически для любой модели и марки):
- Зажать красную кнопку. Если после этого аппарат не отключился сам, то переходим к пункту 2.
- Подтвердить отключение (нажать на зеленую кнопку).
Ряд моделей может вместо отключения уходить на перезагрузку, если устройства подключены к сети. Нужно будет отсоединить шнур питания, оставив аппарат работать только от аккумулятора и только после этого выключать его так, как это описано выше.
Также следует учитывать тот факт, что всегда лучше сначала попробовать отключить терминал программным образом и только в том случае, если это не получается – выключить питание оборудования.
В отдельных случаях, если модель очень старая, используется сторонняя прошивка или возникают какие-то еще проблемы, остается только вариант с перезагрузкой при отключении питания. Это не самое удачное решение. Рекомендуется связаться со службой поддержки Сбербанка и уточнить у них, какой метод перезагрузки/отключения нужно использовать в данном случае. Впрочем, подобные ситуации встречаются очень редко.
Видео инструкция, если терминал Сбербанка завис
Для большей наглядности предлагаем просмотреть видео инструкцию по перезагрузке таких устройств:
Читайте также:
- Excel трансп не работает
- Нет сохраненной фискальной операции для документа 1с
- Как убрать пусто в сводной таблице в excel
- Какими командами можно выполнить копирование перемещение и удаление формул в ворде
- Драйвер wukong что это
оплата картой. вопросы, пожелания, баги
-
niichavo
- Сообщения: 20
- Зарегистрирован: 25 апр 2018, 13:55
оплата картой. вопросы, пожелания, баги
Здравствуйте!
1. бага. при оплате картой в составе регистрации фискального чека, возвращается структура RezultProcessing, в которой поле Amount не содержит копеек. т.е. возвращается сумма, у которой отсутствуют копейки. а если использовать эмулятор терминала — всё ок.
2. вопросы-пожелания. есть ли способ вернуть в ответе номер терминала и хэш от номера карты? если способа вернуть их нет, планируется ли реализовать?
спасибо.
-
Audim
- Администратор
- Сообщения: 2275
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 02 июл 2019, 23:43
1. Какой протокл эквайринга?
2. Этих данных терминал нам не отдает
-
Audim
- Администратор
- Сообщения: 2275
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 18 июл 2019, 00:16
Сбер помоиму округляет сумму до рубля при оплате.
Вот и возвращает то что списано по карте.
-
niichavo
- Сообщения: 20
- Зарегистрирован: 25 апр 2018, 13:55
Re: оплата картой. вопросы, пожелания, баги
Сообщение
niichavo » 19 сен 2019, 14:08
Этих данных терминал нам не отдает
Здравствуйте! Очень нужно получить хэш от номера карты, дату операции и передать департамент (при оплате через терминал сбербанка)! Прям аж очень-очень! И в документации сбера «DocsДля разработчиков ПО ККМpilot_nt.h» написано, что:
Код: Выделить всё
/** @struct auth_answer12
* @brief Расширение card_authorize11 возможностью указать номер отдела и задать/получить номер ссылки.
*/
struct auth_answer12 {
auth_answer ans; /**< [in, out] Основные параметры операции. См. ::auth_answer */
char AuthCode[MAX_AUTHCODE]; /**< [out] Код авторизации. 7 байт. */
char CardID[CARD_ID_LEN]; /**< [out] Идентификатор карты. 25 байт. Для международных карт все символы, кроме первых 6 и последних 4, будут заменены символами ‘*’.*/
int ErrorCode; /**< [out] Код ошибки. */
char TransDate[TRANSDATE_LEN];/**< [out] Дата и время операции */
int TransNumber; /**< [out] Номер операции за опер. день, см. номер на чеке */
int SberOwnCard; /**< [out] Флаг принадлежности карты Сбербанку */
char Hash[CARD_HASH_LEN]; /**< [in, out] хеш SHA1 от номера карты, в формате ASCII с нулевым байтом в конце. 40 байт.*/
char Track3[CARD_TRACK3_LEN]; /**< [out] третья дорожка карты. В PCI DSS решениях содержит данные с карты лояльности*/
unsigned long RequestID; /**< [in,out] Уникальный номер операции. Только PCI DSS решения.*/
DWORD Department; /**< [in] Порядковый номер отдела от 0 до 14-ти, включительно.
При установке номера отдела в 0xFFFFFFFF, номер отдела
будет запрошен через интерфейс терминала после вставки карты.
Если номер отдела будет указан вне настроенного диапазона,
то терминал вернет код ошибки 4191. */
char RRN[MAX_REFNUM]; /**< [in,out] Номер ссылки операции, присвоенный хостом. Используется
для операций возврат и множественной авторизации.
Содержит уникальный 12-значный ссылочный номер.
При предавторизации это поле является выходным
(его заполняет библиотека pilot_nt.dll), а при
завершении расчета – входным (значение должно
быть заполнено вызывающей программой; оно должно
совпадать со значением, возвращенным при предавторизации).*/
};
Т.е., насколько я понимаю, возможность для получения хэша, даты и передачи департамента есть. Не могли бы вы поддержать эту возможность и возвращать их в каких-нибудь отдельных полях? Например в виде доп. полей к RezultProcessing? И предусмотреть передачу департамента при оплате картой в составе регистрации фискального чека? Спасибо.
-
Audim
- Администратор
- Сообщения: 2275
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 22 сен 2019, 23:20
В kkmserver могут попасть только те изменения которые есть во всех устройствах.
1. Хеш карты есть только в сбере и только в некоторых операциях.
2. «auth_answer12» есть только в новом ПО сбербанка, которое есть далеко не у каждого.
Поэтому этого делать пока не будем.
Обновлено: 28.01.2023
Каждый владелец пластиковой карты хоть раз сталкивался с ошибками, которые выдают либо терминал, либо мобильный банк, Сбербанк Онлайн. Одни относится к таким проблемам спокойно, а для других это незнакомая ситуация, в которой человек не знает как поступить. Усугубляется ситуация тем, что не всегда можно определить прошла оплата или нет: деньги могут списаться, но не зачислиться на конечный счет.
У каждой неисправности есть причина, код и методы ее устранения. Все коды актуальны на территории России.
Наиболее распространенные ошибки терминала Сбербанка
Достаточно часто встречаются такие ошибки терминала сбербанка:
- 4134 – долго не выполнялась сверка итогов.
- 4457 – банк заблокировал операцию.
- 4118 – некорректно введен пин код.
- ошибка 362 на терминале сбербанка, означающая проблемы с чипом.
У всех ошибок есть свой код, по которому можно идентифицировать проблему и найти решение. Коды ошибок можно найти в инструкции к аппарату или на специализированных форумах.
Причины возникновения ошибок
У всех неисправностей, возникающих при оплате картой есть своя причина возникновения: от несущественных ошибочных нажатий до неисправности аппарата. Наиболее часто ошибки возникают:
- неверных данных, введенных в платежный аппарат;
- нарушение связи с банком;
- неправильная установка, настройка или обслуживание аппарата;
- неисправность комплектующих аппарата.
Поэтому периодически необходимо проверять целостность корпуса, проводов, разъемов и клавиш. Стабильное подключение к Интернет позволит избежать ошибок, вызванных нарушением связи. А проверка аппарата после установки и настройки позволит обнаружить неисправности до появления ошибок при попытке совершить оплату.
Ошибка терминала сбербанка 4119 связана с отсутствием связи с банком. Такая проблема часто возникает при работе устройства посредством Интернет с динамическим IP адресом. Разрешить ситуацию можно, дождавшись устойчивого сигнала или заменив IP адрес с динамического на статический.
Если возникла ошибка 99 терминал сбербанка выдаст информацию от том, что оплата не произведена. Это происходит при нарушении связи с пинпадом. Причин может быть много: от отошедшего разъема до повреждения провода. Независимо от причины, устранить эту неисправность может только специалист.
Что делать при ошибке 4134
Если появилась ошибка 4309 терминал сбербанка сообщает о том, что он не нашел документ для печати. В сложившейся ситуации пользователь не сможет самостоятельно решить эту проблему. Причина возникновения этой проблемы кроется в программном обеспечении, которое обслуживает устройство. В данном случае нужно обращаться в службу поддержки.
Если появилась ошибка 4497 терминал сбербанка не сможет проводить никакие операции и перезагрузка не поможет. Данный код говорит о том, что в настоящий момент времени проводятся работы на сервере. Эту проблему никак не решить, нужно просто подождать окончания работ.
Ошибка 362 на терминале сбербанка сообщает о том, что нет контакта с чипом карты. Необходимо вытащить карту, протереть чип и вставить снова. Обычно такая процедура помогает. Если проблема не исчезла, нужно проверить целостность чипа и, возможно, заменить карту.
Ошибка 57 на терминале сбербанка говорит о том, что совершаемая операция не поддерживается данным типом карты. Неисправности устройства в этом нет. Нужно либо изменить операцию, либо выбрать другую карту.
В случае, если появилась ошибка 4401 терминал сбербанка скорее всего исправен. Проблема кроется в авторизации. Решить ее можно только, позвонив в службу поддержки, где оператор проинформирует о дальнейших действиях.
Кода появилась ошибка 4403 терминал сбербанка заблокирован. В этом случае нужно обратиться в службу, которая устанавливала аппарат.
Такая ошибка появляется при неправильно набранном пин коде. Если возникла ошибка 4118 сбербанк терминал исправен, нужно ввести пин код еще раз.
Ошибка 4322 на терминале сбербанка говорит о внутренних проблемах устройства или его ПО. В случае возникновения такой проблемы необходимо обращаться в техническую поддержку.
Ошибка 5001 на терминале сбербанка сообщает о нарушенных настройках устройства или проблемах с чипом на карте. Если действия по протиранию чипа не дают результат, стоит обратиться в банк для решения вопроса настроек терминала.
Исправление данной проблемы не занимает много времени, достаточно выполнить сверку итогов, дождаться ответа терминала, после чего неисправность исчезнет и устройство будет исправно работать. Чтобы исключить повторения данной проблемы, следует отслеживать сроки очередной сверки.
Что значит ошибка 4405 в терминале Сбербанка
Данная ошибка чаще всего появляется в устройствах оплаты и мобильном приложении. Это значит, что операция не выполнена. Причиной отказа в выполнении транзакции может стать:
- неверно введенные данные:
- оператор терминала сделал что-то неверно.
Чаще с данной проблемой встречаются клиенты других банков, которые совершают оплату через платежный аппарат Сбербанка.
Если высветилась ошибка 4405 терминал сбербанка следует перезагрузить и повторить попытку проведения операции. Если данные меры не помогли и POS терминал продолжает неисправно работать, следует обратиться в техническую поддержку.
Что делать если появилась неописанная здесь ошибка
Платежные устройства Сбербанка работают в программе 1С УТ 10 и как у любой программы могут возникать самые разнообразные ошибки. Если ошибка неизвестна, нет четких инструкций как действовать и найти информацию о проблеме не представляется возможным, следует перезагрузить терминал. Если неисправность не исчезла, а работа аппарата не возобновилась в нормальном режиме, необходимо обратиться в техподдержку банка для получения инструкций или вызова специалиста.
При работе с терминалом Сбербанка каждый может столкнуться с различными ошибками, высвечивающимися на его экране, при этом ошибки могут возникать, как из-за проблем в работе самого терминала (ПО, банка), так и при неправильном проведении операции со стороны клиента (ошибки ввода данных, проблемы с картой и т.д.). В этом обзоре рассмотрим наиболее часто встречаемые коды ошибок терминалов Сбербанка, узнаем, что они означают и что делать, если они появляются.
Наиболее популярные коды ошибок терминала Сбербанка
Полный список кодов ошибок довольно большой и постоянно дополняется, так как в работе любого программного обеспечения, в частности в терминалах банков, появляются новые функции, меняется порядок проведения различных операций и т.д.
Ниже рассмотрим наиболее популярные коды ошибок и что они означают:
- Ошибка 05. Авторизация отклонена, операцию не проводить.
- Ошибка 57. Недопустимо проведение операции для данного вида карты (терминал «не разрешает» выполнение операции)
- Ошибка 99. Оплата по картам не была произведена.
- Ошибка 362. Означает проблемы с чипом.
- Ошибка 2000. Ошибка транзакции в терминале (оплата по карте не была произведена).
- Ошибка 4100. Нет связи с банком.
- Ошибка 4118. Неправильно введен ПИН-код.
- Ошибка 4119. Отсутствует связь терминала с банком.
- Ошибка 4120. Неисправен пинпад терминала.
- Ошибка 4125. На карте есть чип (необходимо воспользоваться чипом, а не магнитной полосой на карте).
- Ошибка 4134. Продолжительное время не выполнялась сверка итогов в терминале.
- Ошибка 4309. Не найден документ для печати.
- Ошибка 4322. Проблема в работе терминала или программного обеспечения, установленного в нём.
- Ошибка 4401. Необходима авторизация транзакции (нужно позвонить в банк).
- Ошибка 4403. Терминал заблокирован.
- Ошибка 4405. Операция не выполнена.
- Ошибка 4441. Команда изъять карту у клиента.
- Ошибка 4455. Ошибка при вводе PIN-кода карты.
- Ошибка 4457. Сбербанк заблокировал операцию (причины на стороне карты).
- Ошибка 4496. Неверно настроен терминал.
- Ошибка 4497. Проводятся технические работы на сервере.
- Ошибка 5001. Проблема в настройках терминала или проблемы с чипом банковской карты.
Код ошибки 05
Код ошибки 05 в терминале возникает, если авторизация пользователя отклонена и рекомендуется операцию не проводить (причины могут быть различные: карта или счет заблокированы, превышен лимит, не правильно пройдена авторизация).
Код ошибки 57
Ошибка 57 в терминале Сбербанка может отобразится по нескольким причинам, при этом проблема не в терминале, а в карте: данная карта не может быть использована для расчетов через терминалы (к примеру, с данного вида карт можно только снимать деньги в банкомате) или возможно истек срок действия карты.
Решить данную проблему должен владелец карты, обратившись по телефону поддержки Сбербанка или лично посетив отделение банка.
Код ошибки 99
Ошибка 99 в терминале возникает при проблеме контакта с пинпадом в терминале (в большинстве случаев проблема в кабеле).
Код ошибки 362
Ошибка 362 при работе с терминалом Сбербанка возникает при проблеме с чипом в банковской карте (нет контакта между чипом на карте и терминалом).
Решить данную проблему можно, если достать карту из терминала и почистить чип на ней чистой тканью и попробовать воспользоваться картой заново. Если проблем не решена, можно воспользоваться другой картой с исправным чипом.
Код ошибки 2000
Ошибка с кодом 2000 в терминале возникает обычно при неправильном вводе ПИН-кода или нажатии после ввода ПИН-кода красной кнопки на терминале.
Код ошибки 4100
Ошибка 4100 в терминале высвечивается если нет связи между терминалом Сбербанка и сервером.
Чтобы решить эту проблему необходимо повторно провести операции через несколько минут. Если после 2-3 попыток проблема не решилась, необходимо обратиться в поддержку Сбербанка (к специалистам, которые устанавливали терминал).
Код ошибки 4118
Ошибка 4118 в терминале Сбербанка возникает при неправильном вводе ПИН-кода карты.
Чтобы решить эту проблему необходимо заново провести операцию, внимательно введя корректный ПИН-код от карты.
Код ошибки 4119
Ошибка 4119 в терминале возникает при проблеме в связи терминала с банком.
Для решения этой ошибки необходимо повторить данную операцию через несколько минут, а также может помочь смена динамического IP адреса в интернет соединении терминала на статический.
Код ошибки 4120
Ошибка 4120 терминала Сбербанка возникает при проблеме в работе пинпада терминала (техническая ошибка).
Код ошибки 4125
Ошибка 4125 в терминале возникает при попытке провести операцию в терминале с помощью магнитной полосы, когда на карте есть чип.
Для решения данной проблемы достаточно вставить карту в терминал и провести оплату с помощью чипа, а не через магнитную полосу.
Код ошибки 4134
Ошибка 4134 терминала Сбербанка возникает, если в терминале долгое время не проводилась сверка итогов.
Для исправления этой ошибки нужно провести сверку итогов в терминале, после чего можно сразу проводить нужную операцию.
Код ошибки 4309
Ошибка 4309 в терминале возникает, если терминал не нашел документ для печати (техническая ошибка).
Решить эту ошибку самостоятельно не получится, необходим обращаться к специалистам Сбербанка, которые устанавливали данный терминал.
Код ошибки 4322
Ошибка 4322 при работе терминала Сбербанка возникает, когда есть проблемы в работе ПО терминала или в есть неисправности в самом терминале.
Код ошибки 4401
Ошибка 4401 в терминале возникает при проблеме авторизации в терминале.
Для решения данной проблемы необходимо позвонить в службу авторизации Сбербанка и пошагово следовать указаниям оператора.
Код ошибки 4403
Ошибка 4403 возникает на экране терминала, если терминал был заблокирован.
В данном случае для решения проблемы необходимо обратиться в поддержку Сбербанка (к специалистам, которые устанавливали терминал).
Код ошибки 4405
Ошибка 4405 терминала Сбербанка возникает при отмене операции (операция не выполнена по определенной причине, к примеру: не правильно введен ПИН-код, неправильно выполнена последовательность операции в терминале).
Код ошибки 4441
Ошибка 4441 в терминале отображается, если сработал протокол безопасности банка и продавцу нужно изъять данную карту у клиента и отказать в проведении операции (возможно карта был украдена или есть другие проблемы).
Код ошибки 4455
Ошибка 4455 в терминале отображается, когда владелец карты неправильно ввел ПИН-код.
Для решения данной ошибки достаточно ввести правильный ПИН-код от данной банковской карты и операция будет проведена.
Код ошибки 4457
Ошибка 4457 при работе с терминалом Сбербанка отображается, если операция не разрешена из-за проблем, связанных с самой картой. При возникновении такой ошибки необходимо отказать клиенту в проведении операции.
Для решения данной проблемы владельцу карты необходимо обратиться в службу поддержки Сбербанка.
Код ошибки 4496
Ошибка 4496 при работе терминала возникает, если неправильно настроен сам терминал.
Код ошибки 4497
Ошибка 4497 в терминале возникает, если на сервере Сбербанка проводятся технические работы.
Провести операцию через терминал в этот момент невозможно и необходимо подождать (15-20 минут, пока на сервере будут закончены регламентные работы) и провести операцию заново.
Код ошибки 5001
Ошибка 5001 в терминале Сбербанка отображается, если неправильно настроен терминал или проблема с данными на чипе карты.
В заключение к этой статье можно отметить, что каждый владелец бизнеса, продавец или обычный пользователь может столкнуть с ошибками при работе с терминалами Сбербанка, поэтому главное в такое ситуации не паниковать, а сразу разобраться, в чём проблема и как её можно быстро решить, руководствуясь инструкциями указанными выше. Свои отзывы и полезные советы, какие есть ошибки терминала Сбербанка и что делать, если они возникают, оставляем в комментариях к этой статье и делимся ей в социальных сетях, если она была Вам полезна.
Ниже представлен полный перечень всех возможных ошибок в терминалах, возникающих как при оплате картой Сбербанка, так и при любых других условиях. Следует учитывать, что в большинстве случаев клиент/персонал ничего не сможет сделать, кроме как обратиться к специалистам банка.
Терминал неправильно подключен (через PC-3, а не PC-2). Если такая ошибка возникает только иногда, то проблема кроется в самом разъеме (например, поврежден).
Необходимо переподключить оборудование на PC-2. Если это уже сделано или не помогает, подключить через USB-порт. Если и это не помогает – обратиться к специалистам банка.
Нет связи с ПИН-падом (панелью ввода ПИН-кода). Возможно отошли контакты.
Проверить контакты, подходящие к ПИН-паду. Попробовать переподключить. Если не помогает, менять ПИН-пад или провода.
Все ошибки указывают на то, что чип карты не считывается. Проблема или в карте, или в ридере.
Попробовать вставить любую другую карту. Если чип не будет считан ни на одной из карт, значит проблема в ридере. Нужна диагностика.
Неверно введен ПИН-код.
Проверить правильность введения ПИН-кода. Повторить попытку. Если не помогает и клиент уверен, что он все делает правильно – обращаться в службу поддержки.
Вводимый ПИН-код заблокирован.
Клиент должен обратиться в службу поддержки или в ближайшее отделение Сбербанка.
Карта не активна (истек срок ее действия)
Использовать другую карту.
Неверная дата на терминале.
Установить верные данные.
Не хватает денег для совершения операции.
Использовать другую карту или пополнить счет.
Аналогична ошибкам 444 и 507 – истек срок действия платежного решения.
См.решение проблемы с ошибками 444 и 507.
Платежное средство заблокировано.
Использовать другую карту.
Период обслуживания платежного средства завершен.
Ошибки аналогичны 574 и 579. Платежное средство заблокировано.
См.решение проблемы с ошибками 574 и 579.
Ошибки аналогичны 405. Вводимый ПИН-код заблокирован.
См.решение проблемы с ошибкой 405.
Скорее всего клиент самостоятельно отменил операцию, нажав на кнопку отмены. В редких случаях проблема может быть в том, что терминал еще не провел сверку итогов и на данный момент не готов к работе.
Рекомендуется повторить операцию.
Слишком долгий ввод ПИН-кода.
Достать карту из терминала и повторить попытку.
2005 2006 2007 2405 2406 2407
Ошибки аналогичны 574 и 579. Платежное средство заблокировано.
См.решение проблемы с ошибками 574 и 579.
Не хватает средств для пополнения карты.
Проверить, сколько денег вносилось и сколько должно быть перечислено на счет. Если данные совпадают – обращаться в службу поддержки.
Предыдущее пополнение через терминал не было завершено.
Завершить операцию пополнения счета.
Сервера Сбербанка находятся на обслуживании/ремонте/
Подождать окончания работ.
Нет связи с банком.
Подождать или воспользоваться другим устройством.
Терминал не был проинкассирован.
Обмен данными между терминалом и чипом карты был нарушен.
Повторить операцию еще раз. Если не получается – воспользоваться другим устройством.
Номер карты был указан неверно (или был неверно прочитан).
Повторить операцию еще раз.
Предупреждение о том, что нужна инкассация.
Превышен лимит операций.
Связаться со службой поддержки.
Нельзя вводить карту вручную.
Воспользоваться другой картой.
Последние 4 цифры номера карты введены неверно.
Проверить данные. Повторить попытку.
ПИН-код не был введен
Нет связи с банком.
Связаться со службой поддержки.
ПИН-пад не получил код KLK.
Связаться со службой поддержки.
Проблемы терминала на программном уровне.
Сообщить специалистам банка.
Неверно произведена смена ключей.
Сообщить специалистам банка.
Нет ключей для рабочего сеанса.
Сообщить специалистам банка.
Вместо чипа карты считана магнитная полоса.
Вставить карту в ридер для чипов.
Неверный ключ KLK.
Сообщить специалистам банка.
Забита память устройства.
Произвести сверку итогов.
Проблема с ПИН-падом (неверная загрузка ПО).
Сообщить специалистам банка.
Ошибка возникает тогда, когда карту достают из терминала быстрее, чем пройдет оплата. Необходимо повторить операцию.
Давно не было сверки итогов.
Выполнить сверку итогов. Повторить операцию.
Старая версия прошивки.
Нужно обновить прошивку.
Ошибка в вводе ПИН-кода
Проверить данные. Повторить попытку.
Номера карт получателя и отправителя средств совпадают.
Совершить платеж с другой карты.
Нет нужного варианта связи для операции.
Произвести перенастройку терминала или связаться со службой поддержки.
Неверный код или сумма операции.
Проверить и изменить данные. Повторить попытку.
Программная ошибка. Нет нужного файла.
Повторить попытку. Если операция не проходит – связываться со службой поддержки.
Не удается выполнить команду.
Повторить попытку. Если операция не проходит – связываться со службой поддержки.
4144 4145 4146 4147
Неправильный формат СТОП-листа.
Изменить формат СТОП-листа на правильный. Повторить попытку.
Карта находится в СТОП-листе.
Использовать другую карту или убрать текущую из СТОП-листа.
На платежном средстве нет фамилии клиента.
Использовать другую карту.
Превышен лимит операций без связи с банком.
Обеспечить связь с банком.
Биометрические данные считаны некорректно.
Повторить попытку. Если проблема повторяется – связываться со службой поддержки.
Нет нужного файла для работы с биометрическими данными.
Установить нужный файл или связаться со службой поддержки.
Ошибка в работе с сертификатом проверки биометрических данных.
Попробовать повторить попытку. Если проблема остается, связываться со службой поддержки банка.
Биометрический сканер и терминал некорректно взаимодействуют.
Проверить подключение устройств и их синхронизацию. Если очевидных проблем нет – связываться со службой поддержки банка.
Ошибка в проверке отпечатков пальцев.
Повторить попытку. Если проблема сохраняется – связываться со службой поддержки.
Отсутствует биометрическая криптограмма.
Установить требуемое ПО или обращаться в службу поддержки.
Ошибка при загрузке данных.
При загрузке данных не был указан код для активации или он был указан неверно.
Проверить данные и указать правильный код активации.
Ошибка при удаленной загрузке данных. На сервере нет нужного шаблона.
Связаться со службой поддержки.
Ошибка при удаленной загрузке данных. На сервере нет доступа к базе данных.
Связаться со службой поддержки.
Нет ключа №62 на терминале.
При невозможности самостоятельно решить проблему и загрузить нужный ключ — связаться со службой поддержки.
Введены не все необходимые настройки/параметры.
Указать всю необходимую для работы устройства информацию. Если проблема сохраняется или непонятно, что именно нужно вносить, обращаться в поддержку банка.
Невозможный тип операции.
Повторить попытку. Если проблема сохраняется, попробовать произвести любую другую аналогичную операцию. Если и в такой ситуации сохраняется проблема – обращаться в службу поддержки.
Невозможный тип карты.
Попробовать другую карту. Если проблема актуальна с любой картой, возможно проблема в ПО или ридере. Рекомендуется обращаться в службу поддержки.
Проблемы с передачей типа карты. Возможно неверные настройки устройства.
Обращаться в службу поддержки банка.
Нужна более свежая библиотека данных.
Обновить библиотеку kernel.
Нет нужной библиотеки kernel. Проблема обычно возникает после обновления библиотеки. Данные уже есть, но устройство их еще не успело обработать.
Повторить попытку через несколько минут. Если ошибка сохраняется, обращаться в службу поддержки.
Нет данных для печати.
Распространенная ошибка, которая возникает при неправильной настройке или синхронизации баз данных, ПО, оборудования и так далее. Рекомендуется пошагово проверять каждый из элементов и его взаимодействие в комплексе.
Несоответствие номеров карты.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Устройство воспринимает отечественную карту как зарубежную.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Не выполнена сверка итогов.
Выполнить сверку итогов.
Карта не читается либо вышло время ожидания.
Повторить попытку. Если проблема сохраняется – использовать другую карту.
Не введена сумма операции.
Ввести сумму и повторить попытку.
Указан неправильный код валюты.
Указать правильный код валюты.
Операцию невозможно выполнить для этой карты.
Использовать другую карту.
Карта обладает дефектом: повреждена, изначально выпущена с дефектом и так далее.
Терминалы Сбербанка – это достаточно распространенные и стандартные устройства, используемые практически во всех торговых точках. Как и любая другая техника, они иногда зависают и требуют перезагрузки. Как это сделать в разных моделях – читайте в этой статье.
- Ошибки, при которых нужна перезагрузка POS-терминала
- Как перезагрузить терминал Ingenico?
- Как перезагрузить терминал Verifone?
- Как выключить терминал Сбербанка?
- Видео инструкция, если терминал Сбербанка завис
Ошибки, при которых нужна перезагрузка POS-терминала
Основные причины, по которым может потребоваться перезагрузить терминал оплаты:
- Устройство не реагирует ни на какие нажатия клавиш.
- Аппарат не читает никакие карты.
- Оборудование не печатает чеки, хотя никаких проблем не наблюдается (есть бумага, чернила и так далее).
- Возникают различные проблемы, которые непонятно как решать. Очень часто ошибки «чинятся» обычной перезагрузкой. Служба поддержки Сбербанка первым делом требует перезагружать устройства, так что лучше это сделать сразу и только в том случае, если это не помогло – обращаться к специалистам.
Нужно понимать, что если проблема заключается не в ПО (программном обеспечении), а в самом «железе» устройства (например, некачественная сборка, отходят контакты, сломалась клавиатура, вышел из строя дисплей и так далее), то перезагрузка тут уже не поможет. Устройство нужно будет сдавать на ремонт/замену.
Как перезагрузить терминал Ingenico?
Перезагрузить терминал Сбербанка Ingenico можно двумя основными способами:
-
Отключить устройство от сети. Если в нем установлен аккумулятор, то его также придется достать. Подождать около 5 минут, вставить аккумулятор и включить устройство в сеть. Включить аппарат. Вот сюда вставляется кабель питания:
Как перезагрузить терминал Verifone?
Перезагрузить такой терминал посредством отключения питания от сети можно таким же образом, как это описано выше. Практически все, включая внешний вид разъема для питания, очень схоже. А вот программный способ перезагрузки несколько отличается:
-
Нажать на желтую кнопку и цифру «7» одновременно.
Как выключить терминал Сбербанка?
Самый простой способ выключить терминал – отключить его от сети и достать аккумулятор. Это может потребоваться в том случае, если устройство используется крайне редко и его нет смысла держать включенным постоянно. Кроме того, если магазин не круглосуточный, то обычно терминалы выключают на ночь. Помимо перечисленного, выключают оборудование при транспортировке или для очистки. Выполнить выключение программным способом можно так (верно практически для любой модели и марки):
- Зажать красную кнопку. Если после этого аппарат не отключился сам, то переходим к пункту 2.
- Подтвердить отключение (нажать на зеленую кнопку).
Ряд моделей может вместо отключения уходить на перезагрузку, если устройства подключены к сети. Нужно будет отсоединить шнур питания, оставив аппарат работать только от аккумулятора и только после этого выключать его так, как это описано выше.
Также следует учитывать тот факт, что всегда лучше сначала попробовать отключить терминал программным образом и только в том случае, если это не получается – выключить питание оборудования.
В отдельных случаях, если модель очень старая, используется сторонняя прошивка или возникают какие-то еще проблемы, остается только вариант с перезагрузкой при отключении питания. Это не самое удачное решение. Рекомендуется связаться со службой поддержки Сбербанка и уточнить у них, какой метод перезагрузки/отключения нужно использовать в данном случае. Впрочем, подобные ситуации встречаются очень редко.
Видео инструкция, если терминал Сбербанка завис
Для большей наглядности предлагаем просмотреть видео инструкцию по перезагрузке таких устройств:
Читайте также:
- Excel трансп не работает
- Нет сохраненной фискальной операции для документа 1с
- Как убрать пусто в сводной таблице в excel
- Какими командами можно выполнить копирование перемещение и удаление формул в ворде
- Драйвер wukong что это
Если на экране монитора или терминала высветилась ошибка с кодом 41, нет причин волноваться. Однако, стоит перезагрузить сайт или воспользоваться другим банкоматом. Код 41 означает, что связь с сервером Сбера временно потеряна либо сигнал интернета слишком слаб. То есть ничего страшного с картами, счетами или кредитами клиента не произошло.
Если ошибка высветилась при входе в банкинг на ПК, можно просто перезагрузить компьютер. Почти всегда этот вариант срабатывает. Если нет, стоит более тщательно проверить интернет-соединение, а именно совершить ряд действий:
- проверить сетевые кабели, модем, маршрутизатор;
- подключиться заново либо поменять сеть на wi-fi;
- выполнить диагностику сети.
Ошибки карты
Неполадка случилась с банкоматом или терминалом? Узнайте, что означает конкретная ошибка Сбера с кодом 41, связанная с конкретной банковской картой:
- 4104 (то же самое, что и ошибка 4103) – неполадки с чипом карты. То есть чип пластика поврежден либо загрязнен. В первом случае рекомендуется выпустить новую карту, во втором можно просто почистить пластик мягкой тканью.
- 4108 – неправильно считан либо не считан номер карты. Следует проверить активность пластика либо обратиться в банк-эмитент.
- 4117 – клиент прервал обслуживание, вытащив карту до ввода идентификатора.
- 4118 – ошибка означает неправильный ввод пин-кода. При клиентском использовании код ошибки обычно не показывается. На экране терминала появляется сообщение с просьбой ввести корректный пин.
- 4132 – сбой, связанный с преждевременным извлечением карты из АТМ. Следует отменить операцию, ввести карту заново.
- 4157 – банк запретил совершение транзакции. Возможно, на счета клиента наложен арест. При виде подобной ошибки следует обратиться в банк.
Сбои терминалов
Ошибки, которые связаны с терминалом и его настройкой:
- 4120 – техническая ошибка терминала (ошибка пинпада). Исправить неполадку может только специалист банка.
- 4121 – технический сбой, свидетельствующий о проблемах программного обеспечения АТМ. Происходит крайне редко, требует переустановки терминала.
- 4124 – технический сбой, означающий отсутствие в терминале ключей. То есть настройка АТМ была проведена неверно.
- 4128 – ошибка настройки терминала, АТМ требует перезагрузки.
- 4130 – память АТМ заполнена. Ошибка требует вмешательства инкассаторов.
- 4134 – в конкретном аппарате долгое время не проводилась сверка итогов. Устранить неполадку под силу только работнику банка.
- 4142 – ошибка эквайринговой системы Сбера, связана с ПО 1С.
- 4101 (а также 4102, 4110-4112) карта АТМ требует инкассации. Разницу между кодами данной группы может понять только сотрудник банка.
- 4115, 4116 – сбой ридера карты.
Ошибки сервера
Что означают ошибки с кодом 41, связанные с ответом сервера Сбера:
- 4100 – связь с сервером банка потеряна. Возможно, произошло внезапное отключение электроэнергии и терминал не успел перезагрузиться. Решением будет повторное совершение проводимой операции. Если за 2-3 попытки операция не удастся, следует обратиться в банк-эмитент. То же самое означают ошибки с кодом 4191 и 419.
- 4119 (либо 411) – нет связи с сервером банка. Клиент сделать ничего не сможет. Потребуется помощь инкассатора, так как решить проблему без перезагрузки терминала не получится.
- 4113 (4114) – связь с банком отсутствует. В частности, превышен лимит выполнения операций без ответа сервера. Совершить какой-либо денежный перевод с данной ошибкой невозможно.
У каждой из неисправностей есть особая причина. Где-то банкомат был неправильно настроен, где-то терминал давно не обновлялся. Частые причины системных ошибок – отказ сервера банка, отсутствие сети либо некорректная настройка АТМ.
Вопросы и ответы
В заключение публикуем популярные вопросы пользователей по теме со всевозможных форумов:
- Как исправить ошибку 4157? Самостоятельно это сделать никак не получится. Придется проследовать в отделение банка с паспортом и решать проблему на месте.
- Что делать, если в терминале появилась ошибка 4118? Попробовать вытащить карту и вставить ее вновь, набрав правильный пин-код.
- Как исправить ошибку 4134? Исправление данной неполадки следует начинать с проверки итогов произведенных операций. Для этой цели АТМ открывается и подключается к особому устройству. Всю операцию обычно делает инкассатор, он же отслеживает срок очередной проверки.
Внимание! Если в терминале или банкомате Сбера появилась не описанная здесь ошибка, данный АТМ лучше не использовать. Так как зелеными банкоматами пользуется до сотен тысяч клиентов в сутки, временные неполадки являются нормой. Клиент, заметивший ошибку, будет должен перейти к другому терминалу либо вызвать специалиста технической поддержки для получения инструкций.
оплата картой. вопросы, пожелания, баги
-
niichavo
- Сообщения: 20
- Зарегистрирован: 25 апр 2018, 13:55
оплата картой. вопросы, пожелания, баги
Здравствуйте!
1. бага. при оплате картой в составе регистрации фискального чека, возвращается структура RezultProcessing, в которой поле Amount не содержит копеек. т.е. возвращается сумма, у которой отсутствуют копейки. а если использовать эмулятор терминала — всё ок.
2. вопросы-пожелания. есть ли способ вернуть в ответе номер терминала и хэш от номера карты? если способа вернуть их нет, планируется ли реализовать?
спасибо.
-
Audim
- Администратор
- Сообщения: 2258
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 02 июл 2019, 23:43
1. Какой протокл эквайринга?
2. Этих данных терминал нам не отдает
-
Audim
- Администратор
- Сообщения: 2258
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 18 июл 2019, 00:16
Сбер помоиму округляет сумму до рубля при оплате.
Вот и возвращает то что списано по карте.
-
niichavo
- Сообщения: 20
- Зарегистрирован: 25 апр 2018, 13:55
Re: оплата картой. вопросы, пожелания, баги
Сообщение
niichavo » 19 сен 2019, 14:08
Этих данных терминал нам не отдает
Здравствуйте! Очень нужно получить хэш от номера карты, дату операции и передать департамент (при оплате через терминал сбербанка)! Прям аж очень-очень! И в документации сбера «DocsДля разработчиков ПО ККМpilot_nt.h» написано, что:
Код: Выделить всё
/** @struct auth_answer12
* @brief Расширение card_authorize11 возможностью указать номер отдела и задать/получить номер ссылки.
*/
struct auth_answer12 {
auth_answer ans; /**< [in, out] Основные параметры операции. См. ::auth_answer */
char AuthCode[MAX_AUTHCODE]; /**< [out] Код авторизации. 7 байт. */
char CardID[CARD_ID_LEN]; /**< [out] Идентификатор карты. 25 байт. Для международных карт все символы, кроме первых 6 и последних 4, будут заменены символами ‘*’.*/
int ErrorCode; /**< [out] Код ошибки. */
char TransDate[TRANSDATE_LEN];/**< [out] Дата и время операции */
int TransNumber; /**< [out] Номер операции за опер. день, см. номер на чеке */
int SberOwnCard; /**< [out] Флаг принадлежности карты Сбербанку */
char Hash[CARD_HASH_LEN]; /**< [in, out] хеш SHA1 от номера карты, в формате ASCII с нулевым байтом в конце. 40 байт.*/
char Track3[CARD_TRACK3_LEN]; /**< [out] третья дорожка карты. В PCI DSS решениях содержит данные с карты лояльности*/
unsigned long RequestID; /**< [in,out] Уникальный номер операции. Только PCI DSS решения.*/
DWORD Department; /**< [in] Порядковый номер отдела от 0 до 14-ти, включительно.
При установке номера отдела в 0xFFFFFFFF, номер отдела
будет запрошен через интерфейс терминала после вставки карты.
Если номер отдела будет указан вне настроенного диапазона,
то терминал вернет код ошибки 4191. */
char RRN[MAX_REFNUM]; /**< [in,out] Номер ссылки операции, присвоенный хостом. Используется
для операций возврат и множественной авторизации.
Содержит уникальный 12-значный ссылочный номер.
При предавторизации это поле является выходным
(его заполняет библиотека pilot_nt.dll), а при
завершении расчета – входным (значение должно
быть заполнено вызывающей программой; оно должно
совпадать со значением, возвращенным при предавторизации).*/
};
Т.е., насколько я понимаю, возможность для получения хэша, даты и передачи департамента есть. Не могли бы вы поддержать эту возможность и возвращать их в каких-нибудь отдельных полях? Например в виде доп. полей к RezultProcessing? И предусмотреть передачу департамента при оплате картой в составе регистрации фискального чека? Спасибо.
-
Audim
- Администратор
- Сообщения: 2258
- Зарегистрирован: 17 мар 2015, 18:36
Re: оплата картой. вопросы, пожелания, баги
Сообщение
Audim » 22 сен 2019, 23:20
В kkmserver могут попасть только те изменения которые есть во всех устройствах.
1. Хеш карты есть только в сбере и только в некоторых операциях.
2. «auth_answer12» есть только в новом ПО сбербанка, которое есть далеко не у каждого.
Поэтому этого делать пока не будем.
ГЛАВА 1. Нежданные гости
Все началось в то злополучное утро, когда Project Manager сообщил, что сроки реализации проекта должны быть быстро и решительно сокращены на месяц. Точнее говоря проект должен быть готов через 4 дня. Нет, наш PO не зверь, и ничуть не похож на сову (разве что чуть-чуть на ворона), просто так сложилось. Ну раз надо, так надо, тем более что команде (а я являюсь ведущим разработчиком команды «С») было обещано что-то вкусное. На часах и календаре был четверг, 11:00, к понедельнику проект должен быть готов.
Для начала, чем мы вообще занимаемся. Мы занимаемся автоматизацией кинотеатров — автоматическим и дистанционным управлением оборудования, автоматизацией кинопоказа, мониторингом, видеопанелями, а теперь еще и терминалами продажи билетов и бара. Конкретно последнему пункту и посвящена данная статья.
Сам проект, который нужно было завершить до понедельника представляет из себя некую прослойку между основным сервером на Scala и железным терминалом оплаты VeriFone VX 820 (на самом деле терминалов больше, но для примера возьмем только его). Понятно, что просто так проводить через него транзакции нам никто не даст, поэтому используются утилиты и библиотеки Сбербанка/Arcus и UCS. Таким образом схема работы в итоге должна быть следующей:
Внешне он выглядит вот так:
Также данная подсистема должна использоваться на стандартных кассовых машинах которые все видели в любом кинотеатре у кассиров.
Согласно внутренней традиции каждый проект нашей команды мы называем именем из древнескандинавской мифологии, для данной подсистемы было выбрано имя Gefjon — Имя богини плодородия и изобилия (неплохое название для сервера оплаты, разве нет? Ну и легенда о быках отрезающих остров идеально ложится на текущую архитектуру, отрезая работу с оборудованием от высокоуровневого языка).
Формат входящих и выходящих сообщений — HTTP сервер с JSON нагрузкой. Это оптимальный компромисс между Scala, которой сложно опуститься до вычленения бинарных данных из socket-потоков и C, которому трудно подняться до передачи объектов через сеть. Возможных операций, которыми необходимо оперировать не так много: оплата, отмена, возврат, разные типы отчетов, открытие сервисного меню и ping. С виду ничего сложного. Так как банковских систем целых три (а в последствии ожидается пополнение семейства), то было решено разделить проект на компоненты:
Зеленым покрашены блоки, которые нам нужно было сделать, синим — те, которые нельзя поменять и которые предоставляет банк.
Так как основные проблемы возникли только с ПО от Сбербанка, то статья в целом будет посвящена подводным камням, которые мы пересчитали своей ладьей.
ГЛАВА 2. Баранье жаркое
(фото: heaclub.ru)
… выглядит примерно так. Примерно так же выглядел код того прототипа, который был написан несколько месяцев назад для того, чтобы дать понять всем вышестоящим людям, что мы можем работать с банковскими приложениями.
char buf[BUF_KB * 2];
char * null;
char * grep;
#ifdef _WIN32_WINNT
char * ptr;
null = "nul";
grep = "findstr";
#else
null = "/dev/null";
grep = "grep";
#endif
sprintf(buf, "%s %"PRIi32"= %sops.ini >%s 2>%s || "
"echo %"PRIi32"=9,6,PINPAD_TEST >> %sops.ini",
grep,
TERM_ARCUS_TEST_PINPAD,
TERM_PATH,
null,
null,
TERM_ARCUS_TEST_PINPAD,
TERM_PATH);
#ifdef _WIN32_WINNT
ptr = buf;
while (*ptr)
{
if (*ptr == '/')
*ptr = '';
ptr++;
}
#endif
Понятное дело, что для Production варианта это не годилось, поэтому нужно было по сути написать все заново.
Каждый банк, который предоставляет библиотеки для работы с терминалом обычно предоставляет два варианта подключения: через функции библиотеки (.so/.dll) или посредством готовой утилиты, которой всего-то нужно передать два значения — тип операции и сумму (когда нужно). В теории ничего сложного, всего-то
char buffer[100];
sprintf(buffer, "%d %d", atoi(argv[1]), atoi(argv[2]));
system(buffer);
Результат операции при этом будет помещен в файл «e», а слип-чек — в файл «p». Просто отправим эти файлы на stdout с преобразованием в JSON, чтобы HTTP-сервер просто отправил их наверх как payload без размышлений о том, что там.
Но эта статья не вышла бы, если бы все было так просто.
ГЛАВА 4. Через гору и под горой
Первоначальный вариант реализации представлял из себя простой вызов приложения — HTTP-сервер вызывал нужную обертку с унифицированными параметрами (например X-отчет это 4), а утилита например gfj_pilot запускала sb_pilot с параметром, который требовался для это операции (например X-отчет это 9). Затем утилита-обертка читала из е-файла результат операции (например 2000 — «отказ оплаты, повторите операцию») и преобразовывала в универсальную ошибку (например 3 — «Ошибка чтения или процессинга карты/счета, повторите операцию»). После этого файл «p» преобразовывался в base64 для избежания ломания форматирования и отсылался вместе с результатом в stdout в виде JSON.
Все это прекрасно работало, пока в один прекрасный момент нам не сообщили, что…
… это не работает под Windows.
Ну точнее у самого Windows проблем нет (кроме того, что слип генерируется в кодировке Cp-1251, а консоль работает в CP866). Просто не генерировался «е» файл. Запустили банковскую утилиту напрямую:
C:bankssbersb_pilot>dir
Том в устройстве C не имеет метки.
Серийный номер тома: B401-6B9D
Содержимое папки C:bankssbersb_pilot
04.02.2019 12:28 <DIR> .
04.02.2019 12:28 <DIR> ..
31.01.2019 17:12 10 832 F12X24.BIN
31.01.2019 17:12 128 000 gate.dll
31.01.2019 17:12 72 192 loadparm.exe
31.01.2019 17:12 36 204 OPT0.R
31.01.2019 17:12 20 716 OPT1.R
31.01.2019 17:12 1 806 OPT3.R
31.01.2019 17:12 388 608 pilot_nt.dll
31.01.2019 23:06 463 pinpad.ini
31.01.2019 17:12 91 136 posScheduler.exe
31.01.2019 17:12 418 printers.ini
01.02.2019 16:51 91 646 sbkernel1902.log
31.01.2019 17:12 653 312 sbrf.dll
31.01.2019 17:12 840 192 SBRFCOM.dll
31.01.2019 17:12 3 142 656 sb_kernel.dll
01.02.2019 16:51 9 SESS.D
01.02.2019 16:51 715 SPLC.D
31.01.2019 17:12 72 192 upwin.exe
20 файлов 5 659 718 байт
2 папок 37 567 004 672 байт свободно
# Отправляем команду оплаты (1) на 10 рублей (1000 копеек)
C:bankssbersb_pilot>loadparm.exe 1 1000
C:bankssbersb_pilot>dir
Том в устройстве C не имеет метки.
Серийный номер тома: B401-6B9D
Содержимое папки C:bankssbersb_pilot
04.02.2019 12:28 <DIR> .
04.02.2019 12:28 <DIR> ..
04.02.2019 12:28 216 commerr.log
31.01.2019 17:12 10 832 F12X24.BIN
31.01.2019 17:12 128 000 gate.dll
31.01.2019 17:12 72 192 loadparm.exe
31.01.2019 17:12 36 204 OPT0.R
31.01.2019 17:12 20 716 OPT1.R
31.01.2019 17:12 1 806 OPT3.R
01.02.2019 18:51 1 349 p
31.01.2019 17:12 388 608 pilot_nt.dll
31.01.2019 23:06 463 pinpad.ini
31.01.2019 17:12 91 136 posScheduler.exe
31.01.2019 17:12 418 printers.ini
04.02.2019 12:28 92 218 sbkernel1902.log
31.01.2019 17:12 653 312 sbrf.dll
31.01.2019 17:12 840 192 SBRFCOM.dll
31.01.2019 17:12 3 142 656 sb_kernel.dll
01.02.2019 16:51 9 SESS.D
01.02.2019 16:51 715 SPLC.D
31.01.2019 17:12 72 192 upwin.exe
19 файлов 5 659 029 байт
2 папок 37 567 008 768 байт свободно
C:bankssbersb_pilot>
Действительно, «e»-файла нет. Камень в сторону Сбербанка #1. Пишем письмо в сбербанк (впоследствии получили ответ, что так и должно быть), а так как времени на переписку нет и надо запускаться вот прям уже, ищем обходные пути получения результата.
04.02 12:28:55 SBKRNL: Failed to open device .COM1, err 2
04.02 12:28:56 SBKRNL: Failed to open device .COM1, err 2
04.02 12:28:56 SBKRNL: Result = 0
04.02 12:28:56 GATE: unlock:'00000054'
04.02 12:28:56 GATE: lock:'00000054' 'UPOSWINMUTEX2'
04.02 12:28:56 GATE: unlock:'00000054'
04.02 12:28:56 LOADPARM: Unloading GATE.DLL...
04.02 12:28:56 GATE: SB_KERNEL.DLL is unloaded
04.02 12:28:56 LOADPARM: GATE.DLL unloaded
Ага, результат можно получить из лога sbkernelГГММ.log. Неудобно, плюс нет хеша карты чтобы впоследствии прикрутить «Спасибо» от сбербанка. Не годится.
Придется подключаться к библиотеке pilot_nt.dll и импортировать из нее функции. Все бы ничего, но… Камень в сторону Сбербанка #2: под Linux такой библиотеки нет, придется создавать два разных приложения под разные платформы — для linux вызывать утилиту sb_pilot (аналог loadparm.exe, кстати камень #3 за разное название утилиты под разными платформами), под windows подключаться к библиотеке pilot_nt.dll.
ГЛАВА 5. Загадки в темноте
На часах 19:00.
Сбербанк — компания крупная, большинство программных решений производятся по ГОСТам и формальным документам. Залезаем в каталог, который поставляет Сбербанк вместе с библиотеками:
Sberbank$ ls -l Docs
итого 30160
drwx------ 2 alex alex 4096 янв 17 19:31 FAQ
-rw-rw-r-- 1 alex alex 3398465 май 9 2018 Базовая настройка UPOS для автономного решения (АР).docx
-rw-rw-r-- 1 alex alex 1182078 май 9 2018 Базовая настройка UPOS для ИКР.docx
-rw-rw-r-- 1 alex alex 853504 май 9 2018 Версии и изменения.doc
drwx------ 3 alex alex 4096 янв 31 17:11 Для разработчиков ПО ККМ
-rw-rw-r-- 1 alex alex 5280787 май 9 2018 Загрузка ПО в POS-терминалы.docx
-rw-rw-r-- 1 alex alex 1149640 май 9 2018 Коды ошибок.docx
drwx------ 2 alex alex 4096 май 28 2018 Настройка UPOS
drwx------ 2 alex alex 4096 май 28 2018 Настройка кассовых программ
-rw-rw-r-- 1 alex alex 3451601 май 9 2018 Определение схемы автономного решения (АР).docx
-rw-rw-r-- 1 alex alex 1956196 май 9 2018 Определение схемы ИКР.docx
-rw-rw-r-- 1 alex alex 1043161 май 9 2018 Памятка по настройке функции ОПЛАТА авиабилетов (Аэрофлот)_(ИКР).docx
-rw-rw-r-- 1 alex alex 4348157 май 9 2018 Параметры POS-терминалов.docx
-rw-rw-r-- 1 alex alex 3970267 май 9 2018 Подключение отдельных функций.docx
drwx------ 3 alex alex 4096 май 28 2018 Руководства пользователя
-rw-rw-r-- 1 alex alex 2644702 май 9 2018 Руководство по настройке POS-терминалов.docx
drwx------ 2 alex alex 4096 май 28 2018 Сопроводительная документация
-rw-rw-r-- 1 alex alex 1558211 май 9 2018 Схема содержания документов.png
Куча добра, однако нас интересует только каталог для разработчиков:
Sberbank$ ls -l Docs/Для разработчиков ПО ККМ/
итого 8704
-rw-rw-r-- 1 alex alex 47105 май 9 2018 1C.docx
-rw-rw-r-- 1 alex alex 1824 май 9 2018 cardtype.h
-rw-rw-r-- 1 alex alex 2590378 май 9 2018 cr_ttk_protocol_ru.rtf
-rw-rw-r-- 1 alex alex 208 май 9 2018 deprtmnt.h
-rw-rw-r-- 1 alex alex 16681 май 9 2018 errors.h
drwx------ 6 alex alex 4096 май 28 2018 examples
-rw-rw-r-- 1 alex alex 58575 май 9 2018 gate.h
-rw-rw-r-- 1 alex alex 4218 май 9 2018 paramsln.h
-rw-rw-r-- 1 alex alex 61693 май 9 2018 pilot_nt.h
-rw-rw-r-- 1 alex alex 28160 май 9 2018 ReadTrack2.doc
-rw-rw-r-- 1 alex alex 7417 май 9 2018 sbkernel.h
-rw-rw-r-- 1 alex alex 144896 май 9 2018 sb_pilot.doc
-rw-rw-r-- 1 alex alex 3525323 май 9 2018 Интеграция с ККМ через ole-объект sbrf.dll.rtf
-rw-rw-r-- 1 alex alex 46683 май 9 2018 Интеграция с ККМ через библиотеку gate.dll.chi
-rw-rw-r-- 1 alex alex 255414 май 9 2018 Интеграция с ККМ через библиотеку gate.dll.chm
-rw-rw-r-- 1 alex alex 814653 май 9 2018 Интеграция с ККМ через библиотеку gate.dll.pdf
-rw-rw-r-- 1 alex alex 41618 май 9 2018 Интеграция с ККМ через библиотеку pilot_nt.chi
-rw-rw-r-- 1 alex alex 241716 май 9 2018 Интеграция с ККМ через библиотеку pilot_nt.chm
-rw-rw-r-- 1 alex alex 968753 май 9 2018 Интеграция с ККМ через библиотеку pilot_nt.pdf
-rw-rw-r-- 1 alex alex 81 май 9 2018 Подтипы пинпадов.txt
Много макулатуры, на всякий случай еще раз перечитаем pilot_nt, из которой узнаем следующее:
Таблица 1. Поддерживаемые sb_pilot ОС.
Оказывается утилита под windows должна все-таки называться sb_pilot. Что ж, камень в сторону Сбербанка #4 за несоответствие собственной документации.
Передача результатов работы программы.
По окончании работы программы формируются два текстовых файла — файл обмена и файл чека.
Первый имеет имя e и предназначен для передачи вызывающей программе параметров совершенной операции. Первая строка в этом файле содержит код результата операции, и через запятую – поясняющее текстовой сообщение. Код 0 означает успешное проведение платежа, любое другое значение – отказ или невозможность проведения платежа.
Лениво кидаем еще один камень и начинаем изучать документацию на подключение библиотеки напрямую.
Порядок вызова функций библиотеки
При оплате (возврате) покупки по банковской карте кассовая программа должна вызвать из библиотеки Сбербанка функцию card_authorize(), заполнив поля TType и Amount и указав нулевые значения в остальных полях. По окончании работы функции необходимо проанализировать поле RCode. Если в нем содержится значение «0» или «00», авторизация считается успешно выполненной, в противном случае отклоненной. Кроме этого, необходимо проверить значение поля Check.
Если оно не равно NULL, его необходимо отправить на печать (в нефискальном режиме) и затем
удалить вызовом функции GlobalFree(). При закрытии смены кассовая программа должна вызвать из библиотеки Сбербанка функцию close_day(), заполнив поле TType = 7 и указав нулевые значения в остальных полях. По окончании работы функции необходимо проверить значение поля Check.Если поле Check не равно NULL, его необходимо отправить на печать (в нефискальном режиме) и после этого удалить вызовом функции GlobaFree().
Звучит несложно, даже хэдер файл предоставлен. Что ж, подключаем его, компилируем и…
$ cat main.c && i686-w64-mingw32-gcc main.c -o main.a
#include "pilot_nt.h"
int main(void) {
return 0;
}
In file included from main.c:1:0:
pilot_nt.h:525:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
^
pilot_nt.h:544:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
^
pilot_nt.h:567:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
^
pilot_nt.h:590:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
^
pilot_nt.h:627:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
^
pilot_nt.h:668:3: error: unknown type name ‘auth_answer’
auth_answer ans; /**< [in, out] �������� ��������� ��������. ��. ::auth_answer */
Эммм… Что? Открываем pilot_nt.h:
#ifdef __cplusplus
extern "C"{
#endif
<...>
/**
* Основные параметры операции
* Структура, используемая для описания операции и получения результатов выполнения операции.
*/
struct auth_answer{
int TType; /**< [in] тип транзакции. см ::OpetationTypes */
unsigned long Amount; /**< [in] сумма в копейках */
char RCode[3]; /**< [out] код результата авторизации */
char AMessage[16]; /**< [out] текст результата авторизации */
int CType; /**< [in,out] тип карты */
char* Check; /**< [out] образ чека, должен освобождаться GlobalFree в вызывающей программе */
};
<...>
struct auth_answer7{
auth_answer auth_answ; /**< [in, out] Основные параметры операции. См. ::auth_answer */ <---- THIS
char AuthCode[MAX_AUTHCODE]; /**< [out] Код авторизации. 7 байт. */
char CardID [CARD_ID_LEN]; /**< [out] Идентификатор карты. 25 байт. */
int SberOwnCard; /**< [out] Флаг принадлежности карты Сбербанку */
};
Сразу, не глядя камень за комментарии на русском в кодировке CP1251.
Ну и самый серьезный камень: дорогие разработчики на С++. Если вы пишете extern «C» — это означает, что код внутри блока должен компилироваться С-компилятором. Если вы НЕ сделали `typedef` структуры, то при каждом ее упоминании в качестве указания типа необходимо писать ключевое слово `struct`.
Патчим файл для разработчиков, подставляя везде, где нужно слово `struct`. Линкуемся с библиотекой `pilot_nt.dll`. Победа, не? Запускаем наше приложение.
ГЛАВА 6. Из огня да в полымя
Ну вы поняли, да? Приложение просто падает. Сразу, до main. Медитируем, добавляем NIH-аналог функции errno для windows: GetLastError (камень #3 в сторону Microsoft, первые два за кодировки).
C:bankssberWIN>sb_pilot.exe 1 1000
E: !g_sblibrary (0xc0000096)
0xc0000096? А разве GetLastError не должна возвращать адекватный код ошибки?
For a complete list of error codes provided by the operating system, see System Error Codes.
Ага, открываем статью по ссылке:
The following topics provide lists of system error codes. These values are defined in the WinError.h header file.
- System Error Codes (0-499) (0x0-0x1f3)
- System Error Codes (500-999) (0x1f4-0x3e7)
- System Error Codes (1000-1299) (0x3e8-0x513)
- System Error Codes (1300-1699) (0x514-0x6a3)
- System Error Codes (1700-3999) (0x6a4-0xf9f)
- System Error Codes (4000-5999) (0xfa0-0x176f)
- System Error Codes (6000-8199) (0x1770-0x2007)
- System Error Codes (8200-8999) (0x2008-0x2327)
- System Error Codes (9000-11999) (0x2328-0x2edf)
- System Error Codes (12000-15999) (0x2ee0-0x3e7f)
Отлично, мы получили незадокументированную ошибку, кидаем камень и открываем всезнающий google:
- forum.vingrad.ru/forum/topic-346194/kw-dll-loadlibrary-%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0.html
- bbs.csdn.net/topics/80078275
- forums.codeguru.com/showthread.php?179566-0xC0000096-Privileged-Instruction
- www.unknowncheats.me/forum/general-programming-and-reversing/97763-privileged-instruction-error.html
- cboard.cprogramming.com/windows-programming/146130-prallel-port-programming.html
- computer-programming-forum.com/82-mfc/dc2481c0ecead2f2.htm
Суть ошибки сводится к тому, что какая-то подпрограмма использует одну из инструкций
- _inp()
- _inpw()
- _inpd()
- _outp()
- _outpw()
- _outpd()
Использование которых запрещено под NT-ядрами, так как они пытаются работать с параллельным портом напрямую. Судя по всему этот код вызывается в инициализаторе библиотеки, т.е. библиотека при старте хочет опросить порты на наличие устройств, но NT-ядро требует работы через драйвер.
Безвыходная ситуация?
ГЛАВА 8. Пауки и мухи
22:00. На всякий случай возникает идея проверить, что это не из-за того, что мы используем кросскомпиляцию с Linux с помощью mingw. Параллельно понимаем, что Сбербанк поставляет только 32хбитное приложение, поэтому слинковаться с 64хбитным приложением не выйдет, ну ладно, но все равно запустим камень в сторону Сбербанка за 32-only версию в 2019м году.
Дано: установленная в virtualbox windows 7;
Необходимо: установить Visual Studio и скопилировать MVP.
Заходим на сайт Microsoft, качаем Visual Studio 2017. Берем лицензию сообщества, так как мы берем ее для проверки, для бизнеса лицензия будет куплена, если взлетит.
Скачиваем несколько сотен мегабайт и…
Видим, что наша версия ОС (Windows 7) не поддерживается.
Ок, идем на всякие непотребные сайты, ищем Visual Studio 2008, скачиваем несколько сотен мегабайт заново и…
Получаем iso файл.
Ладно, попытаемся установить Daemon Tools 10 (так как это та версия, которую предлагает сайт), чтобы вставить этот виртуальный диск.
Запускаем скачанный бинарь. Осечка, требуется .NET Framework 4.5, скачиваем, ставим.
Запускаем скачанный бинарь, установка началась, загрузчик говорит что ему нужна 4.5.2, скачиваем, ставим.
Запускаем скачанный бинарь, установка началась, загрузчик говорит что никуда не поедет, пока мы не поставим обновление безопасности KB3033929, скачиваем, ставим.
И получаем оплеуху от Microsoft в виде сообщения:
Яростно кидаем очень острый камень в сторону Microsoft, качаем с торрентов старый Daemon Tools, успешно распаковываем Visual Studio, устанавливаем, наконец-таки (00:00) компилируем MVP, получаем такую же ошибку. Что ж, хорошая была версия, но не срослось.
ГЛАВА 11. На пороге
Пишем второму программисту, который в этот момент в срочном порядке допиливает сервер и процедуру регистрации. Он вспоминает, есть гит-репозиторий, который на NT-подключает эту библиотеку и работает с ней.
Подозрительно глядя на репозиторий скачиваем его, компилируем и запускаем. Работает.
Еще более подозрительно смотрим на код. Код идентичен, разве что написан на C++ а не С.
Понимаем, что язык тут не причем. Смотрим библиотеки сбербанка, которые тянет за собой код.
Видим последний коммит.
И вот тут нас поджидает очередной сюрприз.
Оказывается, что версии библиотеки Сбербанка могут быть разными. Последний коммит увеличивает версию с 23 до 27й. Копируем себе на тестовый компьютер версию из гита — РАБОТАЕТ!
Проверяем все архивы, которые присылал Сбербанк, сравниваем версии и строим табличку:
Отлично, вот теперь заживем. На тех системах где стоит 26 обновим до 29 или 27 и все взлетит.
Кидаем камень #9 в сторону Сбербанка за то, что сломали поведение на NT системах.
ГЛАВА 12. Что ждало их внутри
Не хватает «е» файла? Не беда, берем патченные заголовочники, динамически линкуемся с библиотекой чтобы корректно вернуть ошибку, пишем код, который просто запишет код возврата из функции в файл «е», назовем бинарь sb_pilot.exe и…
Работать-то оно работает.
Вот только на версии для системы «Криптера» не создается «р» файл.
Грустно смотрим на капающую по костяшкам кровь и на вмятину в стене.
Для начала, что такое система «Криптера».
Cryptera — это датская компания, выпускающая шифрующее оборудование/оборудование безопасности/ключи и пр. Думаю, что вы все видели один из экземпляров их продукции:
Так вот Сбербанк использует их криптомодуль для пинпадов и выпускает специальную «патченную» библиотеку, в которой, как мы уже поняли, не создается файл «р». Пишем по этому поводу в Сбербанк и через несколько дней получим ответ, что «под оригинальной системой файл „р“ будет создаваться, а под патченной на Криптеру — нет». Выдадим им камень # 10 через несколько дней, ведь работать нужно уже сейчас.
К счастью, или к несчастью, но функции, которые мы используем для проведения операций возвращают уже упомянутую структуру:
struct auth_answer{
int TType; /**< [in] тип транзакции. см ::OpetationTypes */
unsigned long Amount; /**< [in] сумма в копейках */
char RCode[3]; /**< [out] код результата авторизации */
char AMessage[16]; /**< [out] текст результата авторизации */
int CType; /**< [in,out] тип карты */
char* Check; /**< [out] образ чека, должен освобождаться GlobalFree в вызывающей программе */
};
О, отлично, чек уже есть, можем сами сохранить его в файл или сразу вывести в JSON…
printf("%sn", answer.Check);
И получаем падение приложение из-за обращения по невалидному указателю.
ГЛАВА 14. Огонь и вода
4:00. Выполняем Сету Бандха Сарвангасану чтобы успокоиться, и внимательно читаем мануал:
[out] образ чека, должен освобождаться GlobalFree в вызывающей программе
Что это нам дает? Очень многое. Во-первых то, что раз указатель требует очистки с помощью GlobalFree то его саллоцировали с помощью GlobalAlloc. Следовательно она выдает не указатель на память, как было в 16битной версии, а номер объекта с семантически объявленым типом HGLOBAL, который можно скормить в функции GlobalSize чтобы получить размер выделенного блока и GlobalLock чтобы заблокировать кусок памяти, но получить оригинальный указатель. Кстати, камень #6 в сторону Microsoft за NIH malloc и free, которые есть в стандартной библиотеке.
printf("%sn", GlobalLock(answer.Check));
И все равно получаем падение. Окей, а что показывае GlobalSize? Ноль? Как-то странно.
Проверяем другие функции, которые тоже должны отдавать слип — видим ту же картину.
В голову приходит разве что самостоятельно сгенерировать слип по тем данным, которые может выдать самая крутая функция оплаты (да, у Сбербанка функции именуются card_authorize2..14, камень кидать за это не буду):
struct auth_answer14 {
auth_answer ans; /**< [in, out] Основные параметры операции. См. ::auth_answer */
char AuthCode[MAX_AUTHCODE]; /**< [out] Код авторизации. 7 байт. */
char CardID[CARD_ID_LEN]; /**< [out] Идентификатор карты. 25 байт. Для международных карт все символы, кроме первых 6 и последних 4, будут заменены символами ‘*’.*/
int ErrorCode; /**< [out] Код ошибки. */
char TransDate[TRANSDATE_LEN]; /**< [out] Дата и время операции */
int TransNumber; /**< [out] Номер операции за опер. день, см. номер на чеке */
int SberOwnCard; /**< [out] Флаг принадлежности карты Сбербанку */
char Hash[CARD_HASH_LEN]; /**< [in, out] хеш SHA1 от номера карты, в формате ASCII с нулевым байтом в конце. 40 байт.*/
char Track3[CARD_TRACK3_LEN]; /**< [out] третья дорожка карты*/
DWORD RequestID; /**< [in,out] Уникальный номер операции. Только PCI DSS решения.*/
DWORD Department; /**< [in] Порядковый номер отдела от 0 до 14-ти, включительно.
При установке номера отдела в 0xFFFFFFFF, номер отдела
будет запрошен через интерфейс терминала после вставки карты.
Если номер отдела будет указан вне настроенного диапазона,
то терминал вернет код ошибки 4191. */
char RRN[MAX_REFNUM]; /**< [in,out] Номер ссылки операции, присвоенный хостом. Используется
для операций возврат, множественной авторизации и завершения расчета.
Содержит уникальный 12-значный ссылочный номер.
При предавторизации это поле является выходным
(его заполняет библиотека pilot_nt.dll), а при
завершении расчета – входным (значение должно
быть заполнено вызывающей программой; оно должно
совпадать со значением, возвращенным при предавторизации).*/
DWORD CurrencyCode; /**< [in] Международный код валюты (810, 643, 840, 978 и т.д.) */
char CardEntryMode; /**< [out] Способ чтения карты ('D'-магн.полоса, 'M'-ручной ввод, 'C'-чип, 'E'-бесконтакт EMV, 'R'-бесконтакт magstripe, 'F'-fallback)*/
char CardName[MAX_CARD_NAME_LEN]; /**< [out] Название типа карты */
char AID[MAX_AID_ASCII_LEN]; /**< [out] Application ID чиповой карты (уже в виде ASCIIZ-строки)*/
char FullErrorText[MAX_FULL_ERROR_TEXT]; /**< [out] Полный текст сообщения об ошибке*/
DWORD GoodsPrice; /**< [in] Цена за единицу товара, коп (34.99->3499)*/
DWORD GoodsVolume; /**< [in] Количество товара, в тыс. долях (30.234->30234)*/
char GoodsCode[MAX_GOODS_CODE+1]; /**< [in] Код товара во внешней системе.*/
char GoodsName[MAX_GOODS_NAME]; /**< [in] Наименование товара во внешней системе. Внимание! В структуре auth_answer14 название товара на один символ короче чем в gate.dll TGoodsData. Зафиксируем эту ошибку как стандарт*/
};
/** @brief Выполнение операций по картам
* @param[in] track2 данные дорожки карты с магнитной полосой. Если NULL, то будет предложено считать карту.
* @param[in,out] auth_answer см. ::auth_answer14
* @param[in,out] payinfo Информация для платежной системы
* @return int Код ошибки.
*/
PILOT_NT_API int card_authorize14(
char *track2,
struct auth_answer14 *auth_answer,
struct payment_info_item *payinfo
);
Пробуем подбирать поля… Выясняем, что от счастья нас отделяло всего одно — Фамилия и Имя носителя карты. Без них слип не считается законным:
Реквизиты: идентификатор банкомата, электронного терминала или другого технического средства, предназначенного для совершения операций с использованием платежных карт; вид операции; дата совершения операции; сумма операции; валюта операции; сумма комиссионного вознаграждения код авторизации; реквизиты платежной карты.
Жаль, но сформировать законный слип с теми данными, что у нас есть не получится.
Покопаемся в документации еще раз.
Находим пример, который Сбербанк поставляет в каталоге «examples»
std::cout << "Authorization completion finished with code '" << result << "'" << std::endl;
std::ofstream file(CHEQUE_FILENAME);
file << argument.auth_answ.Check;
file.close();
if (argument.auth_answ.Check) {
std::cout << "Cheque saved to file " << CHEQUE_FILENAME << std::endl;
//GlobaFree(argument.auth_answ.Check);
}
Просто выводится текст, находящийся по указателю. Но ведь мы уже убедились, что так оно не работает… На всякий случай скомпилируем их пример и запустим. Вылет на строчке `file << argument.auth_answ.Check;`, что ж, Сбербанк, держите камень #11 за неработающие примеры.
7:00. Уже можно писать разработчикам другой обертки, которая несколько лет назад была написана на Delphi. Получаем ответ, что у них все работает. Ищем основу их обертки и находим на github:
TAuthAnswer = packed record
TType: integer;
Amount: UINT; // IN Сумма операции в копейках
Rcode: array [0 .. 2] of AnsiChar;
AMessage: array [0 .. 15] of AnsiChar;
CType: integer;
Check: PAnsiChar;
end;
Result := Func(nil, @FAuthAnswer);
FLastError := Result;
FCheque := PAnsiChar(FAuthAnswer.Check);
Простое преобразование типа в указатель без каких-либо вызовов функций.
Начинаем подозревать злых духов.
ГЛАВА 17. Гроза разразилась
Люди начинают возвращаться в офис, сочувственно кивая головой. PO выглядит не очень веселым узнав последние новости.
Тут вспоминается одна деталь. Когда мы выводили поля структуры #14 чтобы увидеть их значения то один байт каждой строки был отрезан. С одной стороны это, с другой
Внимание! В структуре auth_answer14 название товара на один символ короче чем в gate.dll TGoodsData. Зафиксируем эту ошибку как стандарт
Может это все же связано с…
Страшная догадка осеняет мозг словно молния. Объявим структуру как
typedef struct __attribute__((packed)) {
int TType; /**< [in] тип транзакции. см ::OpetationTypes */
unsigned long Amount; /**< [in] сумма в копейках */
char RCode[3]; /**< [out] код результата авторизации */
char AMessage[16]; /**< [out] текст результата авторизации */
int CType; /**< [in,out] тип карты */
char* Check; /**< [out] образ чека, должен освобождаться GlobalFree в вызывающей программе */
};
И…
Ничего не меняется.
Все так же Size = 0, Все так же Lock = NULL.
Боль.
Тлен.
Невольно ищешь глазами удобную балку на потолке, такую, чтобы выдержала вес. После стольких нон-стоп часов кодинга и изучения документации перед глазами плывут стройные ряды байт. А что если вывести байты, которые вообще возвращаются?
u32 i;
for (i = 0; i < sizeof(answ); i++) {
printf("%02x ", *((u8 *)&answ + i));
}
printf("n");
C:bankssbersb_pilot>sb_pilot.exe 1 1000
01 00 00 00 e8 03 00 00 30 00 00 ce e4 ee e1 f0 e5 ed ee 00 00 00 00 00 00 00 00 02 00 00 00 f8 6c 7a 00 00
`30 00 00 ce` — а это значит, что Сбербанк все же использует Packed структуры. Вот только в хэдерах об этом нет ни слова. Поэтому не работают примеры, поэтому не получается получить указатель на текст в конце — ведь он битый из-за сдвига на 1 байт. Огромный и колючий камень в сторону Сбербанка!
И тут в глаза бросился один мааааленький нюанс. 4 + 4 + 3 + 16 + 4 + 4 = 35. А тут 36 байт, Обеликс.
Раз тут 36 байт, значит компилятор все еще выравнивает структуру. Значит между RCode и AMessage все еще вставлен дополнительный байт. Но почему? Ведь мы указали `__packed__`!
ГЛАВА 18. Обратный путь
Причины того, что выравнивание все еще включено появились в 2012м году: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52991. Починен баг только в GCC 8 (камень за 6 лет забагованности!), обновиться на который пока нет возможности. К счастью существует workaround:
-mno-ms-bitfields
Не будем сейчас разбирать механизм работы этого флага, просто передадим его компилятору:
Слип! Родненький! Я по тебе скучал, даже не буду ругаться из-за кракозябр, камень за это я уже кидал.
И скормим, наконец, Майкрософт камень, за то, что GlobalSize/Lock выдают нули на невалидные указатели.
ГЛАВА 19. Последняя глава
Чтобы максимально снизить количество ifdef’ов для прослойки для sb_pilot мы написали отдельное приложение, которое полностью имитирует linux-версию sb_pilot. Таким образом оставив код прослойки #1 прежним, оставив лишь одно условие:
#if defined(BXI_OS_GLX)
#define GFJ_PILOT_EXECUTABLE "./sb_pilot"
#elif defined(BXI_OS_WIN)
#define GFJ_PILOT_EXECUTABLE "./sb_pilot.exe"
#endif
Итоги сражения:
- Сбербанк: 12 камней
- Майкрософт: 7 камней
- GCC: 1 камень
Ачивка-воспоминание на нашу командную доску:
12
Эта версия не поддерживает режим РС-3
Обратиться к персоналу Сбербанка, который устанавливал терминал.
36
В пинпаде нет ключа в ячейке 9
Обратиться к персоналу Сбербанка, который устанавливал терминал.
99
Пинпад не подключен
Проверить кабели, идущие к пинпаду. Если все на месте, обратиться к персоналу Сбербанка, который устанавливал терминал.
101
Операция не поддерживается.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
115
Библиотека занята другим процессом, требуется подождать его завершения.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
233
Пинпад не подключен
Нет связи с устройством.Если это внешнее устройство, проверьте, включено ли оно, подключен ли кабель связи.
238
Пинпад отключился
Обратиться к персоналу Сбербанка, который устанавливал терминал.
248
Динамическая память закончилась
Обратиться к персоналу Сбербанка, который устанавливал терминал.
249
На терминал передана команда не содержащая обязательные параметры
Обратиться к персоналу Сбербанка, который устанавливал терминал.
250
Внутренняя ошибка: операция отменена Internal error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
252
Внутренняя ошибка: операция не поддерживается Internal error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
253
Аппаратный сбой. Устройство ещё не готово. Hardware failure
Обратиться к персоналу Сбербанка, который устанавливал терминал.
361
Нарушился контакт с чипом карты.
Вытащить карту, протереть чип мягкой тканью и повторить операцию.
362
Карта не читается Card is not responding
Вытащить карту, протереть чип мягкой тканью и повторить операцию.
363
Карта не читается. Попробуйте магн.ридер
Вытащить карту, протереть чип мягкой тканью и повторить операцию.
364
Карта не читается
Вытащить карту, протереть чип мягкой тканью и повторить операцию.
402
Карта не была выдана. Изымите карту!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
403
ПИН неверен
Объяснить клиенту его ошибку и повторить операцию.
405
ПИН блокирован
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
500
Карта терминала старой версии!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
505
Карта терминала заполнена. Выполните инкассацию
Обратиться к персоналу Сбербанка, который устанавливал терминал.
507
Срок действия карты истек
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
514
На терминале установлена неверная дата
Обратиться к персоналу Сбербанка, который устанавливал терминал.
521
На карте недостаточно средств
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
561
Нарушен список операций на карте. Изымите карту!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
579
Карта блокирована. Изымите карту!
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
584
Сегодня по этой карте больше операций делать нельзя
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
585
Период обслуживания истек
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
586
Превышен лимит, разрешенный без связи с банком
Обратиться к персоналу Сбербанка, который устанавливал терминал.
705
Карта блокирована. Изымите карту!
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
706
Карта блокирована
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
708
ПИН зачисления заблокирован
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
709
ПИН списания заблокирован
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
2000
Операция прервана клиентом
Возможно, при вводе ПИНа клиент случайно нажал красную клавишу на пинпаде. Повторить операцию.
2002
Превышено время ожидания
Повторить операцию. На ввод ПИНа дается 1 минута.
2008
Для этой карты операция запрещена
Обратиться к персоналу Сбербанка, который устанавливал терминал.
3162
Срок действия карты СБЕРКАРТ окончен. Эта ошибка не должна вылезти в проме.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4073
Биосканер не подключен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4100
Нет связи с банком
Повторить операцию. Если за 2-3 попытки провести операцию не удается, обратиться к персоналу Сбербанка, который устанавливал терминал.
4101
На терминале нет стоп-листа. Выполните инкассацию
Выполнить инкассацию карты терминала и повторить операцию.
4102
На терминале нет таблицы комиссий
Выполнить инкассацию карты терминала и повторить операцию.
4104
Неверный ответ на команду
Выполнить инкассацию карты терминала и повторить операцию.
4106
ПИН неверен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4107
ПИН блокирован
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4108
Номер карты неверен
Повторить операцию. Если за 2-3 попытки провести операцию не удается, обратиться к персоналу Сбербанка, который устанавливал терминал.
4110
Карта терм.заполнена.Выполните инкассацию
Выполнить инкассацию карты терминала и повторить операцию.
4111
Стоп-лист устарел. Выполните инкассацию
Выполнить инкассацию карты терминала и повторить операцию.
4112
Неверный стоп-лист. Выполните инкассацию
Выполнить инкассацию карты терминала и повторить операцию.
4113
Превышен лимит операций за сутки
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4115
Для таких карт ручной ввод запрещен
Операция возможна только при условии, что карта будет считана через ридер, а не введена вручную с клавиатуры.
4116
Цифры не совпадают!
Операция возможна только при условии, что карта будет считана через ридер, а не введена вручную с клавиатуры.
4117
Клиент отказался от ввода ПИНа
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4118
Операции не найдены
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4119
Нет связи с банком
Повторить операцию. Если за 2-3 попытки провести операцию не удается, обратиться к персоналу Сбербанка, который устанавливал терминал.
4120
Пинпад не подключен или не загружены ключи
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4121
Терминал неисправен!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4122
Ошибка смены ключей!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4123
Сначала выполните сверку итогов
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4124
Не загружены ключи
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4125
На карте есть чип. Вставьте карту чипом
Вставить карту в чиповый ридер и продолжить операцию.
4128
Ошибка настройки терминала
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4130
Память заполнена. Сделайте сверку ито- гов или инкассацию.
Выполнить сверку итогов и повторить операцию.
4131
Пинпад был заменен. Выполните загрузку параметров
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4132
Операция отклонена картой Transaction declined by card
Повторить операцию. Если ошибка повторяется, отказать клиенту.
4133
Неверный код ответа по протоколу VISA2
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4134
Сначала выполните сверку итогов Totals required
Повторить операцию. Если ошибка повторяется, отказать клиенту.
4135
Неверно настроены отделы в терминале
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4136
Требуется более свежая версия прошивки в пинпаде
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4137
ПИНы не совпадают. Попробуйте еще раз.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4138
Карта отправителя и получателя не могут совпадать.
Повторить операцию и ввести номера карт правильно.
4139
Нет адреса для связи.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4148
Карта в стоп-листе!
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4149
На карте нет имени держателя
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4150
Превышен лимит операций
Выполнить операцию с установкой связи с банком.
4151
Срок действия карты истек
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4157
Превышена максимальная сумма операции.
Отказать клиенту. Предложить выполнить операцию на меньшую сумму.
4159
Валюта операции не поддерживается бесконтактным ридером
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4174
Файл не найден
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4175
Слишком большой файл
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4176
Неизвестная версия Vivopay
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4185
Неверная карта администратора
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4186
Ключ уже введен!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4187
Неверный номер карты
Повторить ввод номера карты.
4188
Неверный срок действия карты
Повторить ввод срока действия карты.
4189
Недопустимое значение!
Ввести допустимое значение изменяемого параметра.
4190
Карта не читается. Попробуйте магн.ридер
Используйте магнитный считыватель для чтения карты.
4203
Терминал не зарегистрирован
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4204
Внутренняя ошибка сервера
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4205
Ошибка связи с хостом
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4206
Нарушение протокола
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4207
Нарушение формата сообщений
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4208
Ошибка базы данных
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4209
Некорректные данные
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4210
Ошибка шифрования
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4211
Отсутствует ключ
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4213
Сервер PSDB слишком нагружен. Повторите позже.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4220
Не указан код региона для удаленной загрузки
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4221
Не удалось восстановить связь с ККМ после удаленной загрузки
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4222
Память заполнена. Необходимо отправить чеки на сервер
Отправьте чеки rnна сервер иrnповторите операцию
4300
От ККМ поступило недостаточно параметров
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4303
Мы принимаем только Visa
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4311
Операция не найдена
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4313
Номер карты не соответствует исходному
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4314
Это не карта СБЕРКАРТ
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4315
Разрешены только отмены в текущей смене
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4319
Сумма не должна превышать 42 млн.
Проведите операцию на меньшую сумму или уменьшите количество товара
4323
Номер карты не совпадает с исходным
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4325
Сумма не указана!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4326
Карта прочитана не полностью. Повторите считывание карты.
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4327
Нет товаров для отображения
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4328
Информация о товаре отсутствует или неполна.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4329
Справочник товаров переполнен. Выполните сверку.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4330
Товар не найден.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4334
Карта не считана. Либо цикл ожидания карты прерван нажатием клавиши ESC, либо истек таймаут.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4336
Валюта указана неверно.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4337
Из кассовой программы передан неверный тип карты.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4342
Ошибка: невозможно запустить диалоговое окно UPOS.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4351
Настроечные файлы *.tlv не найдены
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4355
Этот палец уже зарегистрирован в базе
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4358
Палец не опознан!
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4362
Пинпад временно заблокирован. Повторите операцию через 15 сек.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4363
Превышена сумма оригинальной операции
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4365
Режим электронного захвата подписи не поддерживается
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4366
Рассчитанная скидка меньше минимально допустимой.
Введенная или рассчитанная сумма скидки меньше минимально допустимой. Если скидка вводилась вручную — увеличьте сумму скидки, в противном случае обратитесь в подразделение банка, установившее терминал
4367
RKL: неверный формат запроса
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4368
RKL: не создана ключевая пара СА
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4369
RKL: не загружен сертификат хоста
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4370
RKL: не загружен публичный ключ СА
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4371
Текущая версия ОС не поддерживает RKL
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4372
RKL: хост CA дает некорректный ответ. Необходимо перезагрузить терминал
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4380
Штатная сверка итогов не выполнена.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4381
Неверный формат QR-кода
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4382
Количество товара не должно превышать 4 млн. 200 тыс. единиц
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4383
Не удалось открыть сканирующее устройство
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4384
Считаны не все данные
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4385
Неверный номер пользователя
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4388
Место закончилось. Передайте чеки в банк.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4389
Чек уже успешно передан
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4400
Возможно, карта преждевременно вынута
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4401
Позвоните в банк по т.(800)775-55-55 (495)544-45-46 (495)788-92-74
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4402
Позвоните в банк
Позвонить в службу авторизации Сбербанка и следовать указаниям оператора.
4403
Терминал заблокирован. Обратитесь в банк.
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4404
Изымите карту
Позвонить в службу авторизации Сбербанка и следовать указаниям оператора.
4405
Отказано
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4406
Общая ошибка
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4407
Изымите карту
Изъять карту и отказать клиенту в проведении операции.
4408
Отказано
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в любое отделение Сбербанка.
4410
Позвоните в Амекс по т. 8(800)2006203 или 8(495)6443054
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в любое отделение Сбербанка.
4411
Отказано
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в любое отделение Сбербанка.
4412
Транзакция неверна
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4413
Сумма неверна
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4414
Карта неверна
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в любое отделение Сбербанка.
4419
Повторите позже
Операция в данный момент невозможна. Повторить операцию через 10-15 минут.
4433
Изымите карту
Изъять карту и отказать клиенту в проведении операции.
4438
Изымите карту
Изъять карту и отказать клиенту в проведении операции.
4441
Изымите карту
Изъять карту и отказать клиенту в проведении операции.
4443
Изымите карту
Изъять карту и отказать клиенту в проведении операции.
4450
Отказано
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4451
Недостаточно средств
Отказать клиенту в проведении операции.
4454
Срок действия карты истек
Отказать клиенту в проведении операции.
4455
ПИН неверен
Объяснить клиенту его ошибку и повторить операцию.
4457
Транзакция не разрешена картой
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в любое отделение Сбербанка.
4458
Транзакция не разрешена терминалом
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4461
Исчерпан лимит
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4462
Карта ограничена
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4465
Исчерпан лимит
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4468
Повторите позже
Операция в данный момент невозможна. Повторить операцию через 10-15 минут.
4475
ПИН заблокирован
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
4476
Нет исходной операции
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4478
Счет неверен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4481
Повторите позже
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4482
Отказано
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4483
Ошибка обработки ПИНа
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4486
Ошибка обработки ПИНа
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4488
Ошибка обработки ПИНа
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4489
МАС-код неверен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4490
Неверная контрольная информация
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4491
Эмитент недоступен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4493
Транзакция запрещена
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4494
Повторная транзакция
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4495
Отказано
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4496
Ошибка системы
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4497
Повторите операцию позже
Операция в данный момент невозможна. Повторить операцию через 10-15 минут.
4498
МАС-код неверен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4499
Ошибка формата
Обратиться к персоналу Сбербанка, который устанавливал терминал.
4710
Такая карта не обслуживается
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5001
Отказ карты при выборе приложения Error application selection
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5002
Отказ карты. Некорректный ответ Chip error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5003
Отказ карты. Некорректный ответ Chip error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5015
Операция отменена клиентом
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5029
Мы принимаем только Visa
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5042
Ключ удаленной загрузки неверен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5044
Нужно позвонить в банк Call issuer
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5053
На карте неверные данные Data integrity error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5055
Карта отклонила операцию Transaction declined by card
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5063
Карта не ведет историю операций
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5075
Необходимо вставить карту в чиповый ридер
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5084
Введите пароль на телефоне
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5100
Подлинность данных не проверена
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5101
Ошибка проверки SDA Integrity check error
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5102
На карте нет нужных данных
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5103
Карта в стоп-листе
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5104
Ошибка проверки DDA Integrity check error
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5105
Ошибка проверки CDA Integrity check error
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5108
Неверная версия приложения EMV
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5109
Срок действия карты истек
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5110
Срок действия карты еще не настал
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5111
Для этой карты такая операция запрещена Operation is prohibited
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5112
Карта только что выдана
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5116
Личность клиента не проверена Cardholder verification error
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк по месту выдачи карты.
5117
Неизвестный код CVM Cardholder verification error
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5118
ПИН блокирован
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5119
Пин-пад неисправен
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5120
Клиент не ввел ПИН
Возможно, при вводе ПИНа клиент случайно нажал красную клавишу на пинпаде. Повторить операцию, объяснив клиенту, что без ввода ПИНа операция невозможна.
5124
Такая сумма требует связи с банком
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5125
Превышен нижний лимит карты
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5126
Превышен верхний лимит карты
Обратиться к персоналу Сбербанка, который устанавливал терминал.
5133
Операция отклонена картой Transaction declined by card
Операция невозможна. Отказать клиенту в проведении операции и посоветовать обратиться в банк.
Подробная таблица с кодами ошибок при обработке пластиковых карт терминалами считывания пластиковых карт установленных на кассах. Сборная солянка из официальных и не очень источников.
Информация собиралась с августа 2012 и где-то до начала 2015 года.
12 Ошибка возникает обычно в ДОС-версиях. Возможных причин две:1. В настройках указан неверный тип пинпада. Должно быть РС-2, а указано РС-3. 2. Если ошибка возникает неустойчиво, то скорее всего виноват СОМ-порт. Он или нестандартный, или неисправный. Попробовать перенести пинпад на другой порт, а лучше – на USB.
99 Нарушился контакт с пинпадом, либо невозможно открыть указанный СОМ-порт (он или отсутствует в системе, или захвачен другой программой).
361, 362, 363, 364 Нарушился контакт с чипом карты. Чип не читается. Попробовать вставить другую карту. Если ошибка возникает на всех картах – неисправен чиповый ридер пинпада.
403 Клиент ошибся при вводе ПИНа (СБЕРКАРТ)
405 ПИН клиента заблокирован (СБЕРКАРТ)
444, 507 Истек срок действия карты (СБЕРКАРТ)
518 На терминале установлена неверная дата
521 На карте недостаточно средств (СБЕРКАРТ)
572 Истек срок действия карты (СБЕРКАРТ)
574, 579 Карта заблокирована (СБЕРКАРТ)
584, 585 Истек период обслуживания карты (СБЕРКАРТ)
705, 706, 707 Карта заблокирована (СБЕРКАРТ)
708, 709 ПИН клиента заблокирован (СБЕРКАРТ)
1009 Ошибка модема. Если своя SIM-карта в терминале — проверьте баланс счета, если банка — звоните в техподдержку.
Комментарий пользователя trustno1 2000 Операция прервана нажатием клавиши ОТМЕНА. Другая возможная причина – не проведена предварительная сверка итогов, и на терминале еще нет сеансовых ключей.
2002 Клиент слишком долго вводит ПИН. Истек таймаут.
2004, 2005, 2006, 2007, 2405, 2406, 2407 Карта заблокирована (СБЕРКАРТ)
3001 Недостаточно средств для загрузки на карту (СБЕРКАРТ)
3002 По карте клиента числится прерванная загрузка средств (СБЕРКАРТ)
3019, 3020, 3021 На сервере проводятся регламентные работы (СБЕРКАРТ)
4100 Нет связи с банком при удаленной загрузке. Возможно, на терминале неверно задан параметр «Код региона и участника для удаленной загрузки».
4101, 4102 Карта терминала не проинкассирована
4103, 4104 Ошибка обмена с чипом карты
4108 Неправильно введен или прочитан номер карты (ошибка контрольного разряда)
4110, 4111, 4112 Требуется проинкассировать карту терминала (СБЕРКАРТ)
4113, 4114 Превышен лимит, допустимый без связи с банком (СБЕРКАРТ)
4115 Ручной ввод для таких карт запрещен
4116 Введены неверные 4 последних цифры номера карты
4117 Клиент отказался от ввода ПИНа
4119 Нет связи с банком. Другая возможная причина – неверный ключ KLK для пинпада Verifone pp1000se или встроенного пинпада Verifone. Если терминал Verifone работает по Ethernet, то иногда избавиться от ошибки можно, понизив скорость порта с 115200 до 57600 бод.
4120 В пинпаде нет ключа KLK.
4121 Ошибка файловой структуры терминала. Невозможно записать файл BTCH.D.
4122 Ошибка смены ключей: либо на хосте нет нужного KLK, либо в настройках терминала указан неверный мерчант.
4123 На терминале нет сеансовых ключей
4124 На терминале нет мастер-ключей
4125 На карте есть чип, а прочитана была магнитная полоса
4128 Неверный МАС — код при сверке итогов. Вероятно, неверный ключ KLK.
4130 Память терминала заполнена. Пора делать сверку итогов (лучше несколько раз подряд, чтобы почистить старые отчеты).
4131 Установлен тип пинпада РС-2, но с момента последней прогрузки параметров пинпад был заменен (изменился его серийный номер). Необходимо повторно прогрузить TLV-файл или выполнить удаленную загрузку.
4132 Операция отклонена картой. Возможно, карту вытащили из чипового ридера до завершения печати чека. Повторить операцию заново. Если ошибка возникает постоянно, возможно, карта неисправна.
4134 Слишком долго не выполнялась сверка итогов на терминале (прошло более 5 дней с момента последней операции).
4135 Нет SAM-карты для выбранного отдела (СБЕРКАРТ)
4136 Требуется более свежая версия прошивки в пинпаде.
4137 Ошибка при повторном вводе нового ПИНа.
4138 Номер карты получателя не может совпадать с номером карты отправителя.
4139 В настройках терминала нет ни одного варианта связи, пригодного для требуемой операции.
4140 Неверно указаны сумма или код авторизации в команде SUSPEND из кассовой программы.
4141 Невозможно выполнить команду SUSPEND: не найден файл SHCN.D.
4142 Не удалось выполнить команду ROLLBACK из кассовой прграммы.
4143 На терминале слишком старый стоп-лист.
4144, 4145, 4146, 4147 Неверный формат стоп-листа на терминале (для торговли в самолете без авторизации).
4148 Карта в стоп-листе.
4149 На карте нет фамилии держателя.
4150 Превышен лимит, допустимый без связи с банком (для торговли на борту самолета без авторизации).
4151 Истек срок действия карты (для торговли на борту самолета без авторизации).
4152 На карте нет списка транзакций (ПРО100).
4153 Список транзакций на карте имеет неизвестный формат (ПРО100).
4154 Невозможно распечатать список транзакций карты, потому что его можно считать только с чипа, а прочитана магнитная полоса (ПРО100).
4155 Список транзакций пуст (ПРО100).
4160 Неверный ответ от карты при считывании биометрических данных
4161 На терминале нет файла с биометрическим сертификатом BSCP.CR
4162, 4163, 4164 Ошибка расшифровки биометрического сертификата карты. Возможно, неверный файл BSCP.CR
4165, 4166, 4167 Ошибка взаимной аутентификации биосканера и карты. Возможно, неверный файл BSCP.CR
4168, 4169 Ошибка расшифровки шаблонов пальцев, считанных с карты.
4171 В ответе хоста на запрос enrollment’a нет биометрической криптограммы.
4202 Сбой при удаленной загрузке: неверное смещение в данных.
4203 Не указанный или неверный код активации при удаленной загрузке.
4208 Ошибка удаленной загрузки: на сервере не активирован какой-либо шаблон для данного терминала.
4209 Ошибка удаленной загрузки: на сервере проблемы с доступом к БД.
4211 На терминале нет EMV-ключа с номером 62 (он нужен для удаленной загрузки).
4300 Недостаточно параметров при запуске модуля sb_pilot. В командной строке указаны не все требуемые параметры.
4301 Кассовая программа передала в UPOS недопустимый тип операции
4302 Кассовая программа передала в UPOS недопустимый тип карты
4303 Тип карты, переданный из кассовой программы, не значится в настройках UPOS. Возможно, на диске кассы имеется несколько каталогов с библиотекой UPOS. Банковский инженер настраивал один экземпляр, а кассовая программа обращается к другому, где никаких настроек (а значит, и типов карт) нет.
4305 Ошибка инициализации библиотеки sb_kernel.dll. Кассовая программа ожидает библиотеку с более свежей версией.
4306 Библиотека sb_kernel.dll не была инициализирована. Эта ошибка может разово возникать после обновления библиотеки через удаленную загрузку. Нужно просто повторить операцию.
4308 В старых версиях этим кодом обозначалась любая из проблем, которые сейчас обозначаются кодами 4331-4342
4309 Печатать нечего. Эта ошибка возникает в интегрированных решениях, которые выполнены не вполне корректно: в случае любой ошибки (нет связи, ПИН неверен, неверный ключ KLK и т.д.) кассовая программа все равно запрашивает у библиотеки sb_kernel.dll образ чека для печати. Поскольку по умолчанию библиотека при отказах чек не формирует, то на запрос чека она возвращает кассовой программе код 4309 – печатать нечего, нет документа для печати. Исходный код ошибки (тот, который обозначает причину отказа) кассовая программа при этом забывает.
4310 Кассовая программа передала в UPOS недопустимый трек2.
4313 В кассовой программе значится один номер карты, а через UPOS считан другой.
4314 Кассовая программа передала код операции «Оплата по международной карте», а вставлена была карта СБЕРКАРТ.
4332 Сверка итогов не выполнена (причина неизвестна, но печатать в итоге нечего).
4333 Распечатать контрольную ленту невозможно (причина неизвестна, но печатать в итоге нечего).
4334 Карта не считана. Либо цикл ожидания карты прерван нажатием клавиши ESC, либо просто истек таймаут.
4335 Сумма не введена при операции ввода слипа.
4336 Из кассовой программы передан неверный код валюты.
4337 Из кассовой программы передан неверный тип карты.
4338 Вызвана операция по карте СБЕРКАРТ, но прочитать карту СБЕРКАРТ не удалось.
4339 Вызвана недопустимая операция по карте СБЕРКАРТ.
4340 Ошибка повторного считывания карты СБЕРКАРТ.
4341 Вызвана операция по карте СБЕРКАРТ, но вставлена карта другого типа, либо не вставлена никакая.
4342 Ошибка: невозможно запустить диалоговое окно UPOS (тред почему-то не создается).
44хх От фронтальной системы получен код ответа ХХ.
4403 Означает, что терминал заблокирован (долго не пользовались/не проводили сверку итогов/по терминалу проходили операции на слишком малые суммы). Звоните вашему менеджеру, оставляйте заявку на разблокировку. Разблокировка стандартно в течение суток, но может затянуться на 3 дня (если недостаточно данных)
Комментарий пользователя trustno1
4496 Неверная настройка терминала. Звоните в техподдержку (телефон должен быть указан на терминале)
Комментарий пользователя trustno1
5002 Карта криво выпущена и поэтому дает сбой на терминалах, поддерживающих режим Offline Enciphered PIN.
5026 Ошибка проверки RSA-подписи. На терминале отсутствует (или некорректный) один из ключей из раздела «Ключи EMV».
5063 На карте ПРО100 нет списка транзакций.
5100 … 5108 Нарушены данные на чипе карты
5109 Срок действия карты истек
5110 Срок действия карты еще не начался
5111 Для этой карты такая операция не разрешена
5116, 5120 Клиент отказался от ввода ПИНа
5133 Операция отклонена картой.
Перевод: | Сбербанк |
---|---|
Основатель: | Банк России |
Председатель: | Тот же владелец |
Дата основания: | 1841 |
Страна: | Россия |
Производят: | Финансовый конгломерат |
Кодов ошибок: | 65 |
«Всегда рядом (Always there)»
Публичное акционерное общество Сбербанк России, представляет собой один из крупнейших универсальных финансовых конгломератов в РФ.
История появления терминалов компании расходится. Однако из достоверного имеется 2 версии: первая говорит о начале отсчета работы бренда с признания сберегательных касс в 1841 году Николаем I, вторая утверждает о том, что эта дата неправильная и стоит считать 1991 год. *Между тем, сами официальные справки Сбербанка активно продвигают первую версию.
Так или иначе, привычный нам Сбер, начал развиваться в период между 1991 и 2009 годами: появились первые банкоматы, стала доступна опция онлайн управления счетом. Само учреждение между тем вошло в 20ку крупнейших.
В последующее время, компания активно развивалась и пополнялась списками вкладчиков. Для клиентов были сделаны значительные поблажки в частности более мягкие условия по кредиту и переводу средств.
На сегодня ПАО Сбербанк также держит позиции в РФ. Половина акций бренда принадлежит Правительству России, остальная часть находится в руках акционеров.
Видео:
внесены не все требуемые параметры/установки