В марте-22 внезапно отключились Visa и MasterCard. Это посредники передачи информации между разными банками. По сути, системы обеспечивают маршрутизацию сообщений между банками и позволяют вам использовать карту любого банка с банкоматом или платёжным терминалом другого, а заодно проверяют операции на фрод и делают ещё много чего.

Потом было 2–3 дня, когда мы не спали. Мы — это разработчики компании Мультикарты (входит в Холдинг T1) — одного из самых крупных процессингов в России, да и в мире, пожалуй.

Потом система восстановилась (не сама собой, конечно), и конечные пользователи (вы) практически не почувствовали проблем с сервисом.

Всё потому, что в России с точки зрения банкинга всё очень хорошо, и было бы странно оказаться без сапог в этой ситуации.

Мы с коллегами очень хотим начать рассказывать про практические случаи вроде того самого момента переключения систем, но боимся, что сначала нужно вообще рассказать, что такое процессинг и как он внутри устроен.

Поэтому ниже — общий рассказ про принципы процессинга. Пойдёмте ковыряться под капотом.

image

Процессинговый бизнес в России сегодня один из самых развитых в мире — большинство производителей таких систем находятся в России и немного в США. Российские поставщики процессинговых решений продают свои системы в большинство стран мира, а качество российских систем сегодня существенно выше, чем аналогичных решений из Европы или Азии.

Даже в таких странах, как технологически продвинутый Китай, сегодня используют российский процессинг. Притом что жителей и банковских карточек там существенно больше, т.е. и технологии более востребованы.

Процессинг продолжает работать, несмотря на санкции и прочие трудности. Платёжная инфраструктура сохранилась и развивается, люди как пользовались карточками, так и продолжают пользоваться.

Со стороны пользователя


Человек пользуется каким-либо устройством — это может быть POS-терминал магазина, банкомат или даже система оплаты на сайте. Все эти устройства относительно примитивные — они умеют считывать данные карты и отображать нужную информацию.

Мы здесь не берём в расчёт такие действия, как, например, физическая выдача денег в банкомате — она представляет собой механический процесс, управляемый локальным софтом.

А вот сама банковская карта — это такой полноценный мини-компьютер, в котором работает Java-приложение. Современная карточка по мощности процессора сравнима с персональным компьютером из 90-х годов. Для неё даже можно писать софт — технология открыта, SDK для неё можно скачать с соответствующих сайтов.

Когда карточка со встроенным микропроцессором прикладывается к терминалу, данные «улетают» в процессинговый центр.

Собственно, для пользователя это всё — он получает свои деньги или оплаченный товар, а с его счёта списывается нужная сумма.

Со стороны процессинга


Всё, что здесь происходит, делается буквально за миллисекунды.

Процессинг должен провести первоначальную проверку запроса, в частности, всех криптографических величин, которые генерируются на карточке. Всё шифрование обеспечивается не программными средствами, а специальными криптографическими модулями — HSM, в которые человек влезть не может. Это устройство обладает огромным количеством средств физической защиты. Например, если попытаться его вскрыть, то сработают специальные датчики: температуры, влажности, движения. И память устройства сразу очищается.

Таких запросов множество — например, наша процессинговая система Мультикарта способна обрабатывать до 1000 транзакций в секунду, или 10–15 млн операций в день.

Авторизация


После проведения криптографической проверки система по номеру карты определяет, куда отправить авторизацию. Она может быть отправлена либо в платёжную систему (НСПК), либо обработана локально. Если процессинг осуществляет банк, выпустивший карту, то он сам её и авторизует. Если процессинг одного банка обслуживает карту другого банка, то запрос отправляется в платёжную систему (НСПК), платёжная система отправляет авторизацию в банк, который выпустил эту карту, и этот банк должен дать разрешение на проведение операции.

Все взаимодействия между банками осуществляет, как правило, платёжная система. В России после ухода Visa, MasterCard и других сейчас эту функцию осуществляет Национальная система платёжных карт (НСПК). Она направляет данные в банк-эмитент, выпустивший карту, процессинг которого проводит их обработку. Кстати, бывает, что оба банка используют процессинг одного и того же разработчика, например Мультикарту, и тогда транзакция не выходит за её пределы. Но при этом всё равно она проходит через платёжную систему.

Отклик


Следующий этап — проверка счёта, привязанного к номеру карты, а также его баланса. Если банк-эмитент даёт добро на совершение транзакции, то нужная сумма блокируется, а в обратную сторону процессинговая система отдаёт ответ, что операция разрешена. Само движение денег пока не происходит.

