Telegraft

Интеграция

Цена, которая означает то же самое в момент нажатия «отправить»

USDT в сети TON — это жетон, то есть контракт токена, а не собственная монета сети, и принимается он внутри Telegram тем же кошельковым сценарием, что и сам TON. Для торговли он конвертирует лучше обычного TON, потому что названная сумма не меняется между расчётом цены и оплатой. После подтверждения платёж необратим.

USDT on TON — интеграция: доступ, лимиты и доступность

Модель авторизации
Не требуется
Где лежит баланс
В жетон-кошельке владельца, а не на основном счёте
Доступность в Заливе
Открыто любому кошельку TON с USDT; подключение не нужно
Поток данных
5 переходов, через воркер

As of 2025-10-01, Telegram Bot API 13.4

Зачем нужна эта интеграция

Цена, названная в волатильном активе, создаёт проблему, не имеющую отношения к технологиям. Витрина называет 12 TON, покупатель думает полторы минуты, и стоимость успевает сдвинуться. Мелкие движения терпимы; заметные заставляют покупателя чувствовать, что он играет на ставку вместо того, чтобы покупать, и число брошенных оплат растёт соответственно.

Стейблкоин снимает это целиком. Двадцать USDT — это двадцать долларов и в момент расчёта цены, и в момент оплаты, а решение покупателя касается товара, а не выбора времени. Для любой торговли — витрины, подписки, оплаты услуги — это обычно самый весомый фактор конверсии на шаге оплаты, весомее чего угодно в оформлении самой корзины.

Механика отличается от собственной монеты сети так, как это важно для реализации. Баланс жетона не лежит на счёте: он живёт в отдельном жетон-кошельке владельца, адрес которого сначала нужно вычислить. Число десятичных разрядов задано контрактом и не совпадает с тем, что у TON. И отправителю всё равно нужно немного собственной монеты сети, чтобы оплатить перевод, — отсюда конкретный и очень частый сбой: у клиента полно USDT и нет TON, заплатить он не может, а сообщение об ошибке не объясняет ничего.

Как на самом деле движутся данные

Покупательв Mini Appцена в USDTВоркер ботакошелёк отправляетПеревод жетонасверка переводаНаблюдательза сетьюподтверждение на глубинеЗаписьзаказа в D1
Ожидаемый перевод — сумма, жетон, адрес получателя и ссылка на заказ — записывается до того, как покупателя попросили отправить деньги, поэтому его можно опознать без единого сообщения от клиента.

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

Модель доступа: Без аутентификации

Их лимиты и что они означают для вас

Балансы жетонов лежат в отдельном жетон-кошельке каждого владельца, а не на его основном счёте.

Адрес жетон-кошелька вычисляется для каждого владельца прежде, чем удастся прочитать хоть какой-то баланс. Прочитать основной счёт и ничего там не увидеть — стандартное первое недоумение.

Число десятичных разрядов жетона задаётся контрактом токена и у разных токенов разное.

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

Перевод жетона требует собственной монеты сети на комиссию, даже когда сам платёж целиком в USDT.

Клиент с USDT и без TON заплатить не может. Оформление заказа обнаруживает это и объясняет, потому что собственное сообщение кошелька непрозрачно, и клиент делает вывод, что сломана ваша витрина.

Подтверждённый перевод необратим: ни отмены платежа, ни арбитра нет.

Возврат — это новый платёж, который отправляете вы, и он исполняется как бизнес-процесс. Тексты витрины обязаны говорить об этом прямо, а не намекать на право возврата как по карте.

Как это ломается и что происходит потом

У покупателя есть USDT, но нет TON на комиссию.

Безусловно самый частый сбой оплаты жетонами. Он обнаруживается до оформления заказа и объясняется простыми словами, поскольку ни кошелёк, ни сеть за вас этого не объяснят.

Перевод пришёл на верную сумму без пригодной ссылки на заказ.

Там, где однозначно, сверяем по сумме и адресу получателя; где нет — передаём человеку. Зачислить неопознаваемый платёж ближайшему ожидающему заказу означает отдать чужой товар не тому покупателю.

На тот же адрес прислали другой жетон.

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

Покупатель отправил чуть меньше названной суммы из-за того, как кошелёк посчитал комиссию.

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

Доступность в ОАЭ и остальных странах Залива

Глобально

Доступно любому, у кого есть кошелёк TON с USDT. Ни подключения, ни торгового счёта, ни включения по странам.

Объединённые Арабские Эмираты

Широко используется криптобизнесом Дубая. Приём платежей в стейблкоине может оказаться регулируемой деятельностью в зависимости от того, что вы продаёте; профильный регулятор — VARA.

Потребительская торговля

Практично только там, где ваши покупатели уже держат USDT в сети TON. Для криптоаудитории это отличный канал, для обычной — стена.

Категории с частыми возвратами

Необратимость плохо подходит там, где возвраты часты и ожидаемы. Карточные каналы существуют отчасти ради этого, и это законный повод выбрать их.

Когда эту интеграцию делать не нужно

  • Ваши покупатели не держат USDT в сети TON. Для криптоаудитории канал отличный, для обычной — непригодный.
  • В вашей категории часто возвращают покупки. Необратимость превращает каждый возврат в ручной исходящий платёж.
  • Вам нужны деньги на банковском счёте. Это отдельный вывод в фиат и отдельный вопрос к регулированию.
  • Вы продаёте цифровые товары аудитории Telegram. Stars проще для обеих сторон и не требуют кошелька.

На чём это работает

КомпонентВерсияЗачем
Cloudflare WorkerscurrentРасчёт цены, вычисление жетон-кошелька и наблюдение за переводами.
Cloudflare D1currentОжидаемые переводы, полосы допуска и очередь на проверку.
TON APIv2Чтение сети ради жетон-кошельков и истории переводов.
TypeScript5.9Строгий режим, суммы везде целыми числами в младших единицах.

Вопросы, которые возникают при оценке

Почему USDT конвертирует лучше собственной монеты сети TON?

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

Почему покупатель с большим запасом USDT не может заплатить?

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

Как безопасно считать суммы в жетонах?

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

Можно ли вернуть платёж в USDT?

Только отправив новый платёж. Исходный необратим после подтверждения, и арбитра нет, поэтому возврат — это бизнес-процесс, а не вызов API. Тексты витрины должны так и говорить, а не намекать на права, привычные по картам.

Что будет, если на наш адрес пришлют другой токен?

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

А если недоплатили несколько центов?

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

Что почитать дальше