WWCODING
Открытое досье с фотографиями и печатью
Маскот WWCODING: смотрит через лупу

Разбор · Боты и ИИ

Telegram Mini Apps:
мини-приложение с оплатой внутри мессенджера.

Утро в сети кофеен начинается с разбора жалоб: гости оформили предзаказ, оплатили и не получили напиток. Владелец открывает статистику мини-приложения и видит, что до оплаты доходит каждый семнадцатый. Разбираем, где теряется заказ, как проверить своё приложение с телефона за вечер и сколько стоит месяц такой работы.

Боты и ИИ

6 октября 2026 · 10 мин

Мини-приложение живёт внутри Telegram и открывается из бота за пару секунд, но оплата в нём ломается на возврате из банка и уносит заказ вместе с сессией. Ниже замеры для своего приложения, три причины потерь с цифрами, расчёт в рублях и порядок работ по витрине на WebApp.

Ночной предзаказ: гость заплатил, а заказа нет

Сеть кофеен из шести точек поставила в бота кнопку с мини-приложением: гость выбирает напитки, платит и забирает заказ без очереди. В первый месяц приложение открывают 4 200 раз, но бариста всё чаще слышат одну фразу: я оплатил, где мой кофе.

Сцена повторяется каждое утро. Гость открывает приложение, собирает два напитка, нажимает «Оплатить», уходит на страницу банка, подтверждает платёж и возвращается в пустую корзину. Приложение потеряло сессию, заказ в кассу не ушёл, а деньги списались. Человек пишет в поддержку, ждёт ответа двадцать минут и идёт в соседнюю кофейню.

Пять замеров, которые делаются с телефона за вечер

Для этих замеров нужны телефон, бот и недельная выгрузка оформлений. Считайте, а не вспоминайте.

  • Откройте приложение из кнопки меню и посчитайте секунды до первого экрана на мобильном интернете. Больше трёх секунд — часть гостей уходит, не увидев меню.
  • Соберите заказ, сверните Telegram на шаге оплаты и вернитесь через минуту. Корзина пуста — черновик не сохраняется.
  • Оплатите минимальный заказ и проследите, куда приложение вернёт вас после банка. Экран с номером заказа вместо пустой корзины — норма.
  • Возьмите выгрузку незавершённых оформлений за неделю и сравните с числом оплат в кассе. Расхождение больше пятой части — это потерянные заказы.
  • Откройте приложение на телефоне с Android 8–10: там WebView старее, и вёрстка часто разъезжается вместе с кнопкой оплаты.

Три причины, из-за которых оплата не превращается в заказ

Причина первая — потеря состояния при возврате из банка. Telegram WebView перезапускает страницу после внешнего редиректа, и корзина, собранная в памяти, исчезает. По нашей практике на этом шаге теряется 18–25 процентов начатых оформлений.

Причина вторая — приложение доверяет браузеру, а не серверу. Статус платежа проверяют по факту возврата, поэтому оплата с задержкой в сорок секунд заказ не создаёт: гость видит пустую корзину, а деньги висят в неустановленном платеже.

Причина третья — тяжёлый первый экран. Каталог с фотографиями на 4–5 МБ грузится 6–8 секунд на мобильном интернете; за это время треть открытий закрывается, так и не дойдя до кнопки оплаты.

Цена бездействия: 134 400 ₽ в месяц на том же трафике

Считаем на цифрах этой кофейни. Приложение открывают 4 200 раз в месяц, заказ оформляет каждый семнадцатый: 6% от 4200 = 252 заказа. Средний чек 640 ₽, значит 252 × 640 = 161 280 ₽ выручки.

После починки возврата, черновика и проверки статуса на сервере до оплаты доходит одиннадцатая часть открытий: 11% от 4200 = 462 заказа, то есть 462 × 640 = 295 680 ₽.

Разница составляет 295 680 − 161 280 = 134 400 ₽ в месяц. За год та же витрина при том же бюджете на рекламу даёт 134 400 × 12 = 1 612 800 ₽.

К чему приведёт если не действовать

Реклама в Telegram дорожает: за два-три квартала цена привлечения одного открытия растёт на 15–25 процентов, а конверсия оформления остаётся прежней.

