Skip to content

superpos-core

Ядро процессинга и единственное место, где живёт бизнес-логика платежа. Заводит транзакцию, проверяет ограничения, выбирает банк, ведёт статусы, считает комиссии и баланс мерчанта, принимает колбеки банков и инициирует уведомление мерчанту. Когда в разговоре говорят «ядро» — имеют в виду этот сервис.

Стек: Node.js и TypeScript, часть кода — исторический JavaScript.

Чего не делает

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

Входы

  • Запросы от публичных шлюзов: создание платежа, проверка статуса, выплаты, возвраты, двухстадийные операции.
  • Возврат плательщика с 3DS и колбеки банков — оба типа приходят сюда, не в сервис колбеков.
  • Запросы админки и личного кабинета мерчанта.
  • Отложенные задачи из собственных очередей: переспрос статуса, таймауты, отправка уведомлений.

Выходы

  • Сервис драйверов по HTTP с подписью — все обращения к банкам.
  • Сервис токенизации — получить карточные данные, когда их нужно передать в банк.
  • Антифрод — проверка платежа и уведомление о результате.
  • Очередь колбеков, которую разбирает superpos-callback.
  • Прочие сервисы по мере надобности: авторизация, уведомления, чеки, курсы, региональные сервисы.

Хранилища

MongoDB — основное: транзакции, мерчанты, счета, гейты, банки, балансировщики, списки, логи взаимодействия с гейтами. Redis — очереди и кэш. PostgreSQL — вторичное зеркало транзакций для отчётности.

Участвует во флоу

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

Где искать

Внутренняя база знаний. Нашли неточность — поправьте страницу или заведите вопрос в разделе «Открытые вопросы».