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(ocreateInvoiceLink) con unprovider_tokende 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:
- Envía una factura con un
payloadque puedas asociar a un pedido. - Telegram envía un
pre_checkout_query. Comprueba stock y precio y llama aanswerPreCheckoutQueryrápido (Telegram da 10 segundos). - Si el pago se completa, recibes un mensaje con
successful_payment, que incluyetelegram_payment_charge_id. Entrega y guarda ese ID. - 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
- Crea una sesión de pago en tu proveedor con el ID de pedido en los metadatos.
- Envía el enlace (un botón en el chat). Las sesiones cortas y los enlaces de un solo uso reducen el abuso.
- Recibe el webhook del proveedor, verifica su firma (generador de firmas) y entrega.
- 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.