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

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

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

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