Перейти к содержанию
Innovialabs

Как запустить интернет-магазин внутри Telegram-бота

Практика3 мин

Коротко

Магазин в боте — это каталог из категорий и карточек, корзина в базе данных, короткое оформление, оплата через Telegram Payments или ссылку платежной системы и уведомления о статусах; когда товаров много и нужны фильтры, витрину переносят в Mini App.

Короткий ответ

Интернет-магазин в Telegram-боте состоит из пяти частей:

  1. Каталог: категории, подкатегории и карточки товаров с фото, ценой и кнопкой «В корзину».
  2. Корзина, которая хранится на сервере, а не в переписке.
  3. Оформление заказа: контакт, адрес или самовывоз, способ оплаты — в несколько шагов.
  4. Оплата: встроенные платежи Telegram, ссылка на платежную систему или оплата при получении.
  5. Статусы заказа, о которых бот сам пишет покупателю.

Пока товаров немного и выбор простой, все это удобно делать кнопками в чате. Когда нужен поиск, фильтры и сравнение, витрину переносят в Mini App, а бот остается для уведомлений.

Каталог: как не утопить покупателя в кнопках

  • Делайте не больше двух уровней вложенности: категория → товар. Глубокое «меню в меню» быстро теряется.
  • Показывайте товары по одной карточке с кнопками «‹ Назад» и «Вперед ›» или списком с пагинацией.
  • Редактируйте одно сообщение при листании вместо отправки новых, чтобы чат не засорялся.
  • В кнопках передавайте короткие идентификаторы, а не названия: данные inline-кнопки (callback_data) ограничены 64 байтами.
  • Храните фото в Telegram по file_id после первой загрузки — так карточки открываются быстрее.

Корзина и оформление заказа

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

Оформление держите коротким:

  • Телефон — через кнопку «Поделиться контактом», без ручного ввода.
  • Доставка — выбор кнопками: курьер, самовывоз, пункт выдачи. Адрес — текстом или геопозицией.
  • Проверка заказа — итоговое сообщение с составом, суммой, доставкой и кнопками «Подтвердить» и «Изменить».

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

Оплата: три варианта

СпособКак работаетКогда подходит
Telegram PaymentsБот отправляет счет (invoice), оплата проходит в окне Telegram через подключенного провайдераФизические товары, если для вашей страны и валюты есть провайдер в BotFather
Telegram StarsСчет во внутренней валюте TelegramЦифровые товары и услуги внутри Telegram — для них Telegram требует именно Stars
Ссылка платежной системыБот присылает ссылку на оплату у локального провайдера, результат приходит на ваш серверКогда нужного провайдера нет в Telegram Payments

Во встроенных платежах важен порядок: после нажатия «Оплатить» бот получает pre_checkout_query и должен быстро подтвердить или отклонить его — это последний момент, чтобы проверить остаток. Заказ считается оплаченным только после сообщения successful_payment. Актуальные правила — в документации Telegram Payments.

Статусы заказа и уведомления

Задайте понятную цепочку статусов и пишите покупателю на каждом переходе:

  • Новый → Оплачен (или «Ожидает оплаты при получении»)
  • Собирается → Передан в доставку → Доставлен
  • Отменен — с причиной и информацией о возврате

Менеджерам удобно получать новые заказы в отдельный рабочий чат с кнопками смены статуса. Если у вас уже есть CRM или учетная система, бот должен писать заказы туда, а не вести вторую базу.

Когда переходить на Mini App

Признаки, что чат-меню уже мешает:

  • товаров столько, что без поиска и фильтров не обойтись;
  • у товара есть варианты: размер, цвет, комплектация;
  • покупателю нужно сравнивать позиции или видеть много фото;
  • корзина и оформление превратились в длинную цепочку сообщений.

Mini App открывается из кнопки меню бота и выглядит как мобильный сайт внутри Telegram. Бот при этом не исчезает: он присылает подтверждения, статусы и напоминания.

Частые ошибки

  • Хранить корзину только в состоянии диалога — она пропадает после перезапуска.
  • Считать заказ оплаченным по нажатию кнопки, а не по подтверждению платежа.
  • Не давать человеку способа связаться с живым менеджером.
  • Присылать каждую карточку новым сообщением и превращать чат в ленту.

Частые вопросы

Нет, бот может быть самостоятельным каналом продаж. Но нужен сервер, база данных и админ-панель или CRM, где вы ведете товары и заказы.

Поможем с этим

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

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.