Гайд · USDT

Как принимать USDT TRC20 на сайте: пошагово

Обновлено: 4 сентября 2026

USDT в сети TRON — самый частый способ, которым клиенты хотят заплатить криптой: курс не скачет, комиссии низкие, перевод доходит за минуту. Разбираем три способа принимать его на сайте — с честными минусами каждого — и показываем интеграцию, которая укладывается в один вечер.

Почему именно TRC20

USDT (Tether) выпускается в нескольких сетях, но платят им почти всегда в двух: Ethereum (стандарт ERC20) и TRON (стандарт TRC20). Для приёма платежей разница практическая:

  • Комиссия сети. Перевод ERC20 в загруженной сети Ethereum стоит от единиц до десятков долларов. Перевод TRC20 — меньше доллара при оплате ресурсами сети, и эту комиссию к тому же можно снять с плательщика (ниже расскажем как).
  • Скорость. Блок в TRON выходит каждые 3 секунды; платёж виден почти сразу, а надёжно подтверждается за минуту.
  • Привычка. Биржи и обменники по умолчанию предлагают вывод USDT именно через TRC20 — ваш клиент, скорее всего, уже платил так раньше.

Итог: если вы добавляете на сайт один криптовалютный способ оплаты — это приём USDT TRC20. Стейблкоин снимает страх волатильности и у вас, и у клиента: счёт на 50 USDT остаётся счётом на 50 долларов и через час, и через неделю.

Три способа принимать — с честными минусами

1. Вручную: свой адрес на странице оплаты

Создаёте кошелёк, вешаете адрес и QR-код на сайт, просите клиента указать номер заказа в комментарии или написать вам после оплаты.

  • Плюс: бесплатно и быстро — можно запустить сегодня.
  • Минус: платежи не привязываются к заказам. Два клиента заплатили одинаковую сумму — вы не знаете, чей платёж пришёл. Ночью никто не сверяет — товар выдаётся с задержкой.
  • Минус: нет ни недоплат, ни курса, ни таймера. Клиент отправил на 2 USDT меньше — разбирайтесь перепиской.

Работает для «принимаю пару платежей в неделю от знакомых». Ломается на первом же споре.

2. Депозит через биржу

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

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

3. Платёжный шлюз

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

  • Плюс: сверка автоматическая, товар выдаётся без человека — в том числе ночью.
  • Минус: это сервис, у него есть цена. Смотрите не на «комиссию 0.5%», а на всю математику: процент с оборота на заметных суммах быстро обгоняет фиксированную подписку.
  • Минус, о котором молчат: у большинства шлюзов ключи от кошелька — у шлюза, и только у него. Спросите любой сервис: «можете показать seed-фразу моего кошелька?» Молчание — тоже ответ. У нас её можно забрать в кабинете в любой момент.
Короткая версия
До пары платежей в неделю хватит адреса на странице. Как только платежи должны сверяться сами — нужен шлюз: дальше показываем интеграцию на примере Coinrail.

Интеграция за вечер

Понадобится бэкенд, умеющий отправить HTTPS-запрос, — любой язык. Весь путь: регистрация → ключ → один POST-запрос → ссылка на оплату. Ниже — рабочие запросы, они же в документации на PHP, Python, Node и Java.

Шаг 1. Ключ API

Регистрация на /portal или в боте @coinrail_bot сразу выдаёт API_KEY и WEBHOOK_SECRET — оператора ждать не нужно. Ключ показывается один раз: сохраните его в переменные окружения, а не в код.

Шаг 2. Счёт на оплату

Когда клиент выбирает «оплатить USDT», ваш бэкенд создаёт счёт:

curl -X POST https://coinrail.net/v1/invoices \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "coin": "USDT",
    "amount": "50",
    "externalRef": "order-4821",
    "callbackUrl": "https://shop.example/webhook"
  }'

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

Шаг 3. Вебхук

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

Не выдавайте товар по «платёж виден в сети»
Зачисляйте после подтверждений, а не по первому появлению транзакции: для USDT мы считаем платёж окончательным после 19 подтверждений — это меньше минуты, но защищает от отката цепочки. Шлюз сам ждёт нужное число — вебхук об оплате приходит, когда уже безопасно.

Комиссии и энергия: за что вообще платят в TRON

В Bitcoin комиссию сети платит отправитель своими же монетами. В TRON так не получится: комиссия за перевод токена оплачивается не USDT, а ресурсами сети — энергией и bandwidth. Энергию можно получить тремя путями: заморозить TRX, купить сжиганием TRX или арендовать на рынке энергии. Аренда в разы дешевле сжигания — этим пользуются все, кто гоняет USDT постоянно.

Для вас как мерчанта это значит:

  • Приём USDT бесплатен — комиссию сети платит ваш клиент-отправитель (его кошелёк или биржа).
  • За выплату комиссию сети оплачивает шлюз и удерживает фикс: 2.5 USDT, когда комиссия закрыта арендованной энергией (типовой случай), или 4 USDT, если энергию арендовать не удалось и TRX пришлось сжигать. Это не процент: сумма выплаты на плату не влияет. Обе ставки видны заранее в POST /v1/payouts/estimate и на странице тарифов.

Почему у многих сервисов выплата USDT стоит «до $10» — как раз из-за сжигания: без аренды энергии перевод токена обходится в десятки TRX. Отдельный гайд про энергию TRON с боевыми цифрами нашего шлюза — готовится.

Постоянный адрес: когда счёт не нужен

Счёт-на-каждый-платёж — правильный режим для магазина. Но бывает нужен просто постоянный адрес приёма: реквизиты в договоре, донаты, перевод с собственной биржи. Для этого есть свободные адреса: POST /v1/addresses выдаёт адрес без счёта и срока жизни, поступления на него видны в кабинете и в API. До десяти адресов на монету — бесплатно.

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

Клиент отправил меньше, чем в счёте. Что произойдёт?
Счёт перейдёт в состояние недоплаты, вы получите вебхук с фактической суммой, а страница оплаты покажет клиенту остаток. Дослал остаток до истечения счёта — счёт закрывается как оплаченный. Товар до полной оплаты не помечается выданным.
Сколько ждать зачисления USDT TRC20?
Блоки TRON выходят каждые 3 секунды. Мы считаем платёж окончательным после 19 подтверждений — это меньше минуты после отправки. Вебхук об оплате приходит, когда платёж уже безопасно зачислять.
Сколько стоит приём USDT?
Приём бесплатен: комиссию сети платит отправитель, шлюз процент с оборота не берёт — тариф фиксированный, помесячный. Плата есть только за выплату: 2.5 USDT в типовом случае или 4 USDT, если энергию для комиссии пришлось покупать сжиганием TRX.
Нужно ли клиенту регистрироваться, чтобы заплатить?
Нет. Клиент получает ссылку на страницу оплаты: сумма, адрес, QR-код и таймер. Платит из любого кошелька или с биржи — регистрация нужна только вам как владельцу магазина.
У кого хранятся ключи от кошелька?
Кошелёк создаётся по стандарту BIP39/BIP44, и seed-фразу можно забрать в кабинете в любой момент — средства восстанавливаются в стороннем кошельке без участия шлюза. Спросите об этом любой сервис, которым пользуетесь сейчас.
Можно ли выставить счёт прямо в Telegram, без сайта?
Да: бот выставляет счета в любом чате — наберите его имя, сумму, и карточка оплаты появится прямо в переписке. Сайт для приёма USDT не обязателен.

Дальше: документация API — полный справочник счётов, выплат и вебхуков, — и тарифы: фикс в месяц, 0% с оборота, семь дней бесплатно без карты.