Архитектура многопродавцовой платформы: от MVP до масштабирования
Маркетплейс — одна из самых архитектурно сложных платформ. Одна ошибка в расщеплении платежей — и деньги уходят не туда. Мы разберём ключевые подводные камни на примере реальных проектов, где число продавцов превышало 10 000, а каталог товаров — 250 000 единиц. Например, в одном проекте с 15 000 продавцов и 500 000 товаров мы столкнулись с проблемой N+1 запросов при загрузке корзины. Решение — материализованные представления и кэш Redis, что сократило время обработки на 60%. Наш опыт показывает: правильная архитектура с первого раза экономит до 40% бюджета на доработках. Финансовые потери от неправильной архитектуры могут достигать нескольких миллионов рублей.
Почему маркетплейс сложнее интернет-магазина?
В отличие от обычного магазина, маркетплейс управляет несколькими сторонами: покупатель, продавец, платформа. Это порождает три критических проблемы: расщепление платежей, верификацию отзывов и разрешение споров. Каждая из них требует отдельного проектирования и часто — внешних интеграций. Типичная комиссия маркетплейса варьируется от 10% до 20% в зависимости от категории товаров. Ключевые метрики: LCP < 2.5 с, конверсия > 3%.
Проблема расщепления платежей
Покупатель платит одну сумму, которая автоматически делится между продавцом и платформой. Stripe Connect — стандарт для западного рынка. Он предлагает три схемы: Direct (продавец видит клиента), Destination (деньги идут через платформу) и Separate charges + transfers (максимальная гибкость для multi-vendor cart). В СНГ используют ЮКассу с API сплитования или CloudPayments через агентскую схему.
Пример создания Transfer в Stripe:
import stripe stripe.Transfer.create( amount=8500, # в центах currency="usd", destination="acct_1BuAYuBnMOckkSJp", # seller's connected account transfer_group="ORDER_95", ) Проблема отзывов и рейтингов
Отзыв должен быть верифицирован: только покупатель, фактически получивший товар, может оставить отзыв. Триггер — смена статуса заказа на delivered или completed + N дней. Продавец может ответить на отзыв. Рейтинг продавца вычисляется по скользящему среднему, часто с весовым коэффициентом по давности (отсечка 90 дней, вес молодых отзывов — 0.4). Неверифицированные отзывы отфильтровываются, чтобы избежать накруток.
Проблема разрешения споров
Спор (dispute) — сущность, возникающая при конфликте: покупатель открывает спор, продавец отвечает, оператор выносит решение. Таймауты: продавец отвечает в течение 3 дней, оператор решает в течение 5 рабочих дней. Платёжная система исполняет решение (refund или transfer). В нашей практике 85% споров решаются без эскалации на оператора благодаря автоматическим правилам: если сумма спора меньше $50, система возвращает деньги покупателю без участия оператора.
Как выбрать стек для маркетплейса?
Выбор стека зависит от масштаба и требований к производительности. Для MVP достаточно Laravel + PostgreSQL + Meilisearch (поиск товаров). Для платформы с миллионами товаров лучше Django + PostgreSQL + Elasticsearch. На фронтенде Next.js обеспечивает хороший SEO и быстрый TTFB. Очереди и кэш — Redis. Хранение файлов — S3-совместимое (Cloudflare R2, MinIO).
| Компонент | Варианты |
|---|---|
| Backend API | Laravel, Django, Node.js/Nest.js |
| Frontend | Next.js, Nuxt.js |
| База данных | PostgreSQL |
| Поиск | Elasticsearch, Meilisearch |
| Очереди | Redis + Bull/BullMQ, RabbitMQ |
| Платежи | Stripe Connect, ЮКасса |
| Хранение файлов | S3-совместимое (Cloudflare R2, MinIO) |
| Кэш | Redis |
Сравнение платёжных подходов
| Критерий | Stripe Connect | ЮКасса |
|---|---|---|
| География | Международный | СНГ |
| Сложность интеграции | Средняя | Низкая |
| Гибкость расщепления | Высокая (3 схемы) | Средняя (агентская схема) |
| Поддержка multi-vendor cart | Да (Separate charges) | Ограниченно |
| Комиссия | 2.9% + 30¢ | 2.99% + 35₽ |
Stripe Connect удобнее для международных проектов и сложных схем расщепления. ЮКасса проще в интеграции для СНГ и быстрее подключается. Получите консультацию по выбору платёжной системы для вашего проекта.
Как мы строим маркетплейс
Наша команда имеет 7+ лет опыта в разработке сложных платформ, запущено 15+ маркетплейсов. Наши инженеры имеют сертификаты по Stripe и AWS. Процесс включает:
- Аналитика — сбор требований, выбор стека, прототипирование платежей.
- Проектирование — архитектура БД, схемы расщепления, ролевая модель.
- Реализация — API, админка, корзина, оплата, поиск, отзывы, споры.
- Тестирование — нагрузочное тестирование, симуляция споров, аудит безопасности.
- Деплой — развёртывание на облаке, настройка CI/CD, мониторинг.
Что входит в работу
- Документация API в Swagger
- Исходный код в репозитории
- Доступы к панелям администратора
- Инструкция по эксплуатации
- Обучение администраторов (до 2 часов)
- Техническая поддержка на месяц после запуска
Сроки разработки
MVP (регистрация продавцов, каталог товаров, корзина, оплата с расщеплением, личные кабинеты, панель администратора) — 3–5 месяцев. Полноценная платформа с отзывами, спорами, аналитикой, мобильными приложениями — 6–12 месяцев.
Если вы планируете запустить маркетплейс — свяжитесь с нами для предварительной оценки. Закажите аудит архитектуры вашего маркетплейса — получите план оптимизации бесплатно.