Этот ответ идёт из процессингового центра опять в платёжную систему, в данном случае в НСПК.

НСПК направляет его обратно в банк-эквайер, процессинг которого обслуживает устройство.

После чего на устройство, на банкомат или на POS-терминал, приходит разрешение на проведение операции. Т.е. банкомат выдаёт деньги, POS-терминал печатает чек, а продавец отгружает товар.

При этом деньги так и остаются заблокированными, они пока ещё не пришли в движение.

Клиринг


После одобрения транзакции начинается этап клиринга. Информация об операциях записывается в журнал и выгружается банком-эквайером в платёжную систему. Кстати, банк-эквайер ежедневно отправляет в платёжную систему полный список проведённых операций за определённый период в виде специального файла.

На основании полученного от платёжной системы клиринга банк-эмитент (тот, что выпустил карту клиента) переводит денежные средства за обработанную транзакцию банку-эквайеру, но не напрямую, а через расчётный банк платёжной системы, где каждый участник имеет свой счёт. Эти переводы выполняются не после каждой отдельной транзакции, а, как правило, раз в сутки.

Платёжная система собирает и объединяет данные от разных банков-эквайеров для конкретного банка-эмитента. Затем они отправляются банку-эмитенту в виде подробной информации о каждой транзакции. На основе этих данных и данных, предоставленных расчётным банком, бэкофисная система процессинга банка-эмитента проводит сверку, чтобы удостовериться, что все авторизации и расчёты корректны. Затем создаются проводки, которые отправляются в банковскую систему.

Расчёты


На этом этапе начинается перечисление средств, т.е. банк-эквайер зачисляет средства на счёт предприятия, которому принадлежит соответствующий терминал. Предприятие получает платёж, и сделка считается завершённой.

Диспут


Что же происходит, когда возникают спорные ситуации? Когда, например, попытались похитить карточные данные или не был получен оплаченный товар. В этом случае, когда уже прошли все штатные процессы по транзакциям, процессинг обеспечивает другой этап работы. Здесь используются решения, которые не требуют сверхскоростного прохождения информации между участниками.

Диспут включает в себя несколько ключевых этапов и напоминает судебное разбирательство между банком-эквайером и банком-эмитентом. Однако, в отличие от суда, в этом случае «третейским судьёй» выступает платёжная система.

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

Интересно, что в этот момент средства также движутся между банками. Фактически сразу спорные деньги списываются с банка, совершившего операцию. Но они отправляются не клиенту, он их сможет получить только позже, в случае удачного вердикта.

Процедура диспутного анализа достаточно сложная. В ней также используются технологии на основе искусственного интеллекта, чтобы можно было определить, что действительно это мошенническая операция или, например, злонамеренные действия клиента, который может совершить реальную операцию или получить деньги, а затем заявить, что не делал этого.

Такое тоже бывает.

Отмечу, что автоматизированная обработка платежей сводит к минимуму постоянно присутствующий риск человеческой ошибки, связанный с ручной обработкой операций с наличными или переводами, обеспечивая большую точность управления финансами.

Противодействие мошенничеству


Система противодействия мошенничеству (anti-fraud system) — это обычно отдельный комплекс, работающий параллельно процессингу, потому что он должен обеспечивать тоже очень высокую производительность и безотказность. Она проверяет в реальном времени любую транзакцию, проходящую через процессинг. Система использует ML-технологию и учится на примерах известных случаев мошенничества. Для систем этого класса признак того, что что-то не в порядке, — это когда, например, проходит большое количество операций с одинаковыми или с уменьшающимися суммами. Такой паттерн поведения системой воспринимается как возможное мошенничество. В этом случае операции начинают блокироваться именно на этапе самой авторизации и дело до списания средств не доходит.

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

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

Объём транзакций и надёжность


Процессинг Мультикарты сегодня один из самых крупных в России. Всего эта система обслуживает около 60 разных по величине банков.

Все эти банки — генераторы огромных объёмов ежедневных транзакций. И как в любой IT-системе обеспечить надёжность при большой нагрузке очень сложно, в этом случае даже простые сервисы проектируются специальным образом. Для процессинга очень важно обеспечить беспрепятственное прохождение огромного объёма транзакций.

Мультикарта уже прошла испытания огромным объёмом транзакций, в том числе в пиковые периоды, когда этот объём резко увеличивается, например в предновогодние дни. Именно поэтому она считается одной из самых надёжных на рынке, и это приносит пользу не только крупным, но и небольшим банкам, которые не имеют своего процессинга и подключаются к Мультикарте. Они получают фактически такой же сервис, те же технологии, как и крупные игроки, не вкладываясь при этом в разработку и эксплуатацию процессинга.

