Интеграция
Stripe — когда проходят и ваше юрлицо, и ваша категория
У Stripe самый сильный опыт разработчика среди платёжных процессингов, и он аккуратно подключается как провайдер Telegram Payments. Ограничение для проектов Залива — не возможности, а допуск: ОАЭ поддерживаются, но приём зависит от типа компании и вида деятельности, а несколько привычных здесь категорий запрещены напрямую.
Stripe — интеграция: доступ, лимиты и доступность
- Модель авторизации
- Ключ API
- Проверка категории
- Список ограниченных и запрещённых видов деятельности, проверяется при подключении и после
- Доступность в Заливе
- ОАЭ — после проверки юрлица и категории; каждую другую страну Залива подтверждайте до старта
- Поток данных
- 5 переходов, через воркер
As of 2025-10-01, Telegram Bot API 13.4
Зачем нужна эта интеграция
По инженерным качествам спорить тут особо не о чем. API у Stripe связный, webhook подписаны и воспроизводимы, тестовый режим действительно пригоден для работы, а документация соответствует реальности. Интеграция, которая с региональным шлюзом занимает две недели, со Stripe занимает несколько дней, и получившийся код проще разобрать, когда что-то ломается в два часа ночи.
Причина, по которой региональные шлюзы всё равно забирают заметную долю работы в Заливе, — допуск, а не возможности. Stripe работает в ОАЭ, но пройдёт ли конкретная компания, зависит от её структуры и того, чем она торгует, а среди отклоняемых категорий есть вполне обычные для местного рынка виды бизнеса. Компания из свободной зоны в пограничной категории может неделями висеть на проверке и получить отказ — к этому моменту проект уже упустил своё окно.
Отсюда правильный порядок действий: сначала закрыть вопрос допуска, потом выбирать процессинг, а не наоборот. Определитесь с юрлицом, категорией и требованием к расчётам; если Stripe принимает все три — берите лучший опыт разработчика. Если хоть что-то из этого под вопросом, считайте эту неопределённость решающим фактором, а не административной мелочью, которую можно закрыть параллельно с разработкой.
Как на самом деле движутся данные
Stripe использует секретный ключ на сервере и публикуемый ключ на клиенте, а webhook подписываются отдельным секретом подписи. Каждый webhook проверяется по этой подписи до обработки: непроверяемый обработчик — это адрес, на который кто угодно может отправить выдуманные события об оплате, а проверка сводится к одному вызову, который всё равно регулярно пропускают.
Модель доступа: API-ключ
Их лимиты и что они означают для вас
Stripe публикует список ограниченных и запрещённых видов деятельности и следит за ним и при подключении, и после него.
Допуск подтверждается до того, как выбрана интеграция. Аккаунт, закрытый после запуска из-за категории, наносит куда больший ущерб, чем сознательно выбранный на старте медленный шлюз.
API Stripe ограничен по частоте запросов на уровне аккаунта, причём лимиты на чтение и на запись считаются отдельно.
Обычные объёмы бота до них даже близко не доходят. Массовая заливка истории или скрипт миграции — доходят, и такие вещи запускаются с намеренной паузой, а не на полной скорости.
События webhook доставляются не менее одного раза и могут приходить не по порядку.
Обработчики идемпотентны по идентификатору события и рассуждают о состоянии, а не о последовательности. Stripe пишет об этом прямым текстом, и это всё равно самая частая причина двойного исполнения заказа.
Тестовый и боевой режимы используют полностью раздельные ключи, объекты и адреса webhook.
Разделение чистое, поэтому и отказ получается конфигурационным: бот, смотрящий на тестовые ключи, принимает заказы, которые никому ничего не списывают, и выглядит при этом совершенно здоровым.
Как это ломается и что происходит потом
Webhook приходит раньше, чем воркер успел записать заказ, к которому этот webhook относится.
Заказ пишется до создания платёжного намерения, поэтому такой порядок в принципе невозможен. Создать намерение первым и надеяться, что webhook найдёт заказ, — это гонка, которая проявляется только под нагрузкой.
Проверка подписи не проходит, потому что тело запроса разобрали до проверки.
Подпись считается по сырым байтам. Мелочь на уровне реализации, которая полностью ломает все webhook до единого, и почти всегда именно она стоит за «случайными» сбоями проверки.
Платёж прошёл, а шаг исполнения заказа упал с исключением.
Webhook не подтверждён, поэтому Stripe повторит его. Это правильное поведение, и работает оно только при идемпотентных обработчиках, потому что retry заново прогонит и всё то, что уже отработало.
Спор по транзакции или чарджбэк приходит через несколько недель после исполнения заказа.
Webhook о спорах обрабатываются и уходят живому человеку, а не в никуда. Процессинг, который отдаёт вам событие, и интеграция, которая его теряет, — хуже, чем полное отсутствие уведомления.
Доступность в ОАЭ и остальных странах Залива
Объединённые Арабские Эмираты
Поддерживаются с проверкой юрлица и категории. Подтверждайте приём именно вашего бизнеса до того, как взяли интеграцию в работу, а не параллельно с разработкой.
Саудовская Аравия и остальной Залив
Покрытие различается по странам и со временем меняется. Смотрите актуальный список стран у самого Stripe, а не любой пересказ со стороны, включая этот.
Криптовалюты и виртуальные активы
Запрещённая категория деятельности. Проект под регулированием VARA не может строиться на Stripe и должен закладывать TON, USDT или профильного провайдера.
Цифровые товары внутри Telegram
Разрешены, но на малых чеках Telegram Stars обычно конвертируют лучше и не требуют торгового аккаунта. Stripe выигрывает по мере роста сумм, когда начинает доминировать процент комиссии.
Когда эту интеграцию делать не нужно
- Ваша категория в списке ограничений Stripe. Построить сначала, а согласование получать потом — значит рисковать закрытием аккаунта в самый неподходящий момент.
- Вам нужны расчёты в дирхамах на местный банк на региональных условиях. Ровно для этого существуют Telr и PayTabs, и это главная причина, по которой они до сих пор забирают работу в Заливе.
- Вы продаёте дешёвые цифровые товары аудитории Telegram. Stars конвертируют лучше и вовсе не требуют торгового аккаунта.
- У вас бизнес на виртуальных активах. Категория запрещена, и никакие аккуратные формулировки этого не меняют.
На чём это работает
| Компонент | Версия | Зачем |
|---|---|---|
| Cloudflare Workers | current | Создание платёжного намерения и обработка подписанных webhook. |
| Cloudflare D1 | current | Заказы, записанные до намерения и исполняемые по webhook. |
| Zod | 4.4 | Валидация тела webhook уже после проверки подписи. |
| grammY | 1.45 | Показ счёта и подтверждение с возвратом в переписку. |
Вопросы, которые возникают при оценке
Может ли компания из ОАЭ работать со Stripe?
Часто может, и зависит это от структуры юрлица и вида деятельности. Эту пару стоит подтвердить у Stripe до того, как вы взяли интеграцию в работу: отказ после готовой разработки обходится дорого, а сознательно выбранный на старте медленный шлюз — нет.
Почему заказ исполняется по webhook, а не в момент возврата покупателя?
Потому что возврат покупателя — это утверждение, а webhook — событие, за которое Stripe отвечает. Клиенты закрывают вкладки, теряют связь, и ими можно манипулировать; webhook придёт в любом случае и повторится, если вы его не подтвердили.
У нас проверка подписи webhook периодически не проходит. В чём дело?
Почти всегда в том, что тело запроса разобрали как JSON до проверки. Подпись считается по сырым байтам, поэтому любая пересборка её ломает. Выглядит как случайный сбой и оказывается полностью детерминированным, стоит посмотреть на порядок действий.
Как у вас обрабатываются споры по платежам?
Webhook о спорах обрабатываются и уходят живому человеку вместе с приложенным заказом. Stripe отдаёт вам событие; интеграция, которая молча его теряет, оставляет вам вариант узнать обо всём по остатку на счёте — самый дорогой из возможных.
Stripe дешевле регионального шлюза?
Ставки обсуждаются индивидуально и на сопоставимых объёмах оказываются близкими. Реальная разница — во времени разработки и ясности эксплуатации; это вполне измеримая величина, но она редко перевешивает требование к тому, куда приходят деньги.
Можно ли использовать Stripe вместе с Telegram Stars?
Да, а для продуктов, где есть и цифровая, и физическая часть, обычно приходится: за физические товары Stars платить нельзя. Модель доступа учитывает оба канала, поэтому права покупателя одинаково корректны независимо от того, чем он заплатил.
Что почитать дальше
Для цифровых товаров с низким чеком сравните комиссию и конверсию с интеграцией Telegram Stars.
Там, где нужны расчёты в дирхамах на банк в ОАЭ, ответом обычно оказывается интеграция с Telr.
Подписки и права доступа сразу по обоим каналам описаны в разборе бота платежей через Stars.
Остальные процессинги и их региональные ограничения разобраны в полном списке интеграций.