Как мы сделали из пет-проекта международный валютный сервис

Привет! На связи снова «Софториум». На этот раз мы расскажем, как познакомились с сервисом обмена валют на стадии MVP и помогли ему вырасти по выручке в десятки тысяч раз.

Как мы сделали из пет-проекта международный валютный сервис

Greenwallet Exchange — сервис международных денежных переводов. Через телеграм-бота Greenwallet можно оплатить товары в Китае или отправить перевод в любую точку мира.

История успеха

С заказчиком мы познакомились на стадии MVP: уже действовал телеграм-бот, были возможны платежи. Но код проекта был написан так, что его нельзя было развивать, а в базе имелись уязвимости.

Основатель Greenwallet Exchange имел экспертизу в криптовалюте, юриспруденции и немного в разработке на Python. А у его партнера был большой бизнес-опыт. Вместе они начали делать пет-проект, объединив свои экспертизы.

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

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

Как мы сделали из пет-проекта международный валютный сервис

Главное преимущество Greenwallet — полная законность платежей. Сервис не работает с серым трафиком, есть верификация, он не обслуживает казино и букмекеров. И, таким образом, бережет своих клиентов от блокировок.

А еще у сервиса регламентированная скорость платежей — до 30 минут даже в Китай. Банки делают это от двух суток. Конкуренты — от нескольких часов до суток! И есть API для интеграции на ресурсы клиента!

Знакомство с проектом

К работе над проектом приступили в ноябре 2023 года. Greenwallet уже функционировал и имел постоянных пользователей.

При знакомстве с кодом проекта мы обнаружили проблемы в безопасности. Для хранения данных использовалась СУБД MySQL. В структуре таблиц отсутствовали внешние ключи, что не позволяло контролировать целостность базы данных. Это значит, что через меню бота можно было удалить объекты из справочников, на которые ссылались существующие сделки. Через эту лазейку нельзя похитить личные данные или средства пользователей, но без устранения этой уязвимости злоумышленники могли нарушить работу сервиса.

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

  • соответствие стандарту SQL;

  • поддержка баз данных без ограничения на объем данных;

  • поддержка триггеров по бÓльшему количеству команд;

  • поддержка функциональных индексов;

  • поддержка расширенных типов данных, включая массивы, hstore, JSON, XML;

  • лучшая обработка операций записи данных, в том числе с валидацией записываемых значений;

  • возможность создавать более сложные структуры табличных данных;

  • сохранение целостности данных.

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

То есть, по сути, полностью переписали сервис.

Развитие системы

Основные задачи сервиса:

  • Совершать платежи как внутри страны, так и за рубежом (политика отсутствия границ). Они совершаются через телеграм-бота.
  • Онлайн клиентская бухгалтерия (платежный фулфилмент).

  • Управление и мониторинг работы сервиса через веб-интерфейс.

Что такое телеграм-бот и чем он лучше сайта или мобильного приложения

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

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

  • У ботов понятный интерфейс, пользователи общаются с ним через простые команды и кнопки.

  • Сделать их быстрее, чем полноценный веб- или мобильный сервис. Это, по сути, готовый фронтенд, и нужно сделать только серверную часть.

  • Боты мгновенно отправляют уведомления, пользователи все время на связи.

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

Новые возможности бота

Добавлен кошелек пользователя

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

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

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

Курсы валют

Реализован механизм получения данных о курсах валют с помощью API CoinGecko.

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

Реализована партнерская программа

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

Как мы сделали из пет-проекта международный валютный сервис

Реферальная система Greenwallet двухуровневая. Это значит, что за первого приглашенного — реферала первого уровня — вы получите 20 % от завершенной им сделки. А если ваш реферал пригласит еще кого-то — реферала второго уровня — то от его сделки ваша прибыль будет 10 %. В зависимости от соглашения, процент может быть даже увеличен.

Для управления сервисом был разработан веб-интерфейс администратора

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

Как мы сделали из пет-проекта международный валютный сервис

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

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

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

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

Как мы сделали из пет-проекта международный валютный сервис
Как мы сделали из пет-проекта международный валютный сервис

Результат

За время работы с нами сервис прошел путь от MVP до полноценного международного сервиса переводов. Количество пользователей выросло в семь раз, а оборот — в десятки тысяч раз. Были сделаны: кошелек пользователя, веб-интерфейс администратора, партнерская программа, устранены уязвимости.

А мы получили положительный отзыв!

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

Команда сервиса GreenWalletExchange

Технологии

Python 3.12

Flask Jinja2

PostgreSQL 14

Git, Celery, Redis

pyTelegramBotAPI

SQLAlchemy

Pydantic, Alembic

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

1212
4 комментария

Классный кейс 🔥

1

Cпасибо! Было интересно поработать!

А как им воспользоваться?

1