К слову говоря, иметь свой процессинг имеет экономический смысл только в том случае, если банк имеет более 6–7 миллионов карт, где-то десятки тысяч устройств, а количество транзакций банка превышает несколько миллионов в месяц. Для небольших банков иметь свой процессинг смысла не имеет, это слишком дорогое удовольствие, которое не будет окупаться.

Технологическая основа процессинга


Процессинг строится на очень надёжных технологиях — система должна быть не только высокопроизводительной, но и высоконадёжной, с доступностью 99,99%. Т.е. она не имеет права простаивать больше 52 минут в год. Это очень серьёзное требование, поскольку при сбое могут пострадать миллионы клиентов. И это большой не только финансовый, но и имиджевый удар для разработчика процессинговой системы. Поэтому с аппаратной стороны процессинговая система — это сложный кластерный комплекс, состоящий из большого количества серверов, работающих параллельно, он обеспечивает высокую масштабируемость и надёжность решения. Серверы дублируются, размещаясь, в частности, на разных площадках, создавая геораспределённый кластер. Серверы Мультикарты установлены в Москве и Санкт-Петербурге.

Процессинговая сеть близка по сложности к сети крупнейшего телекоммуникационного провайдера. Всё это многочисленное коммуникационное оборудование должно работать очень качественно, его мониторинг осуществляется постоянно.

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

Инциденты в процессинге и нештатные ситуации


Процессинг не ломается. Практически никогда. Как я уже говорил, наша система обеспечивает доступность в 99,99%. Это 52 минуты простоя процессинга в год, включая регламентные работы — это время учитывает всё, когда там что-то настраивается, переставляется софт и т.д.

Иногда случаются некоторые инциденты, связанные с недоступностью процессинга. Как правило, это происходит из-за сетевых проблем, когда какие-либо терминалы подключены через внешнего провайдера связи. Т.е. из-за проблем со связью устройство просто не может «достучаться» до процессингового центра.

Эта проблема наиболее частая, и когда СМИ пишут, что какой-то банк не работает, банкоматы отказываются выдавать деньги, то в большинстве случаев это как раз региональные проблемы конкретных операторов связи.

Сбои самого процессинга теоретически возможны, но это исключительная и редкая ситуация. В связи с полным дублированием всех элементов процессинга, если происходит аппаратная ошибка в одном из узлов кластера, всегда будет задействован другой узел. Если сбой касается целой площадки, то отрабатывает другая. Причём переключение происходит практически незаметно. Даже когда происходит обновление или включение новой функциональности, всё происходит очень быстро. Это связано с тем, что процедура обновления чрезвычайно жёсткая, всё проверяется буквально как в самолёте перед взлётом. Если что-то пошло не так перед подключением нового функционала, «самолёт» не взлетит.

В том самом форсмажоре при отключении платёжных систем Visa и MasterCard нам пришлось практически в онлайне, при поддержке НСПК, придумывать решение, как обеспечить корректную работу с ушедшими из страны платёжными системами.

Помогло также то, что в стране очень быстро запустили платёжный сервис Mir Pay, с помощью которого клиенты получили тот же функционал, который был ранее при использовании ныне отключённых услуг Apple Pay и Google Pay. Так что наших пользователей в России это глобальное отключение практически не зацепило.

Также мы сталкивались с масштабными DDOS-атаками — они били в основном по онлайн-сервисам и сервисам электронной коммерции. Их нужно вовремя отразить, защитить логическую и инфраструктурную подсистемы серверов. Поначалу это было сложно, но сейчас атаки проходят незаметно для пользователей. Главное в таких ситуациях — обеспечить доступность системы, особенно когда количество операций резко возрастает.

Ещё одной неординарной ситуацией стал выпуск в своё время так называемых Пушкинских карт.

Это специальная государственная программа, которая позволяет молодым людям бесплатно посещать музеи, театры, выставки и другие учреждения культуры за счёт федерального бюджета.

Для этого использовалась банковская карта с лимитом, с помощью которой можно было оплачивать посещение культурных мероприятий.

Нам надо было буквально за несколько дней обеспечить выпуск 15 млн виртуальных карт. При этом 1 сентября в определённый момент все участники программы начали нажимать кнопку на сайте «Госуслуг», позволяющую получить такую карту. Карты оформлялись сотнями тысяч.

