IT-решения для FinTech и платёжных компаний в Ташкенте

Высоконагруженная платформа обмена цифровыми активами

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

таблиц базы наследуемой платформы, которую мы ведём
113
модуля чужого ядра, разобранных без исходников
143

Задача

Здесь сошлись обе трудные разновидности работы сразу.

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

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

Решение

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

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

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

Архитектура и реализация

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

Стек: Laravel и PHP, PostgreSQL, Redis, а также унаследованное окружение старой платформы.

Результат

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

Второе обычно оказывается дороже первого.
IT-решения для FinTech и платёжных компаний в Ташкенте
2021 год регистрации организации Центральным банком

Платёжная организация с лицензией: биллинг, мерчанты, агенты и три приложения

Полная платёжная система, построенная с нуля под лицензию Центрального банка: ядро расчётов, кабинеты мерчантов и агентов, приложения для iOS, Android и Telegram.

iOS Android Telegram Bot API PHP
IT-решения для FinTech и платёжных компаний в Ташкенте
50 терминалов самообслуживания в одной сети

Сеть терминалов самообслуживания: приём наличных и собственный биллинг

Программа для инфокиосков, которая принимает наличные, проводит платежи и сама себя защищает. Пятьдесят терминалов в Андижане на одном биллинге.

PHP MySQL Bootstrap
IT-решения для FinTech и платёжных компаний в Ташкенте
почти 10 лет продукт живёт и обслуживает платежи

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

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

NestJS TypeScript Next.js PostgreSQL

Есть идея нового продукта или нужно развить существующий?

Расскажите о задаче. Мы изучим её и предложим технически и экономически разумный вариант реализации.

Ответим в течение рабочего дня · Telegram @sbunyod

Высоконагруженная платформа обмена цифровыми активами Обсудить проект