Поддержка тонет в разборе спорных оплат: на вопрос «оплатил, где заказ» уходит около шести часов в неделю, и это время менеджера, а не разработчика.

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

Что можно починить своими руками за один вечер

Часть дефектов закрывается без переписывания приложения: правки лежат в клиентской части и не трогают серверную логику.

  1. 01Сохраняйте черновик заказа в localStorage и восстанавливайте его по данным initData при повторном открытии.
  2. 02Показывайте экран «Оплата обрабатывается» с номером заказа вместо возврата в пустую корзину.
  3. 03Сжимайте фотографии меню до WebP и держите первый экран в пределах 300 КБ.
  4. 04Дублируйте каждый заказ сообщением в чат менеджеру — это страховка от молчаливой потери.
  5. 05Сверьте кнопку меню и глубокие ссылки: они должны открывать нужный раздел, а не главный экран.
  6. 06Добавьте кнопку «Не прошла оплата» с номером заказа, чтобы гость не искал поддержку в переписке.

Что остаётся за пределами админки: что дальше

Правки во внешней части упираются в границу, за которой начинаются чужие деньги и данные.

  • Подпись initData. Сервер обязан проверять HMAC, иначе запрос извне создаст заказ и спишет баллы.
  • Идемпотентность платежей. Повторный вебхук банка при наивной логике рождает второй заказ и второй чек.
  • Фискализация. Чек по 54-ФЗ должен уходить автоматически, а не по кнопке бухгалтера.
  • Смена версий Telegram WebApp API. Методы и события обновляются, и обходные приёмы однажды перестают работать без предупреждения.
  • Состояние между устройствами. Телефон и планшет должны показывать один и тот же заказ.

Как строится работа и смета

Разбор приложения денег не стоит: 0 ₽, срок 2–3 рабочих дня, ведёт основатель студии Максим Холмов. На выходе — перечень дефектов с суммой потерь по каждому и очерёдность правок.

Бюджет собирается из состава задачи: витрина внутри мессенджера — от 100 000 ₽, отдельный лендинг под услугу — от 10 000 ₽, многостраничник — от 30 000 ₽, интернет-магазин — от 80 000 ₽, кастомная CRM — от 150 000 ₽, приложение под iOS и Android — от 150 000 ₽. Квартал гарантии закрывает наши правки без счёта; с четвёртого месяца обслуживание обходится от 5 000 ₽ в месяц. Исходники, документация и доступы закреплены за вами.

  1. 01Карта сценариев и проверка подписи initData на сервере.
  2. 02Витрина, корзина и сохранение черновика заказа.
  3. 03Оплата, идемпотентные вебхуки и чеки.
  4. 04Связка с учётной системой и CRM.
  5. 05Тесты на живых телефонах, запуск и передача доступов.

Решение: замер, починка возврата, витрина

Мини-приложение перестаёт терять заказы, когда состояние корзины живёт на сервере, статус платежа приходит вебхуком, а гость видит номер заказа в чате. Создание мини-приложений в Telegram (TMA) под ключ начинается не с дизайна, а с честного замера текущей воронки.

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

Коротко

6 процентов

Конверсия открытий приложения в оплаченный заказ

18–25 процентов

Оформления, которые теряются на возврате из банка

134 400 ₽ в месяц

Тот же трафик после починки оплаты и черновика

от 100 000 ₽

Сборка витрины внутри мессенджера

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

Можно ли принимать оплату прямо внутри мини-приложения?

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

Сколько времени занимает разработка Telegram Mini Apps?

Разбор приложения занимает 2–3 рабочих дня, сборка витрины с оплатой и связкой с учётом — от трёх до шести недель. Срок зависит от числа товаров и от того, есть ли выгрузка остатков: без неё карточки заводит менеджер.

Остаются ли исходный код и доступы у заказчика?

Да. Код, база, доступы к серверу, домену и аналитике оформляются на заказчика и передаются после сдачи вместе с документацией. Дальше проект живёт без студии: обязательного обслуживания нет, а если оно нужно, с четвёртого месяца оно стоит от 5 000 ₽ в месяц.

Маскот WWCODING: протягивает ключ

Следующий шаг

Есть дело?
Присаживайтесь.

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