Задача была очень нетривиальная — в процессинг приходили десятки тысяч одновременных запросов, и система должна была выдержать такую нагрузку. Пришлось поднапрячься, чтобы динамически расширять производительность и обеспечивать необходимую скорость прохождения транзакций. Причём без потери доступности сервиса.

Влияние импортозамещения


Если говорить по большому счёту, то уход многих «иностранцев» ничего принципиально не поменял. Россия — крупнейший производитель процессинговых решений. Мультикарта уже давно использует системы российских вендоров. В частности, основной партнёр у нас — это компания Компас плюс, все остальные программные разработки наши собственные.

Основная проблема была связана только с уходом производителя баз данных компании Oracle.

Но и она вполне решаема, поскольку есть российский вендор с аналогичным решением — Postgres Pro.

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

Что касается системного ПО, то мы здесь применяем в основном решения класса Open Source.

То же касается и систем для поддержки класса E-Commerce, которые также в основном основаны на Open Source. А ещё при переходе нужно заложить время на переобучение и адаптацию сотрудников.

Конечно, есть некоторые сложности с оборудованием, но существует много аналогов, которые вполне доступны. Даже разработан российский банкомат, который, кстати, мы уже подключили, а также отечественные модули безопасности. Нужное оборудование, в основном производства дружественных стран, уже давно присутствует в России, причём оно вполне качественное.

Итак, всё движется в сторону технологического суверенитета от недоступных теперь решений.

И этот процесс идёт, и проходить он будет максимально быстро, с обязательной гарантией сохранения всех необходимых качеств процессинга.

