Cómo aceptar pagos con criptomonedas en un bot de Telegram (USDT paso a paso)

Los bots de Telegram y las comunidades de pago viven de la entrega instantánea. Así conectas una pasarela de pago cripto a tu bot para que los usuarios paguen en USDT y reciban acceso automáticamente.

Actualizado: 6 min de lectura
Aceptar pagos con criptomonedas en un bot de Telegram: chat con botón Pagar en USDT y mensaje de confirmación

Para aceptar pagos con criptomonedas en un bot de Telegram, haz que el backend del bot cree una factura mediante la API de una pasarela de pago cripto cuando el usuario pulse «Comprar», envía el enlace de pago devuelto como botón inline y escucha el webhook firmado de la pasarela. Cuando el pago se confirma, el bot entrega automáticamente el producto, la clave o la invitación al canal.

Los bots de Telegram y las comunidades de pago encajan de forma natural con el checkout en cripto: los usuarios son internacionales, muchos ya tienen USDT y esperan recibir lo comprado en segundos. Esta guía muestra la arquitectura, el flujo de mensajes y los detalles que lo hacen fiable.

Por qué las criptomonedas funcionan tan bien en bots de Telegram

  • Audiencia global: los usuarios de bots vienen de todas partes; un único precio en USDT sirve para todos.
  • Pago pensado para móvil: el checkout alojado se abre en el navegador de Telegram, y una app de billetera puede escanear el código QR o copiar la dirección.
  • Automatización instantánea: un webhook firmado permite que el bot entregue sin que nadie revise un explorador de bloques.
  • Redes rápidas: en TRON y BNB Smart Chain los pagos suelen confirmarse en un minuto aproximadamente.

Los bots de Telegram y las comunidades de pago son uno de los casos de uso principales para los que se creó mistKET, junto con SaaS, hosting y bienes digitales.

Arquitectura: tres componentes

ComponenteFunción
Bot de Telegram (vía Bot API)Habla con el usuario: menús, botones, mensajes de entrega
Tu backendGuarda pedidos, llama a la API de la pasarela, recibe webhooks, custodia los secretos
Pasarela mistKETCheckout alojado, vigilancia de la cadena, confirmaciones, liquidación

Uses el framework que uses, el patrón para aceptar pagos cripto en un bot de Telegram es el mismo. El bot y el backend suelen ser el mismo servicio pequeño. Lo importante es que los secretos de API y de webhook vivan en el servidor, nunca dentro de mensajes ni en código del lado del cliente. La documentación oficial de Telegram para bots está en core.telegram.org.

Paso a paso: aceptar pagos con criptomonedas en un bot de Telegram

  1. El usuario elige un producto — por ejemplo «Acceso 1 mes» desde un teclado inline. Tu backend crea un pedido con el ID de usuario de Telegram.
  2. El backend crea una factura — un único POST /api/v1/invoices firmado con importe, moneda, tu ID de pedido y una URL de callback.
  3. El bot envía un botón de pago — un botón inline de URL que apunta al checkout_url devuelto, con una nota breve: «Envía el importe exacto en la red que elijas».
  4. El usuario paga — en la página alojada elige USDT en TRON, BSC, Ethereum o Arbitrum (o TRX, BNB, ETH) y paga desde su billetera o exchange.
  5. Llega el webhook — tras las confirmaciones, tu callback recibe un evento firmado invoice.confirmed que contiene tu ID de pedido.
  6. El bot entrega — verifica la firma, marca el pedido como pagado y envía al chat del usuario la clave de licencia, el archivo o un enlace de invitación al canal de un solo uso.
Clave: asocia cada factura a un ID de usuario de Telegram a través de tu ID de pedido. Cuando llegue el webhook, sabrás exactamente a quién escribir.

Un modelo de datos mínimo

No necesitas una base de datos compleja para gestionar un bot de pago. Tres tablas cubren la mayoría de los casos:

TablaCampos clavePropósito
userstelegram_id, username, access_untilQuién tiene acceso y hasta cuándo
ordersorder_id, telegram_id, product, amount, statusUna fila por intento de compra
invoicesorder_id, invoice_uuid, checkout_url, network, paid_amountVínculo entre tu pedido y la factura de la pasarela

Cuando llegue el webhook, busca el pedido por order_id, comprueba que no se haya entregado ya, actualiza el estado y escribe al usuario por su telegram_id. Ese es todo el ciclo de entrega.

Ejemplos de mensajes

Un texto claro dentro del chat reduce las consultas de soporte. Una secuencia que funciona bien:

  • Mensaje de factura: «Tu pedido: acceso 1 mes, 15 USD. Pulsa Pagar para abrir la página de pago segura. Envía el importe exacto en la red que elijas».
  • Pagado: «Pago detectado. Esperando las confirmaciones de la red; suele tardar uno o dos minutos».
  • Confirmado: «Pago confirmado. Aquí tienes tu enlace de invitación; funciona una sola vez».
  • Pago insuficiente: «Hemos recibido menos del importe de la factura. Abre la misma página de pago para enviar lo que falta».
  • Vencida: «Esta factura ha caducado. Pulsa abajo para generar una nueva».

