Три протокола банковских терминалов

Популярные модели банковских терминалов : Injenico, Pax , Verifone. Их все знают. Но это просто железо.

Работают все терминалы примерно по 3 основным протоколам обмена (так сложилось исторически):

Arcus2 это протокол от компании Ingenico для терминалов ingenico.

Инпас протокол для терминалов Verifone, PAX, IRAS от компании INPAS


СБРФ Сбербанк протокол - это реализация собственного протокола Сбербанка для разных терминалов Ingenico, Verifone, Pax.

UCS (United Card Services).

Примечание: пинпад это такой же полноценный терминал с одним минусом - он не имеет печатающего устройства и ему нужно внешнее устройство, чтобы печатать информацию, обычно это либо смарт касса, либо компьютер с фискальным регистратором.

Есть понятие залоченные терминалы - это терминалы например по акции "Прими карту", их нельзя перепрошить/ перепрограммировать на другой протокол. Это ограничивает приобретенный вами функционал.

У всех банковских терминалов есть огромный минус (для клиента) - они сконструированы таким образом, что если их попытаться починить (вскрыть), то банковские ключи обнуляются, а это приводит к отправке в сервисный центр, обычно в Москву. Мы конечно не хотим вскрывать их, но есть побочный эффект - датчик вскрытия срабатывает часто если уронить, стукнуть слегка или заморозить в машине на ночь зимой (разряжается батарейка). Также батарейка постепенно разряжается если долго не включать устройство.

У банковских терминалов есть ещё огромный минус - это отсутствие официального API,  то есть документации как управлять ими. Банки не предоставляют протоколы обмена обычным людям, хотя ничего в этом секретного нет. как ни странно. То есть если вы захотите подключить банковский терминал к своей программе, то нигде не найдете примеров как это сделать от слова вообще. Вы спросите, а как же другие программисты подключают это оборудование к своим программам - а вот кто как может так и выкручивается.

Некоторые сокращения :
AID Application Identification Number (Идентификационный номер приложения)
AVN Application Version Number (Номер версии приложения)
BIN Bank Identification Number (Банковский идентификационный номер)
PAP - Pin-pad Application
CAP - Cash register Application
CVM Cardholder Verification Method (Способ верификации владельца карты)
DDOL Dynamic Data Object List (Список элементов данных необходимых для
динамической аутентификации)
ICC Integrated Circuit(s) Card (Карта с интегрированными электронными схемами)
ID Identifier (идентификатор)
ISO International Organization for Standardization (Международная организация
стандартизации)
MCC Merchant Category Code (Сервисный код коммерсанта)
MS Magnetic Stripe (магнитная полоса)
TAC Terminal Action Code(s) (Код(ы) действия терминалов)
PAN Primary Account Number (Индивидуальный номер карты)
PIN Personal Identification Number (Персональный идентификационный номер)
POS Point of Sale (точка продажи, сервиса)
RID Registered Application Provider Identifier (Зарегистрированный номер
провайдера приложения; например, VISA, MasterCard)
TDOL Transaction Data Object List (Список данных о транзакции участвующих при
вычислении сертификата)
TMM Terminal Management Mode (модуль управления терминалами)
TMS Terminal Management System (система управления терминалами)

EMV Europa MasterCard Visa.

3-D Secure грубо говоря это дополнительная защита , подтвержденте смс на номере плательщика.