Комментарии (28)


  1. Vicrius
    16.11.2023 07:39

    HSMы у вас тоже суверенные?


    1. N_Stanchenko Автор
      16.11.2023 07:39
      +5

      Часть уже российских, мы как раз на них постепенно переходим.


  1. Breathe_the_pressure
    16.11.2023 07:39
    +2

    Процессинг же от сторонней компании, вы не пишете, а скорее дописываете?


    1. N_Stanchenko Автор
      16.11.2023 07:39
      +4

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


  1. mmMike
    16.11.2023 07:39
    +1

    Это устройство обладает огромным количеством средств физической защиты. Например, если попытаться её вскрыть, то сработают специальные датчики: температуры, влажности, движения. И память устройства сразу очищается.

    Почему то вспомнились RG7xxx Thales HSM на нескольких Z80 и с защитой парой микриков на снятие крышки в которой полно было технологических отверстий.
    Нее.. современные железки выглядят солиднее. Да и кто же позволит в них лезть/вскрывать при их стоимости.


    1. MaFrance351
      16.11.2023 07:39

      Аналогично и с пин-падами. Первые экземпляры вообще не имели никакой защиты от вскрытия кроме плюхи эпоксидной смолы на плате.


      1. mmMike
        16.11.2023 07:39

        не первые - то же.
        Полно вижу Verifone SC5xx и SC8xx а там те же микрики на вскрытие. Впрочем, ключи в криптомодуле клавиатуры. Но подозреваю, что при желании их взять от туда не принципиально сложно. Хотя зачем. они только на данный терминал. Проще навесить на клавиатуру/ридер доп шпиона аппаратного.


        1. Didimus
          16.11.2023 07:39

          Камеру магазинную направить из-под потолка на пин-пад. Сейчас, кстати, пошли терминалы с камерой. Не снимает ли эта камера карту? Нет ли доступа к этому видео у сторонних лиц?


          1. DMGarikk
            16.11.2023 07:39

            Не снимает ли эта камера карту?

            сейчас чёто все както перестали за номер карты трястись, налево и направо его раздают для перевода денег...


            1. Didimus
              16.11.2023 07:39

              Там и срок действия и защитный код видно


  1. select26
    16.11.2023 07:39
    +3

    Спасибо за отличную статью!
    Проработал в финтеке 6 лет. О требованиях знаю не понаслышке. Вы еще поскромничали, что кроме надежности и доступности есть еще ряд требований отраслевого регулятора, которые зачастую выполнить не проще.

    применяем в основном решения класса Open Source

    У меня вопрос: как вы выполняете требования Open Source лицензий? Выдаете исходные коды по запросу клиентов?


    1. N_Stanchenko Автор
      16.11.2023 07:39
      +1

      Наверное, тут некоторое непонимание возникло, мы не модифицируем Open Source решения, мы их используем в своем процессе именно как полноценный продукт или библиотеки. Раскрывать свои исходные коды мы должны только в случае, если мы модифицируем Open Source решение для наших нужд.


      1. select26
        16.11.2023 07:39

        Понятно. Спасибо!


      1. johnfound
        16.11.2023 07:39
        +11

        Раскрывать свои исходные коды мы должны только в случае, если мы модифицируем Open Source решение для наших нужд.

        Не так. Во первых, зависит от конкретной лицензии. Во вторых даже если это и копилефт лицензия, вы должны распространять изменения только если распространяете модифицированный код. Для собственного использования ничего раскрывать не надо.

        Но конечно, нормальное воспитание требует чтобы если например исправили баг, то поделиться с обществом. ;)


  1. DimmoNz
    16.11.2023 07:39

    Это устройство [банковская карта] обладает огромным количеством средств физической защиты. Например, если попытаться её вскрыть, то сработают специальные датчики: температуры, влажности, движения. И память устройства сразу очищается.

    А как память банковской карты сразу очищается, если при вскрытии злоумышленник не будет подавать питание?

    Речь не про то, что он будет с ней делать потом, а каким образом карта сразу очищается при вскрытии оставаясь обесточенной, понять не могут, может имелся ввиду другой сценарий?


    1. N_Stanchenko Автор
      16.11.2023 07:39
      +4

      Наверное, вы немного не поняли о каком устройстве идет речь – естественно не о банковской карте – а о HSM (Host Security Module) – это специальное устройство стоящее в процессинговом центре – оно под камерами наблюдения, за «семью замками» и всегда под питанием…


      1. DimmoNz
        16.11.2023 07:39

        Да, сам запутал себя, держал в голове про микропроцессор банковской карточки и забыл, что уже про процессинг идёт речь...


      1. kay_kay
        16.11.2023 07:39
        +7

        Вот тоже прочитал как о вскрытии чипа банковской карты.


  1. megahertz
    16.11.2023 07:39

    Если раньше поставщики процессинговых решений были популярны на Западе, то что стало потом? Ушли с рынка, или эти компании теперь базируются за рубежом?


    1. N_Stanchenko Автор
      16.11.2023 07:39

      Если мы говорим про российских поставщиков — то они были популярны не только на Западе, но и в Азии. Все эти связи остались. Если речь именно про страны , которые ввели санкции против РФ, то там каждый вендор решает по разному, возможно кто-то разделяет бизнес, кто-то работает через азиатский рынок.


  1. kartvladek
    16.11.2023 07:39
    -10

    Ах ах - внезапно отключились Visa и MasterCard
    Внезапно... в марте 22-го. Кто б мог подумать


    1. kma21
      16.11.2023 07:39
      +27

      Кто б мог подумать
      ...что это не принесёт никакой пользы в достижении декларируемой цели. как и все иные санкции против населения


  1. sshmakov
    16.11.2023 07:39
    +8

    Таких запросов множество — например, наша процессинговая система Мультикарта способна обрабатывать до 1000 транзакций в секунду, или 10–15 млн операций в день.

    Че-то как-то маловато. Если сравнивать с нагрузкой на онлайн банки, то раза в четыре меньше.

    И потом, я надеюсь, это масштабируется?


    1. N_Stanchenko Автор
      16.11.2023 07:39
      +1

      Тут надо понимать, что в ДБО и процессингах обычно рассматриваются разные транзакции.

      В ДБО это запросы клиентов или транзакции в БД, в процессинге транзакция — это весь комплекс запросов и операций, прошедших от прикладывания карты к терминалу до получения ответа и выдачи товара или денег. В эту транзакцию входит и обращение в НСПК, и ко внутренним системам банка, процессинга, к HSM, системе противодействия мошенничества и т.д. По приблизительным оценкам реальных запросов к разным системах в рамках одной транзакции по карте набегает на порядок больше, поэтому по сути RPS там получается 10000.


  1. pavelsha
    16.11.2023 07:39
    +2

    Кто этот ведущий и куда ведет?

    Если соглашение о неразглашении не позволяет называть партнеров, то так и скажите...

    А пока налили ещё больше воды, чем в самой статье.

    PostgreSQL конечно тоже SQL- база, но бесшовного перехода с Oracle ведь не случилось? Расскажите лучше как преодолели трудности этой миграции.

    А мантры про Postgre Pro русская БД... Вы их перед своими ИБ-аудиторами пойте


  1. DBalashov
    16.11.2023 07:39
    -2

    В марте-22 внезапно отключились Visa и MasterCard


    1. DMGarikk
      16.11.2023 07:39
      +1

      с точки зрения бизнеса - да

      смысл еще ёрничать на эту тему?


  1. mikegordan
    16.11.2023 07:39
    -1

    Затем такая сложность если можно развернуть свой блокчейн?