Создали MVP для сервиса процессинга платежей в криптовалюте

Evrone помог с разработкой MVP для сервиса txn.pro, который позволяет бизнесу принимать и отправлять  платежи в криптовалюте с возможностью обмена в фиатные валюты. Мы разработали бэкенд, фронтенд и пользовательский интерфейс сервиса.

September 2024

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

Клиент обратился к нам с идеей такого сервиса, поскольку он работал с нами на других проектах. Evrone разработал для txn.pro бэкенд на Ruby on Rails, фронтенд и UI-дизайн. На проекте были задействованы три Ruby-разработчика, фронтендер, DevOps-инженер, дизайнер и project-менеджер. Разработка до старта заняла семь месяцев. 

Бэкенд

Минимальный набор функций, который должен был быть у криптостартапа: возможность получать, конвертировать и переводить средства для клиентов. У заказчика не было идеи стартовать с уникальными функциями, нужен был финансовый продукт, который будет легко поддерживать и масштабировать. В рамках подготовительного этапа мы проанализировали подобные проекты и решили использовать классический Ruby on Rails.

Бэк- и фронтенд общаются через Rest API, для админки использовали гем Active Admin. Интеграция с блокчейном выведена в отдельный процесс, реализованный в виде модуля. Так что подключение к провайдеру ликвидности осуществляется через отдельный сервис. Благодаря такому решению логика приложения остается изолированной, а процесс можно нагружать отдельно от остальной платформы. Есть также интеграция с провайдером для генерации и работы с крипто-кошельками и с внешним сервисом аналитики транзакций, который отслеживает подозрительные криптовалютные транзакции. Клиенты могут взаимодействовать с сервисом через интерфейс или универсальный API. 

В проекте участвовал и наш DevOps-инженер, он распланировал инфраструктуру и бюджет на нее. В результате для тестовых сред мы предложили использовать облако DigitalOcean, а для прода уже развернуть надежный AWS. 

По архитектуре проект представляет собой модульный монолит, который при необходимости в будущем можно будет разделить на микросервисы. 

Фронтенд

Фронтенд txn.pro — статическое веб-приложение на React с TypeScript, использована дизайн-библиотека Ant Design с надстройками. По архитектуре это DDD-приложение (Domain Driven Design), которое поделено на отдельные слои с ограниченной зоной ответственности. Во фронтенде мы также придерживаемся классического подхода при котором масштабирование и развитие платформы будет простым и экономически эффективным. 

Дизайн

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



На этапе концепции мы предоставили клиенту выбор — следовать ли стандартам индустрии, или позиционировать продукт, как альтернативу привычным решениям. Мы предложили две концепции. Первая с фокусом на спокойные цвета и плотность информации. Такие решения часто используются в криптовалютных сервисах и визуально, по плотности данных ближе к Microsoft Excel, чем к банковским продуктам и инструментам аналитики. Вторая концепция выглядит более крафтово и предстает альтернативой по отношению к привычным финансовым сервисам.Так сервис мог бы сообщать пользователям об уникальном предложении в более неформальной коммуникации. Выбор пал на первую концепцию и txn.pro приобрел свои уверенные, ясные и привычные для индустрии очертания.

Большая часть аудитории продукта — опытные пользователи платежных инструментов. Но всегда есть те, кто используют сервис для решения подобных задач впервые. Именно поэтому в таких интерфейсах важно соблюдать баланс — погружать новичков и помогать им в первых шагах, и одновременно не надоедать излишними пояснениями уверенным пользователям. В txn.pro мы решили эту задачу с помощью работы над интерфейсными текстами, незаметных подсказок, мелких элегантных решений c текстовыми полями и разделением сложных сценариев на шаги. Например, двухфакторную аутентификацию мы разбили на три шага. Так пользователи сфокусированы на контексте конкретного этапа и не путаются в последовательности действий. 

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

Планы

Проект txn.pro уже запустился и успешно работает, а мы продолжаем его разработку и планомерно добавляем новые фичи. Так, мы уже обновили подход к хранению данных, в ближайшее время обновится вид депозитов, выводов и возвратов, появится возможность получения обратной связи с помощью webhooks. Одновременно мы стараемся придумать оптимальный подход для работы с провайдером ликвидности. Связь идет через веб-сокет, и количество запросов в секунду к ней ограничено. Создается очередь из запросов, которой нужно управлять, для этого мы сделали order book и сейчас тестируем его.

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

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

Будем на связи
Прикрепить файл
Максимальный размер файла: 8 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.