Para verificar un pago en USDT, no confíes en una captura ni en un mensaje que diga “ya lo envié”. Abre el hash en un explorador confiable de la red indicada y confirma que la transacción tuvo éxito, que el contrato es el USDT auténtico, que el destinatario es tu dirección, que el importe coincide con la invoice y que hay suficientes confirmaciones. Marca el pedido como pagado solo cuando todos esos datos coincidan.
Una captura puede editarse, reutilizarse o tomarse mientras la transacción sigue pendiente. Incluso un hash real no basta: puede apuntar a una transacción fallida, otro destinatario, una red incorrecta, un token falso o un pago antiguo de otro pedido. La prueba fiable es una transacción on-chain confirmada y vinculada con los datos esperados de la invoice.
Checklist rápido para verificar un pago cripto
Antes de entregar un producto, activar un servicio o confirmar una reserva, comprueba:
- Red: la transacción está en la red acordada.
- Estado: el explorer indica éxito, no pending, dropped o failed.
- Contrato: el activo es el USDT o USDC auténtico en esa red.
- Destinatario: la dirección receptora coincide completamente con la tuya.
- Importe: el valor recibido liquida la invoice según tu política.
- Confirmaciones: la transferencia alcanzó el umbral requerido.
- Pedido: el mismo hash no se usó antes para otra invoice.
Si un punto falla o sigue siendo ambiguo, el pago no está verificado. Una captura no sustituye evidencia on-chain inexistente.
Por qué una captura no es prueba de pago
Una captura es una imagen de una interfaz, no un registro blockchain. No demuestra que la transacción finalizó, corresponde al cliente actual o envió el activo correcto a tu dirección.
Ejemplos engañosos:
- pantalla de confirmación antes de emitir la transacción;
- transacción pendiente o fallida;
- transferencia antigua reutilizada para un pedido nuevo;
- envío a otra dirección con el destinatario oculto;
- token llamado USDT con otro contrato;
- importe, estado o hash editado;
- solicitud de retiro en un exchange que todavía no produjo una transacción on-chain.
Pide el hash al investigar un pago manual, pero verifícalo de forma independiente. No abras un enlace de explorer desconocido enviado por el comprador: copia el hash y búscalo en el explorer conocido de la red correcta.
Cómo comprobar una transacción USDT paso a paso
1. Identifica primero la red
USDT existe en varias redes. Un hash solo tiene sentido junto con su red, y una misma dirección EVM puede utilizarse en diferentes redes EVM.
Confirma si la invoice solicitó Ethereum, TRON, BNB Smart Chain, Polygon, Arbitrum, Base, Optimism o Solana. Una transferencia exitosa en la red equivocada no paga la invoice original, aunque el símbolo y la dirección parezcan correctos.
Usa los mismos explorers que GramPayBot enlaza en los detalles de transacción:
| Red | Explorer | Qué pegar en la búsqueda |
|---|---|---|
| Ethereum | Etherscan | Hash que comienza por 0x |
| Optimism | OP Mainnet Etherscan | Hash que comienza por 0x |
| BNB Smart Chain | BscScan | Hash que comienza por 0x |
| Base | BaseScan | Hash que comienza por 0x |
| Polygon | PolygonScan | Hash que comienza por 0x |
| Arbitrum | Arbiscan | Hash que comienza por 0x |
| TRON | TRONSCAN | Hash de transacción TRON |
| Solana | Solscan | Firma de transacción Solana |
Pega el hash o la firma sin convertirlo en otro enlace. Si no hay resultados, confirma primero que el cliente indicó la red correcta. No pruebes dominios aleatorios enviados por chat.
2. Confirma que la transacción tuvo éxito
Busca el estado. La etiqueta cambia según la red, pero debe indicar ejecución exitosa. Pending significa que el resultado todavía no finalizó; failed, reverted o dropped significa que la transferencia esperada no se liquidó.
No confundas el estado interno de retiro del exchange con una confirmación blockchain. Un retiro puede aparecer como approved antes de que la transacción exista y se confirme on-chain.
En explorers de la familia Etherscan, revisa primero Status y después Tokens Transferred. En TRONSCAN, comprueba Result y Token Transfers. En Solscan, revisa Status y Token Balance Change. Las etiquetas pueden cambiar, pero necesitas demostrar ejecución exitosa y una transferencia real del token a tu dirección.
3. Verifica el contrato, no solo el símbolo
Los nombres y símbolos no son únicos. Cualquiera puede crear un token llamado USDT, copiar el logotipo y enviar un saldo sin relación con Tether USD.
Abre los detalles del token transfer y compara el contract address con el contrato de USDT soportado en esa red. La misma regla se aplica a USDC. El contrato o mint identifica el activo; el símbolo y el logo solo ayudan a mostrarlo.
En GramPayBot, la red, contrato y destinatario esperados se fijan antes del pago. Consulta cómo configurar wallets y redes.
4. Compara la dirección completa del destinatario
El destino debe coincidir exactamente con la dirección que controlas y proporcionaste. Compara todos los caracteres, no solo el principio y el final que muestra una wallet abreviada.
Los ataques de address poisoning introducen direcciones visualmente parecidas en el historial. Copia la dirección esperada de tu invoice o configuración, nunca de transacciones recientes.
5. Compara el importe recibido con la invoice
Revisa el importe del token transfer teniendo en cuenta sus decimals y aplica tu política de pagos insuficientes y excedentes.
Una transacción puede ser auténtica y no liquidar el pedido. Recibir 95 USDT no paga automáticamente una invoice de 100 USDT. Un pago excesivo también puede necesitar revisión antes de entregar o reembolsar.
En ventas manuales, crea una invoice separada antes del pago para conservar importe y contexto. Consulta cómo crear una invoice cripto rastreable.
6. Espera las confirmaciones necesarias
Una transacción puede aparecer en un bloque antes de que tu política la considere final. Las confirmaciones indican cuántos bloques o estados finalizados siguieron a la transacción.
El umbral depende de la red, el importe y el riesgo. No uses un único número permanente para todas las chains. Mantén el pedido en espera hasta alcanzar el umbral configurado.
7. Vincula la transacción con un solo pedido
Una transacción válida no puede acreditar varios pedidos. Guarda el hash aceptado e impide que cierre otra invoice.
No identifiques al pagador solo por la dirección de origen. Los exchanges usan wallets compartidas y el cliente puede pagar desde otra wallet. Haz el match usando red, token, destinatario, importe, ventana temporal e identidad única de la transacción.
Encontrar una transacción no significa que la invoice esté pagada
| Evidencia | Qué demuestra | Decisión |
|---|---|---|
| Captura o “ya envié” | El comprador afirma que pagó | No entregar |
| Hash ausente o no encontrado | No hay transferencia verificable | No entregar |
| Transacción pending | Puede estar procesándose | Esperar |
| Éxito con token, red o destinatario incorrecto | Existe una transacción, pero no coincide | No marcar como pagada |
| Pago insuficiente o ambiguo | Puede haber llegado parte del dinero | Revisar manualmente |
| Transferencia confirmada que coincide con toda la invoice | El pago esperado se liquidó | Marcar pagada y entregar |
“Transacción encontrada”, “fondos recibidos” y “pedido pagado” son estados relacionados, pero distintos.
Cuándo la verificación manual deja de escalar
La revisión manual funciona con pocos pagos. Con varios clientes simultáneos o pedidos fuera de horario, una persona debe elegir explorer, reconocer contratos, comparar direcciones, esperar confirmaciones y evitar reutilizar hashes.
La automatización comienza con una invoice creada antes del pago. El sistema ya conoce red, token, destinatario, importe, vencimiento y referencia del pedido; observa la blockchain y cambia el estado solo cuando se cumplen las condiciones.
GramPayBot realiza este matching sin custodiar fondos: el cliente paga directamente a la wallet configurada y la invoice registra estado y hash. Transferencias ambiguas, tardías, insuficientes o excesivas pueden quedar para revisión en lugar de cerrar el pedido equivocado.
Si acuerdas ventas por chat, usa el flujo de pagos cripto en Telegram para sustituir capturas por invoices rastreadas. Si tu sitio crea pedidos, usa pagos cripto automatizados para sitios web para conectar el estado de la invoice con el pedido.
Siguiente paso
Automatiza la verificación en tu sitio
Crea una invoice por pedido, usa hosted checkout y recibe un resultado vinculado al pedido.
Ver pagos para sitios web →