Soporte sin capturas de pantalla

Cuando un usuario pregunte por un pago, pídele solo su número de pedido. Al abrir la factura en el panel del comercio ves el importe esperado, el recibido, la red y el hash de la transacción, así que nunca necesitas capturas ni direcciones de billetera del usuario. Un botón «Soporte» en el bot puede enviar el número de pedido automáticamente, y la mayoría de las dudas de pago se resuelven en diez segundos en lugar de una larga conversación.

Buenas prácticas de UX dentro del chat

  • Envía actualizaciones de estado. Con invoice.paid, responde «Pago visto, esperando confirmaciones»; con invoice.confirmed, entrega.
  • Muestra el precio en dólares y deja que la pasarela convierta. El tipo de cambio queda bloqueado durante la vida de la factura.
  • Explica la cuenta atrás una vez, para que nadie se asuste al ver un temporizador.
  • Ofrece un botón «Ver estado» que consulte la factura por API; útil si el usuario vuelve más tarde.
  • Gestiona los pagos cortos con amabilidad. Con invoice.underpaid, indica cuánto falta; los pagos parciales se suman hasta el total.
  • Gestiona el vencimiento. Con invoice.expired, ofrece una factura nueva con un solo toque.

Suscripciones y comunidades de pago

Para accesos mensuales, crea una factura nueva al terminar cada periodo y envíala como mensaje de renovación unos días antes. Cuando llegue invoice.confirmed, amplía la fecha de acceso del usuario en tu base de datos. Si no llega ningún pago antes de que termine el periodo, retira el acceso. Las transferencias cripto las inicia quien paga, así que una renovación siempre es una factura que el usuario abona: no existe un cargo automático como con tarjeta.

Consejo: genera enlaces de invitación de un solo uso para canales privados después del pago, en lugar de compartir un enlace permanente. Así tu comunidad de pago sigue siendo realmente de pago.

Lista de comprobación de fiabilidad

  • Idempotencia: los webhooks se reintentan con espera progresiva durante horas, así que el mismo evento puede llegar dos veces. Comprueba si el pedido ya se entregó antes de enviar nada.
  • Verificación de firma: valida X-Mistket-Signature (HMAC-SHA256 del timestamp y el cuerpo sin procesar con tu secreto de webhook) antes de confiar en cualquier evento.
  • Los mensajes del chat no son prueba. Que un usuario diga «ya pagué» o envíe una captura nunca sustituye al webhook.
  • Lista blanca de IP: limita el acceso a la API a tu servidor del bot desde el panel del comercio.
  • Registros: el panel muestra los logs de entrega de webhooks, el importe esperado frente al recibido y los hashes de transacción para los casos de soporte.

Para ejemplos de código completos de firma y verificación, consulta integración de una API de pagos cripto.

¿Aún sin desarrollador? Empieza con enlaces de pago

Si gestionas a mano un pequeño grupo de pago, puedes crear facturas en el panel del comercio y enviar el enlace por mensaje privado. Cuando veas el pago confirmado en el panel, añade al miembro manualmente. No escala, pero te permite validar el precio antes de construir un bot. Consulta enlaces de pago y facturas en cripto.

Juega limpio: vende solo bienes y servicios legítimos, respeta los términos de Telegram para bots y canales y revisa tus obligaciones fiscales y regulatorias locales sobre ingresos en cripto. Una pasarela de pago es infraestructura: no cambia lo que tienes permitido vender.

Empieza ya

¿Listo para aceptar pagos con criptomonedas en tu propio bot de Telegram? Solicita tu cuenta de comercio por Telegram @mistnetwork con el enlace de tu bot o comunidad y el volumen previsto. Tras la aprobación recibes las claves de API el mismo día. Revisa los ejemplos de peticiones y webhooks en la sección para desarrolladores y gestiona tus claves desde el acceso para comercios.

Preguntas frecuentes

¿Puede un bot de Telegram aceptar pagos en USDT?
Sí. El backend del bot crea una factura mediante la API de una pasarela, envía el enlace de pago como botón y entrega automáticamente cuando un webhook firmado confirma el pago.
¿El usuario tiene que salir de Telegram para pagar?
El checkout alojado se abre en el navegador integrado de Telegram. El usuario paga desde su app de billetera o exchange y vuelve al chat para recibir lo comprado.
¿Cómo sabe el bot quién ha pagado?
Guarda el ID de usuario de Telegram junto a tu ID de pedido y envía ese ID de pedido al crear la factura. El webhook incluye el ID de pedido, así que sabes a quién escribir.
¿Puedo cobrar suscripciones en cripto para un canal de Telegram de pago?
Sí, emitiendo una factura de renovación cada periodo y ampliando el acceso cuando llega invoice.confirmed. Las cripto no tienen cargo automático, así que el usuario paga cada renovación.
¿Qué redes son mejores para pagos en bots?
TRON (TRC-20) y BNB Smart Chain (BEP-20) suelen ser las más baratas y confirman en un minuto aproximadamente. mistKET también admite USDT en Ethereum y Arbitrum.

Artículos relacionados