Щенок Игруля — интернет-магазин премиального корма — превью
Кейсы
Web App Автоматизация

Щенок Игруля — интернет-магазин премиального корма

Интернет-магазин с ЮKassa, СДЭК Fulfillment (FBS), Telegram-уведомлениями и админкой: от карточки товара до автоматической отправки заказа на склад.

2026 3 мин. чтения
Клиент Щенок Игруля
Срок 2 недели
Стек Next.js · TypeScript · PostgreSQL · Prisma · YooKassa
Результат Полностью автоматизированный цикл: оформление заказа → оплата ЮKassa → СДЭК создаёт отправление → админ получает уведомление в Telegram.
  • маркетплейс свой сайт
    Касаний для заказа
  • 0 ручных действий на отправку (СДЭК FBS)
  • 54-ФЗ фискализация и чеки ЮKassa

Задача

Клиент продаёт премиальный корм-холистик для собак. До этого товар был доступен только на Ozon — маржу съедала комиссия маркетплейса, а контроль над воронкой и брендом отсутствовал.

Нужен собственный интернет-магазин с полным циклом: витрина товара, корзина, онлайн-оплата с фискализацией по 54-ФЗ, автоматическая доставка через СДЭК и админ-панель для управления заказами. При этом — минимум ручных действий: после оплаты заказ должен сам уходить на склад СДЭК.

Решение

Витрина

Главная страница — карточка товара с галереей фотографий (Swiper.js, lightbox при клике), развёрнутым составом и бейджами «Гипоаллергенный», «Холистик», «Без глютена». Основная кнопка — «Добавить в корзину», рядом — альтернативная ссылка «Купить на Ozon» для тех, кому удобнее маркетплейс.

Корзина и чекаут

Корзина с управлением количеством, динамическим пересчётом суммы и встроенным виджетом СДЭК. Покупатель выбирает пункт выдачи на интерактивной карте или курьерскую доставку — стоимость пересчитывается в реальном времени на основе веса и габаритов товаров. Форма получателя: ФИО, телефон с маской +7, email.

Оплата ЮKassa

Интеграция с ЮKassa REST API v3 с полным соблюдением 54-ФЗ:

  • Формирование чека с позициями товаров и доставки
  • Idempotence-Key для защиты от дублирования платежей при повторных запросах
  • Верификация вебхуков: IP whitelist (весь пул ЮKassa) + подтверждение статуса через серверный API-запрос
  • Защита от гонки состояний: SELECT ... FOR UPDATE при обновлении статуса заказа
  • Страница успеха с HMAC-подписью — номер заказа виден только для оплаченных заказов

СДЭК Fulfillment (FBS)

После подтверждения оплаты сервер автоматически создаёт заказ в системе СДЭК Fulfillment:

Оплата подтверждена (webhook)
  → Создание заказа в СДЭК (OAuth + FBS API)
  → Получение трек-номера (polling 3 сек)
  → Сохранение в БД
  → Синхронизация статусов через СДЭК webhooks

Статусы СДЭК автоматически транслируются в статусы заказа: CREATED → В обработке, SHIPPED → Отправлен, DELIVERED → Доставлен. Админ видит трек-номер (кликабельная ссылка на cdek.ru) и текущий статус в реальном времени.

Telegram-уведомления

При каждой успешной оплате админ мгновенно получает форматированное HTML-сообщение в Telegram: номер заказа, ФИО, телефон, товары с количеством, стоимость товаров и доставки, способ получения и комментарий покупателя.

Админ-панель

Защищённая JWT-авторизацией панель с тремя разделами:

  • Заказы — таблица с фильтрацией по статусу, дате, типу доставки; поиск по имени, телефону, email. Детали заказа с данными СДЭК Fulfillment (UUID, трек-номер, тип доставки)
  • Товары — управление каталогом: фото (drag & drop, reorder), видео, состав, бейджи, привязка к SKU на складе СДЭК, вес и габариты для расчёта доставки
  • Настройки — смена пароля (rate limit), Telegram Chat ID и токен бота

Безопасность

  • JWT в httpOnly-cookie (secure + SameSite strict)
  • IP whitelist для вебхуков ЮKassa + серверная верификация через API
  • Загрузка файлов: MIME + расширение + magic bytes + лимит 5 МБ
  • Rate limiting: авторизация, смена пароля, расчёт доставки
  • CSP, HSTS, X-Frame-Options, Referrer-Policy
  • Zod-валидация на всех API-эндпоинтах

Результат

ПоказательДоПосле
Канал продажТолько Ozon (комиссия)Свой сайт + Ozon как альтернатива
Обработка заказаВручнуюАвтоматически (ЮKassa → СДЭК FBS → Telegram)
ФискализацияЧерез маркетплейс54-ФЗ, собственные чеки ЮKassa
Контроль над воронкойНетПолный (админка, аналитика, уведомления)
ДоставкаРучной ввод в СДЭКАвтосоздание + трекинг через API

Нужен интернет-магазин с оплатой и автоматической доставкой? Напишите — обсудим задачу.

Спасибо большое Владиславу за оперативную качественную разработку. На время проекта мы стали настоящей командой: Владислав неоднократно предлагал новшества и помогал в реализации всех моих задумок. Специалисту характерны умение слушать и слышать. Обязательно обращусь ещё!

— Кирилл Кушнерёв Основатель, Щенок Игруля
Итог

Полностью автоматизированный цикл: оформление заказа → оплата ЮKassa → СДЭК создаёт отправление → админ получает уведомление в Telegram.

Следующий кейс

WHOOP PWA — персональная аналитика и рекомендации

Веб-приложение (PWA) с WHOOP OAuth 2.0: Recovery, сон, Strain, история тренировок и рекомендации на русском + AI-чат; кеширование запросов к API, деплой Nginx + systemd.