Guía 24

Pagos en bots: Telegram Payments y Stars, monetización en Discord y enlaces de pago

Nunca pidas números de tarjeta en un chat. Usa el flujo de pago de la plataforma o un checkout alojado y entrega solo tras un evento de pago verificado.

Guía2 min de lecturaActualizado

Reglas de oro

  • Nunca recojas datos de tarjeta en mensajes. Los datos de tarjeta en los registros del chat te meten en el alcance de PCI DSS y exponen a los usuarios. Usa las interfaces de pago nativas o una página de pago alojada.
  • Entrega con eventos verificados, no con una redirección de "gracias" ni al pulsar un botón.
  • Haz la entrega idempotente, con el ID del pago como clave, porque los eventos pueden llegar dos veces.

Telegram

La API de pagos de bots de Telegram cubre dos casos:

  • Bienes físicos y servicios: usa sendInvoice (o createInvoiceLink) con un provider_token de un proveedor de pagos compatible conectado en BotFather.
  • Bienes y servicios digitales: deben venderse en Telegram Stars, moneda XTR, con el token de proveedor vacío. Consulta pagos de productos digitales.

El flujo:

  1. Envía una factura con un payload que puedas asociar a un pedido.
  2. Telegram envía un pre_checkout_query. Comprueba stock y precio y llama a answerPreCheckoutQuery rápido (Telegram da 10 segundos).
  3. Si el pago se completa, recibes un mensaje con successful_payment, que incluye telegram_payment_charge_id. Entrega y guarda ese ID.
  4. Los reembolsos en Stars usan refundStarPayment.

Ofrece un comando /terms y un contacto de soporte para dudas de pago; Telegram espera que los bots que venden gestionen las disputas.

Discord

La monetización de Discord permite a las apps elegibles vender suscripciones y artículos únicos como SKUs. Las compras aparecen como entitlements: compruébalos en las interacciones (campo entitlements) o mediante la API, y escucha los eventos de entitlements para dar o quitar acceso. La disponibilidad depende de la región y la elegibilidad de la app.

Slack, WhatsApp y otros

  • Slack no tiene API de pagos integrada. Enlaza a un checkout alojado y confirma el resultado en Slack.
  • WhatsApp ofrece pagos nativos solo en unos pocos países; en el resto, envía un enlace de pago.
  • Messenger, Matrix, Twitch: usa un checkout externo.

Checkout externo

  1. Crea una sesión de pago en tu proveedor con el ID de pedido en los metadatos.
  2. Envía el enlace (un botón en el chat). Las sesiones cortas y los enlaces de un solo uso reducen el abuso.
  3. Recibe el webhook del proveedor, verifica su firma (generador de firmas) y entrega.
  4. Envía un recibo al usuario. Asocia el pago al usuario del chat con el pedido guardado, nunca con datos que escriba la persona.

Operación

  • Mantén un registro de solo anexado de pedidos, IDs de pago y cambios de estado.
  • Concilia a diario con los informes del proveedor.
  • Gestiona reembolsos y contracargos: revoca el acceso y avisa al usuario.
  • Los impuestos y el derecho del consumidor varían por país; los bienes digitales suelen requerir gestión del IVA y condiciones claras de reembolso. Busca asesoría profesional. Consulta aspectos legales, términos y privacidad.
  • Prueba con modos sandbox o de prueba y un bot de staging. Telegram ofrece entornos de prueba para los proveedores.

Comprueba lo aprendido

1. ¿Cómo deben venderse los bienes digitales en bots de Telegram?
2. ¿Cuándo debe entregarse un pedido?