ES
Paneles VPN

Pagos cripto para 3x-ui

Un pequeño servicio autoalojado que permite a tu panel 3x-ui aceptar pagos cripto a través de SnapEX Pay. Tu bot de Telegram o sitio web le pide un enlace de pago, el cliente paga en USDT en la página de SnapEX Pay, y cuando la factura está pagada el servicio añade un cliente a tu inbound, o renueva el existente, y devuelve el enlace de suscripción. 3x-ui no tiene facturación propia, así que esta es la capa de pago entre tu tienda y el panel.

Descargar el módulo

Gratis. Versión 1.1.0.

Qué hace

  • Cada pedido recibe su propia factura de SnapEX Pay y su pay_url. Los clientes pagan en USDT en TRC20, ERC20 o BEP20; otras monedas pueden aparecer en la página de pago cuando SnapEX Pay puede ofrecerlas.
  • Un nombre de usuario nuevo se convierte en un cliente nuevo en XUI_INBOUND_ID. Uno existente se renueva: el vencimiento se aplaza (o se cuenta desde ahora si ya había vencido; un cliente sin vencimiento sigue ilimitado), el cliente se reactiva y el tráfico se reinicia en los planes con cuota. El UUID y el subId no cambian, así que la configuración del cliente sigue funcionando.
  • Funciona con 3x-ui 2.x y 3.x: usa la nueva API /panel/api/clients si el panel la tiene y, si no, la antigua inbounds/addClient.
  • Webhooks seguros: firmas HMAC-SHA256 con una ventana de 5 minutos, el estado de la factura siempre se vuelve a leer desde la API de SnapEX Pay, y cada factura se da de alta solo una vez.
  • Planes (días, precio en USD, cuota de tráfico) en una sola variable de entorno. Un solo contenedor: FastAPI y SQLite.

Instalación

  1. En el panel del comercio de SnapEX Pay crea una clave API con los permisos invoices.read e invoices.write.
  2. Descarga y descomprime el archivo, y en su carpeta ejecuta cp .env.example .env y rellena SNAPEX_API_KEY, API_TOKEN, XUI_URL (con la ruta base web), XUI_USERNAME y XUI_PASSWORD, XUI_INBOUND_ID y XUI_SUB_URL.
  3. Arráncalo: docker compose up -d, y luego comprueba curl http://localhost:8080/health.
  4. Pon el servicio detrás de HTTPS (nginx, Caddy, Traefik). En el panel → Developers configura la URL del webhook como https://<your service>/webhook, pon el secreto whsec_… (se muestra una sola vez, al guardar la URL por primera vez) en SNAPEX_WEBHOOK_SECRET y vuelve a ejecutar docker compose up -d.
  5. Desde tu bot o backend llama a POST /v1/checkout con Authorization: Bearer <API_TOKEN>, envía pay_url al cliente y consulta GET /v1/orders/{invoice_id} para obtener el enlace de suscripción.

Ajustes

SNAPEX_API_KEY, SNAPEX_WEBHOOK_SECRETClave API de comercio (invoices.read, invoices.write) y el secreto de firma del webhook (whsec_…).
SNAPEX_ENVIRONMENT, SNAPEX_FEE_ONFacturas live o test; quién paga la comisión del servicio: merchant o customer.
API_TOKENToken Bearer para /v1/checkout y /v1/orders.
XUI_URLURL del panel incluida la ruta base web, por ejemplo https://xui.example.com:2053/secretpath.
XUI_API_TOKENSolo 3x-ui 3.x: un token API del panel que se usa en lugar de usuario y contraseña (para paneles con inicio de sesión en dos pasos).
XUI_INBOUND_ID, XUI_SUB_URLInbound para los clientes nuevos (VLESS, VMess, Trojan, Shadowsocks o Hysteria) y el prefijo de suscripción.
PLANSid:days:usd:traffic_bytes separados por comas, 0 bytes = ilimitado.
SNAPEX_PARTNER_IDOpcional: el Partner ID del integrador que configuró el módulo (programa de referidos de SnapEX Pay). Déjalo vacío si lo instalas tú mismo.

Preguntas

¿Qué versiones de 3x-ui son compatibles?

3x-ui 2.x y 3.x: tanto la nueva API /panel/api/clients como la antigua API inbounds/addClient.

¿Qué pasa cuando un cliente renueva?

Envía de nuevo el mismo nombre de usuario. El cliente conserva su UUID y su subId, el vencimiento se aplaza, el cliente se reactiva y el tráfico se reinicia en los planes con cuota.

Mi panel tiene inicio de sesión en dos pasos. ¿Funcionará?

En 3x-ui 3.x, sí: define XUI_API_TOKEN (un token API del panel) en lugar de usuario y contraseña.

¿Se puede dar de alta un mismo pago dos veces?

No. Cada factura se da de alta solo una vez, aunque el webhook llegue dos veces o lleguen dos copias al mismo tiempo.

¿Hay un bot de Telegram listo?

Sí, un bot de Telegram de SnapEX Pay aparte para Marzban, 3x-ui y Remnawave. Este servicio encaja cuando ya tienes tu propio bot o sitio.

¿Listo para aceptar cripto?

Crea una cuenta de comercio, obtén una clave API y conecta el módulo. 1% por pago, sin cuota mensual.