# Recibir pagos en USDT ERC20 (Ethereum)

> Recibe pagos en USDT ERC20 con CryptoLike: página de pago con monto, red y tiempo restante, acreditación tras las confirmaciones y un webhook firmado a tu servidor.

Source: https://cryptolike.net/es/coins/usdt-erc20
Updated: 2026-09-28

Para cobrar en USDT por la red Ethereum, CryptoLike acredita el pago en USDT (ERC20) a tu saldo tras 12 confirmaciones de la red Ethereum y se lo informa a tu servidor con un webhook firmado. Tú creas el pago y tu cliente envía los USDT desde su propia billetera de Ethereum. CryptoLike vigila la dirección, cuenta las confirmaciones y cambia el estado de `pending` a `paid`.

## Cómo funciona un pago en USDT (ERC20)

Un pago en USDT (ERC20) en CryptoLike pasa por cuatro pasos y tres estados: `new`, `pending` y `paid`. La página de pago, la API y los webhooks muestran el mismo estado, así que la lógica de tus pedidos lee un solo campo. Tu cliente no necesita cuenta en CryptoLike: solo una billetera de Ethereum con USDT y algo de ETH para el gas.

1. **Creas el pago** con `POST /v1/invoices`, el [plugin para WooCommerce](https://cryptolike.net/es/integrations/woocommerce), el [módulo para PrestaShop](https://cryptolike.net/es/integrations/prestashop) o un [enlace de pago](https://cryptolike.net/es/use-cases/payment-links). Estado: `new`.
2. **Tu cliente ve qué debe enviar:** el monto exacto en USDT, la red (Ethereum), la dirección con código QR y el tiempo restante.
3. **Se detecta la transferencia.** Estado: `pending`, «Pago detectado. Esperando confirmación.»
4. **Se confirma el pago.** Tras 12 confirmaciones el estado pasa a `paid`, los fondos están en tu saldo y llega un [webhook](https://cryptolike.net/docs/webhooks) `invoice.paid` firmado.

## Qué distingue a USDT en Ethereum

USDT es la stablecoin en dólares emitida por Tether. El mismo USDT circula también por otras redes, y los exchanges suelen ofrecer varias para un retiro, así que tu cliente debe elegir Ethereum (ERC20) a propósito. [USDT en TRON (TRC20)](https://cryptolike.net/es/coins/usdt-trc20) es otro activo en CryptoLike, con su propia dirección y una comisión de red que se paga en TRX mediante energía y ancho de banda en lugar de gas en ETH; [la comparación](https://cryptolike.net/es/blog/usdt-trc20-vs-erc20) ayuda a elegir. En Ethereum, USDT tiene 6 decimales: la API rechaza un monto en USDT con más, y un precio en USD se redondea hacia arriba a seis. Tether puede congelar una dirección, y una billetera en una dirección congelada no puede enviar USDT, así que un pago desde ella nunca llega.

## Qué debe saber tu cliente sobre Ethereum

En Ethereum, CryptoLike acepta solo los USDT del contrato ERC20 oficial de Tether enviados a una dirección que empieza con `0x`. La billetera del cliente paga la comisión de red de Ethereum, llamada gas, en ETH, por lo que necesita algo de ETH junto a los USDT. El monto de la página de pago debe llegar completo y únicamente por la red principal de Ethereum.

- **Dirección.** `0x` seguido de 40 caracteres hexadecimales. Otras redes compatibles con EVM usan el mismo formato: revisa el nombre de la red en la página.
- **Comisión de red.** El gas se paga en ETH y varía según la carga de la red. Una billetera con USDT y 0 ETH no puede enviar.
- **Contrato.** Solo se acreditan los USDT del contrato de Tether `0xdAC17F958D2ee523a2206206994597C13D831ec7`.
- **Monto exacto.** Si un exchange descuenta su comisión de retiro, el pago llega incompleto y queda en `underpaid`. Envía la diferencia a la misma dirección antes de que se acabe el tiempo.
- **Red.** Los USDT enviados por otra red nunca llegan a este pago y no se pueden recuperar.

## Crea un pago en USDT (ERC20)

Para crear un pago en USDT (ERC20) en CryptoLike, toma de `GET /v1/currencies` el `id` del activo con `ticker` USDT y `network` eth, y pásalo como `coin_id` a `POST /v1/invoices`. Pon el precio en USDT, como en el ejemplo, o en USD: en ese caso CryptoLike convierte al tipo de cambio actual y lo fija durante el plazo del pago.

```bash
COIN_ID=$(curl -s https://api.cryptolike.net/v1/currencies \
  | jq -r '.currencies[] | select(.ticker=="USDT" and .network=="eth") | .id')

BODY='{"amount":"250.00","currency":"USDT","coin_id":"'"$COIN_ID"'","order_id":"A-1002"}'
curl -s https://api.cryptolike.net/v1/invoices \
  -H "Content-Type: application/json" -H "Idempotency-Key: order-A-1002" \
  -H "X-API-Key: $KEY_ID" -H "X-Timestamp: $TS" -H "X-Signature: $SIG" -d "$BODY"
```

La respuesta incluye `address`, `payer_amount` y `checkout_url`: envía a tu cliente a esa URL. Cómo firmar la solicitud: [autenticación de la API](https://cryptolike.net/docs/auth); todos los campos: [referencia de la API](https://cryptolike.net/docs/api).

## Preguntas frecuentes

### ¿Cuántas confirmaciones necesita USDT ERC20?

CryptoLike acredita USDT (ERC20) tras 12 confirmaciones de la red Ethereum. El umbral se define por activo, lo devuelve `GET /v1/currencies` y tu cliente ve el avance en la página de pago. Más sobre las [confirmaciones](https://cryptolike.net/es/glossary/confirmations).

### ¿Qué pasa si el cliente envía USDT por TRON (TRC20)?

TRON no usa direcciones `0x`, y los USDT enviados por otra red no llegan a este pago y no se pueden recuperar. Para que el cliente elija la red, crea el pago con `currency: "USDT"` y sin `coin_id`: así elige en la página entre Ethereum y [TRON (TRC20)](https://cryptolike.net/es/coins/usdt-trc20).

### ¿Puedo poner el precio en USD?

Sí. Envía `currency: "USD"` con el `coin_id` de USDT: CryptoLike convierte al tipo de cambio actual y lo fija durante el plazo del pago. Si no hay un tipo de cambio reciente disponible, la API responde `503`: vuelve a intentarlo o pon el precio del pago en USDT.

### ¿Qué pasa si el cliente envía más o menos que el monto?

Si envía menos, el pago queda en `underpaid`, `remaining_amount` muestra lo que falta y una transferencia complementaria a la misma dirección antes de que se acabe el tiempo lo completa. Si envía más, el pago queda en `paid` con `overpaid_amount` mayor que cero, y el excedente se queda en tu saldo.

### ¿Cómo funcionan los retiros en USDT ERC20?

Con `POST /v1/withdrawals` y los campos `coin_id`, `amount`, `to_address` y tu `payout_id`, o con un CSV de hasta 1,000 filas en el panel ([pago masivo](https://cryptolike.net/es/use-cases/mass-payouts)). Antes, `POST /v1/withdrawals/estimate` muestra la comisión de la plataforma, la comisión de red reservada (en USDT, sin necesidad de saldo en ETH) y el total que se descuenta. Los retiros requieren una cuenta verificada; las comisiones están en la [página de precios](https://cryptolike.net/es/pricing).
