Маркетплейс для геймеров изнутри: что мы поняли, собирая GoRanked
Буст рейтинга, аккаунты и скины CS2 в одном месте, семь языков, шесть способов оплаты и чат, который отвечает ночью. Рассказываем, из каких решений складывается маркетплейс игровых услуг и где в нём настоящая сложность.
GoRanked — наш собственный продукт. Мы развиваем его с октября 2025 года и проверяем на нём всё, что потом предлагаем клиентам: приём платежей в разных странах, обновления в реальном времени, поддержку с AI и сайт, который не проседает на пиках трафика. Снаружи маркетплейс аккаунтов и буста GoRanked похож на обычный магазин: каталог, карточка, корзина. Внутри это три разных бизнеса под одной крышей, и почти каждое архитектурное решение растёт именно из этой разницы.
Три витрины — три разных товара
Буст — это услуга, растянутая во времени. Цена зависит от стартового и желаемого рейтинга, сервера и опций, выполнение занимает несколько дней, и всё это время клиент хочет видеть прогресс.
Аккаунт — уникальный товар. Одно объявление — одна продажа, и принадлежит оно не нам, а конкретному продавцу. Значит, нужны резерв на время оплаты, передача данных для входа и разбор спора, если что-то пошло не так.
Скины CS2 — это тысячи позиций с ценой, float и качеством. Здесь всё решают фильтры, поэтому поиск вынесен в Meilisearch и не нагружает основную базу.
Общими у трёх витрин остаются кабинет клиента, оплата и поддержка. Жизненные циклы заказов мы сознательно не смешивали: попытка описать буст и аккаунт одной моделью «товар» ломается на первом же возврате.

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

Семь языков — это не кнопка «перевести»
У каждой языковой версии свои адреса и разметка hreflang, а у английской есть ещё региональные варианты для США и Канады. Переводить приходится не только интерфейс, но и игровой словарь: «Герой» в русской версии, «Архонт» в украинской и Archon в английской — один и тот же ранг, и путать их нельзя ни в фильтрах, ни в заказе.
Валюта подбирается по стране посетителя, а цены хранятся в одной учётной валюте и пересчитываются по курсу. Правило, которое мы держим жёстко: сумма платежа и учётная сумма — разные поля, и каждый возврат и каждый отчёт обязаны знать, с каким из них работают.
Шесть способов оплаты и одна сверка
Stripe, Whitepay, криптовалюта, Monobank, перевод по IBAN и оплата скинами. У каждого провайдера свои вебхуки, статусы и задержки, поэтому внутри они сведены к одной модели платежа. Возвраты проводятся автоматически, а комиссии сверяются каждый день — иначе расхождение в пару процентов замечаешь только в конце квартала.
Поддержка, которая не спит
Чат на сайте работает круглосуточно. Операторы отвечают из отдельного приложения Chat Desk на компьютере или телефоне, рядом с перепиской видят заказы клиента, а модель подсказывает ответ по базе знаний. Если клиент пишет на другом языке, переписку и черновик ответа можно перевести прямо в окне чата. Решает всегда человек: AI предлагает черновик, оператор отправляет. Об изменениях в заказе и балансе клиент узнаёт из Web Push, даже если вкладка закрыта.
Продавцы и исполнители — тоже пользователи
Маркетплейс живёт, пока на нём хотят работать. Бустеры и продавцы подают заявку через одну форму-мастер, проходят проверку и получают свой кабинет. Рейтинг продавца, число его продаж и доля положительных отзывов показаны прямо в каталоге — покупателю это объясняет больше, чем любой баннер «гарантия».

Что мы сделали бы так же
- Считать цену на сервере с первого дня, а интерфейсу оставить только мгновенный отклик.
- Закладывать языки и валюты в модель данных, а не в шаблоны.
- Разделять жизненные циклы услуг и товаров, даже если витрина у них общая.
- Держать поддержку в отдельном инструменте, где под рукой контекст клиента.
- Показывать рейтинг продавца там, где покупатель принимает решение.
Стек, цифры и скриншоты админки — в кейсе GoRanked. А как всё это выглядит для игрока, проще всего посмотреть на самом goranked.gg.