Боты и ИИ
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 процентов, а конверсия оформления остаётся прежней.
Поддержка тонет в разборе спорных оплат: на вопрос «оплатил, где заказ» уходит около шести часов в неделю, и это время менеджера, а не разработчика.
Гости, у которых оплата сорвалась дважды, перестают ставить предзаказ: возврат такого человека обходится в три-четыре раза дороже, чем удержание.
Что можно починить своими руками за один вечер
Часть дефектов закрывается без переписывания приложения: правки лежат в клиентской части и не трогают серверную логику.
- 01Сохраняйте черновик заказа в localStorage и восстанавливайте его по данным initData при повторном открытии.
- 02Показывайте экран «Оплата обрабатывается» с номером заказа вместо возврата в пустую корзину.
- 03Сжимайте фотографии меню до WebP и держите первый экран в пределах 300 КБ.
- 04Дублируйте каждый заказ сообщением в чат менеджеру — это страховка от молчаливой потери.
- 05Сверьте кнопку меню и глубокие ссылки: они должны открывать нужный раздел, а не главный экран.
- 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 ₽ в месяц. Исходники, документация и доступы закреплены за вами.
- 01Карта сценариев и проверка подписи initData на сервере.
- 02Витрина, корзина и сохранение черновика заказа.
- 03Оплата, идемпотентные вебхуки и чеки.
- 04Связка с учётной системой и CRM.
- 05Тесты на живых телефонах, запуск и передача доступов.
Решение: замер, починка возврата, витрина
Мини-приложение перестаёт терять заказы, когда состояние корзины живёт на сервере, статус платежа приходит вебхуком, а гость видит номер заказа в чате. Создание мини-приложений в Telegram (TMA) под ключ начинается не с дизайна, а с честного замера текущей воронки.
Порядок такой: измерьте долю незавершённых оформлений, сравните её с числом оплат в кассе, почините возврат из банка и черновик. Если конверсия после этого упирается в потолок, разбор приложения покажет, что дешевле — точечные правки или сборка витрины заново.
Коротко
6 процентов
Конверсия открытий приложения в оплаченный заказ
18–25 процентов
Оформления, которые теряются на возврате из банка
134 400 ₽ в месяц
Тот же трафик после починки оплаты и черновика
от 100 000 ₽
Сборка витрины внутри мессенджера
Частые вопросы
Можно ли принимать оплату прямо внутри мини-приложения?
Да. Telegram Payments работает с российскими провайдерами: гость платит картой или через СБП и не покидает чат, а чек приходит ему сообщением. Для этого нужна касса и настроенная фискализация, поэтому оплату подключают вместе с учётом заказов, а не отдельным модулем.
Сколько времени занимает разработка Telegram Mini Apps?
Разбор приложения занимает 2–3 рабочих дня, сборка витрины с оплатой и связкой с учётом — от трёх до шести недель. Срок зависит от числа товаров и от того, есть ли выгрузка остатков: без неё карточки заводит менеджер.
Остаются ли исходный код и доступы у заказчика?
Да. Код, база, доступы к серверу, домену и аналитике оформляются на заказчика и передаются после сдачи вместе с документацией. Дальше проект живёт без студии: обязательного обслуживания нет, а если оно нужно, с четвёртого месяца оно стоит от 5 000 ₽ в месяц.




