Задача
Платёжная организация не начинается с сайта. Она начинается с требований регулятора, и до первой строки кода нужно понимать, как система будет отчитываться, кого пускать к деньгам и что делать, когда перевод ушёл, а подтверждение не вернулось.
Задача формулировалась целиком: собрать организацию, которая примет лицензию Центрального банка Узбекистана и на следующий день начнёт проводить переводы по СНГ, принимать карты четырёх систем и работать через собственные приложения.
Решение
Систему строили изнутри наружу, а не от интерфейса.
Сначала ядро расчётов: счета, проводки, комиссии, остатки. Потом роли и права, потому что доступ к деньгам различается у оператора, бухгалтера, агента и мерчанта, и различаться он обязан на уровне данных, а не кнопок. Потом каналы: веб-кабинеты, мобильные приложения, приложение в мессенджере.
Отдельным контуром шло то, о чём в техническом задании обычно не пишут, — сверки. Любая платёжная система живёт до первого расхождения с партнёром, и разбирать его надо не глазами по выгрузке.
Архитектура и реализация
Что вошло в систему:
· ядро биллинга с проводками и остатками, где баланс меняется только атомарной операцией
· административная панель с разделением прав по ролям и журналом действий
· кабинет мерчанта: подключение по API, приём платежей, история, вывод
· кабинет агента: пополнение баланса, оплата услуг за клиента, комиссии и вознаграждения
· приложения для iOS и Android
· приложение внутри мессенджера для тех, кто не станет ставить ещё одну программу
· приём карт локальных и международных платёжных систем
· переводы между странами СНГ
Повторная отправка одного и того же платежа не создаёт второй операции. Это звучит как мелочь ровно до первого сбоя сети у партнёра.
Результат
Организация получила лицензию Центрального банка Узбекистана в мае 2021 года и работала как полноценная платёжная компания: переводы, приём карт, мерчанты, агенты, приложения в обоих магазинах. Владелец DigiCore был её основателем и генеральным директором, а систему проектировал и строил сам.
Недавно компания продана. Для заказчика здесь важнее другое: человек, который отвечает у нас за архитектуру платёжных решений, однажды провёл такую систему через регулятора и довёл до сделки.