Volver al inicio

Bot de Telegram Stars para pagos sin IP

El artículo describe la creación de un bot de Telegram para pagos vía Stars sin registro. Usa aiogram 3, SQLite, aiohttp para Mini App. Cubre enlaces únicos, procesamiento de archivos, despliegue HTTPS y CORS.

Bot de Stars: pagos en Telegram sin registro
Advertisement 728x90

Crea un bot de pagos en Telegram con Stars — Sin IP ni ID

Los desarrolladores pueden recibir donaciones y vender productos digitales en Telegram sin registrarse como empresario individual (IP) ni proporcionar datos del pasaporte. Al usar las Estrellas de Telegram como moneda, el bot genera facturas y procesa pagos automáticamente. El sistema utiliza Python con aiogram 3, SQLite para almacenar datos y aiohttp para la API de la Mini App. Esto permite a cualquier usuario de Telegram crear productos y generar enlaces de pago en cuestión de segundos.

Arquitectura del sistema

El bot de aiogram 3 interactúa con una base de datos SQLite que almacena productos, vendedores y enlaces de pago. Una API separada con aiohttp sirve la Mini App mediante endpoints:

  • /api/products — catálogo de productos
  • /api/donate — datos del botón de donación
  • /api/create_invoice — generación de facturas

La lógica de pagos se gestiona completamente dentro del bot: la Mini App obtiene los datos mediante la API, el bot crea las facturas y confirma los pagos exitosos a través del evento successful_payment.

Google AdInline article slot

Generación de enlaces de pago únicos

Para garantizar seguridad, los enlaces se generan con códigos únicos como prod_fgU7d, almacenados en la tabla payment_links. URL completa: https://t.me/System_Paybot?start=prod_fgU7d. Esto evita intentos de fuerza bruta por ID y permite rastrear fuentes de tráfico.

Al entregar contenido, el bot detecta el tipo de archivo desde file_id y utiliza un mecanismo universal de envío:

try:
    await message.answer_document(document=content, caption=thanks)
except:
    try:
        await message.answer_photo(photo=content, caption=thanks)
    except:
        # intentos adicionales para video, audio, etc.

El método sendDocument funciona de forma confiable con la mayoría de los tipos de archivos de Telegram.

Google AdInline article slot

Procesamiento de pagos con Estrellas

Las facturas se crean usando el método create_invoice_link con parámetros:

invoice_link = await bot.create_invoice_link(
    title=title,
    description=f"Compra: {title}",
    payload=f"pay_{product_id}_{user_id}",
    provider_token="",
    currency="XTR",
    prices=[{"label": title, "amount": amount}]
)

Telegram maneja el pago y envía una actualización successful_payment con el payload para identificar el producto y entregarlo al usuario.

Funciones de administrador y análisis

Los propietarios tienen acceso a comandos:

Google AdInline article slot
  • /admin_stats — estadísticas generales
  • /admin_users — usuarios recientes
  • /admin_broadcast — mensajes masivos
  • /admin_ban / /admin_unban — control de acceso

Los vendedores usan /stats para analíticas personales.

Solución de problemas en despliegue

Limitaciones de las Estrellas

Las Estrellas se cargan directamente al propietario del bot y no se pueden transferir a otros. Solución: código abierto permite a cualquiera desplegar su propio bot.

HTTPS para la Mini App

La Mini App requiere HTTPS. Cuando el puerto 443 está ocupado (por ejemplo, por Xray VPN), usa un subdominio con Nginx en el puerto 8443:

  • Subdominio: shop.system-dev.ru
  • Certbot para certificados SSL
  • Abrir el puerto 8443 en iptables
  • URL de BotFather: https://shop.system-dev.ru:8443

Establece permisos en /var/www/systempay con chmod 755 para www-data.

CORS en la API

Agrega middleware en aiohttp:

@web.middleware
async def cors_middleware(request, handler):
    response = await handler(request)
    response.headers['Access-Control-Allow-Origin'] = '*'
    response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS'
    response.headers['Access-Control-Allow-Headers'] = 'Content-Type'
    return response

Capacidad final

El bot soporta:

  • Subida de archivos de cualquier tipo o compartir enlaces
  • Donaciones de cualquier monto
  • Mini App con catálogo de productos y UI adaptable
  • Panel de análisis personal
  • Panel de administración

Listo para uso inmediato y automatiza ventas en Telegram.

Conclusiones clave

  • Códigos únicos de enlace aseguran seguridad y análisis de tráfico sin adivinar IDs.
  • Entrega universal de archivos mediante sendDocument con respaldos funciona en todos los formatos de Telegram.
  • La integración con Estrellas es sencilla, pero los fondos van al propietario del bot — el código abierto permite autohospedaje.
  • HTTPS en puertos no estándar se resuelve con Nginx + Certbot sin conflictos con VPNs.
  • El middleware CORS en aiohttp soluciona problemas de origen cruzado para la Mini App.

— Editorial Team

Advertisement 728x90

Leer después