CryptoLike принимает USDT в сети TRON (TRC20) через тот же API, плагины и ссылки на оплату, что и остальные активы. Вы создаёте платёж, плательщик отправляет USDT на TRON-адрес, начинающийся с «T», и платёж становится paid, когда набирается порог подтверждений актива. Затем подписанный вебхук сообщает об этом вашему серверу.
Что такое USDT TRC20 в CryptoLike
В CryptoLike USDT в сети TRON — отдельный актив: тот же тикер в другой сети, USDT в Ethereum (ERC20), — это другой актив со своим форматом адреса, подтверждениями и комиссиями. Платежи, статические адреса и выплаты работают с USDT TRC20, а средства зачисляются на баланс USDT TRC20 вашего аккаунта.
| Параметр | USDT TRC20 в CryptoLike |
|---|---|
| Актив · сеть | USDT · TRON (TRC20); network в API — tron |
| Формат адреса | TRON-адрес, начинается с «T» |
| Подтверждения | Задаются для актива: поле confirmations в GET /v1/currencies и страница USDT TRC20 |
| Комиссия платформы | По активу и направлению, на странице тарифов |
| Комиссия сети для плательщика | Платит кошелёк отправителя в TRX (энергия и bandwidth) |
| Способы приёма | Платёж (инвойс), статический адрес, ссылка на оплату, плагины CMS |
| Выплаты | Да, с расчётом комиссии до подтверждения |
Какую из двух сетей USDT выбрать, разбираем в статье USDT TRC20 или ERC20.
Что подготовить
Для приёма USDT TRC20 через CryptoLike нужны аккаунт с включённым активом, API-ключ с правами create_invoice и read (или плагин CMS, или просто кабинет для ссылок на оплату) и вебхук-эндпоинт на вашем сервере. Сначала тестируйте с ключом ck_test_ и тестовым адресом API от поддержки CryptoLike: тестовые ключи работают с тестовыми сетями, где тестовые USDT ничего не стоят; тестовые монеты может прислать поддержка CryptoLike.
С плагином для USDT ничего не меняется: плательщик выбирает USDT TRC20 на странице оплаты, а заказ следует за статусом платежа. Подробнее — на странице интеграций.
1. Найдите USDT TRC20 в каталоге
CryptoLike отдаёт все активы, включённые для вашего аккаунта, в GET /v1/currencies: возьмите запись с ticker USDT и network tron. Её id — это coin_id для платежей и выплат, а ещё в записи есть decimals, порог confirmations и флаг maintenance, который показывает временную паузу актива.
Записи нет — актив выключен в вашем аккаунте: включите его в кабинете на странице Монеты, а в поддержку пишите, только если его там нет. maintenance: true — актив сейчас нельзя выбрать для новых платежей; предложите плательщику другой актив или повторите позже.
2. Создайте платёж в USDT TRC20
CryptoLike создаёт платёж в USDT TRC20 одним вызовом POST /v1/invoices. Укажите цену в USD или другой включённой фиатной валюте и передайте coin_id актива USDT TRC20: курс фиксируется при создании, а в ответе уже есть TRON-адрес и точная сумма в USDT. Без coin_id плательщик сам выберет актив на странице оплаты.
{
"amount": "49.90",
"currency": "USD",
"coin_id": "<id USDT в сети tron из GET /v1/currencies>",
"order_id": "A-1002",
"idempotency_by_order_id": true
}Не полагайтесь на один currency: "USDT": этот тикер есть в двух сетях, а coin_id указывает ровно одну. Повтор с тем же Idempotency-Key вернёт тот же платёж, а не создаст второй. Ответ 503 unavailable значит, что свежего курса нет: повторите запрос или создайте платёж в USDT.
3. Покажите плательщику правильную сеть
Страница оплаты CryptoLike показывает сумму, сеть, TRON-адрес с QR-кодом и оставшееся время, а рядом — предупреждение «Отправляйте на этот адрес только USDT в сети TRON (TRC20). Средства, отправленные в другой сети, вернуть невозможно». Отправьте плательщика туда по checkout_url или встройте страницу виджетом оплаты.
В QR-коде — только адрес; сумму плательщик копирует рядом. Некастодиальному кошельку нужен и TRX: в TRON перевод TRC20 расходует энергию и bandwidth, за которые кошелёк без застейканных ресурсов платит в TRX. Эту комиссию сети платит плательщик, в вашу сумму она не входит. Перевод ушёл в другой сети — до платежа он не дойдёт; попросите отправить заново в TRON.
4. Дождитесь подтверждений и отгружайте по paid
CryptoLike переводит платёж в pending («Платёж обнаружен. Ожидаем подтверждения.») сразу, как перевод USDT попал в блок TRON, и в paid, когда набран порог подтверждений актива. В этот момент средства зачисляются на ваш баланс, а ваш эндпоинт получает подписанный вебхук invoice.paid.
Страница оплаты показывает прогресс как «n из N подтверждений». CryptoLike зачисляет только контракт USDT из своего каталога; токен с тем же названием от другого контракта не зачисляется. Если реорганизация сети отменит подтверждённый перевод, придёт invoice.reverted — остановите отгрузку до нового invoice.paid. Подробнее — в статье о подтверждениях платежей.
5. Недоплата, переплата и поздний платёж
CryptoLike обрабатывает неверную сумму статусом, а не отказом в зачислении. Меньше суммы — платёж underpaid, страница показывает остаток, и плательщик может доплатить на тот же адрес до конца срока. Больше — платёж paid с overpaid_amount. Средства после срока тоже зачисляются, с late_payment: true и вебхуком invoice.late_payment.
Небольшая недостача в пределах допуска вашего аккаунта всё равно считается paid. При окончательном underpaid или позднем платеже решите с покупателем: отгрузить, запросить остаток или вернуть деньги выплатой. Подробнее — недоплата.
6. Выплаты в USDT TRC20
CryptoLike отправляет выплаты в USDT TRC20 с доступного баланса через POST /v1/withdrawals. Сначала вызовите POST /v1/withdrawals/estimate: он вернёт комиссию платформы, зарезервированную комиссию сети и total_debit — всё в USDT, комиссия сети TRON пересчитывается в актив выплаты, — ещё до того, как что-то создано.
Какая комиссия сети списывается, зависит от режима, который платформа задаёт для вашего аккаунта: по умолчанию — зарезервированная оценка, в другом режиме — фактическая, а неиспользованный резерв возвращается. Если TRON-адрес назначения — смарт-контракт, в ответе будет address_warning; проверьте его до подтверждения. Для большого числа выплат — массовые выплаты.
Комиссии: кто и что платит
CryptoLike разделяет три комиссии вокруг платежа в USDT TRC20, и каждая видна суммой с единицей: вам — в ответе API или в оценке выплаты, плательщику — в его кошельке. Комиссия платформы списывается только когда платёж подтверждён; комиссию сети за перевод плательщика кошелёк отправителя платит в TRX; у выплаты — своя комиссия платформы и сети в USDT.
| Комиссия | Кто платит | В чём | Где видно |
|---|---|---|---|
| Комиссия платформы с платежа | Вы по умолчанию или плательщик при fee_paid_by: payer |
USDT | Тарифы; ответ API; кабинет. На странице оплаты отдельной строки нет: если платит плательщик, комиссия входит в сумму |
| Комиссия сети за перевод плательщика | Кошелёк плательщика | TRX (энергия, bandwidth) | Кошелёк плательщика |
| Комиссия платформы и сети с выплаты | Вы | USDT | POST /v1/withdrawals/estimate, кабинет |
Как складываются части — в статье из чего состоит комиссия за криптоплатёж.
Ошибки и что делать
CryptoLike возвращает ошибки API в одном формате: HTTP-статус, машиночитаемый code, message для человека и details с указанием поля или причины. Для платежей и выплат в USDT TRC20 чаще всего встречаются эти случаи; у каждого есть действие для восстановления, а полный список — в справочнике API.
| HTTP · code | Что произошло | Что делать |
|---|---|---|
400 validation_error |
Неверное поле, например знаков больше, чем у USDT (details.field) |
Исправьте поле и отправьте снова |
409 conflict по платежу |
Состояние платежа не позволяет действие, например отмену оплаченного | Сначала прочитайте текущее состояние |
409 conflict, insufficient_funds |
Баланс USDT TRC20 не покрывает total_debit |
Дождитесь зачислений или уменьшите выплату |
422 address_refused |
Платформа не принимает этот адрес назначения | Используйте другой TRON-адрес |
403 kyb_required |
Для выплат нужен верифицированный аккаунт | Пройдите верификацию аккаунта в кабинете |
503 unavailable |
Нет свежего курса, или актив на паузе | Повторите с паузой или задайте цену в USDT |
Вопросы и ответы
Сколько подтверждений нужно USDT TRC20?
CryptoLike задаёт порог для каждого актива. Текущее значение для USDT TRC20 — в поле confirmations ответа GET /v1/currencies и на странице USDT TRC20; страница оплаты показывает прогресс как «n из N подтверждений».
Что, если плательщик отправит USDT в сети Ethereum?
Перевод в другой сети не дойдёт до платежа в TRON — страница оплаты предупреждает об этом рядом с адресом. Попросите плательщика отправить заново в TRON или создайте платёж в USDT ERC20 — это другой актив с адресом Ethereum.
Зачем плательщику TRX, чтобы отправить USDT?
Перевод USDT в сети TRON — это вызов смарт-контракта, и он расходует энергию и bandwidth. Кошелёк без застейканных ресурсов оплачивает их сжиганием TRX, поэтому одного баланса USDT недостаточно: рядом должно лежать немного TRX. Кошелёк с нулевым балансом TRX перевод не отправит, и платёж не начнётся.
Можно ли назначить цену в долларах?
Да. Создайте платёж в USD или другой включённой фиатной валюте: CryptoLike фиксирует курс, когда известен актив, и держит его до конца срока платежа, поэтому сумма в USDT, которую видит плательщик, не меняется.