
El primer pago de un cliente de VPN es la parte fácil. Lo difícil es el segundo, el tercero y el décimo: el cliente vuelve a pagar antes o después de que venza la suscripción, y necesitas que los días nuevos se sumen bien, que la configuración existente siga funcionando y que ningún usuario se cree dos veces. Así gestionan una renovación los módulos de SnapEX Pay.
Cómo se reconoce a un cliente que vuelve
Una renovación es un pago para un usuario que ya existe en el panel.
- Servicios de Marzban, 3x-ui y Remnawave: tu tienda o tu bot vuelve a enviar el mismo nombre de usuario con el nuevo checkout. Un nombre de usuario existente se renueva; uno nuevo se crea.
- Bot VPN de Telegram: el nombre de usuario en el panel es
tg<telegram_id>, así que cada cuenta de Telegram corresponde a exactamente un usuario de VPN, y un nuevo pago desde la misma cuenta de Telegram lo renueva.
Desde qué fecha cuentan los días nuevos
Pagar antes no debe quemar los días que el cliente ya tiene, y pagar tarde no debe regalar los días intermedios.
- Marzban: la suscripción se extiende desde el vencimiento actual, o desde ahora si ya venció.
- 3x-ui: el vencimiento se corre hacia adelante, o se cuenta desde ahora si ya se agotó.
- Remnawave: los días del plan se suman a la fecha más tardía entre ahora y el vencimiento actual del usuario.
- Bot VPN de Telegram: a un cliente que vuelve se le extiende desde el vencimiento actual.
Cuota de tráfico al renovar
- Marzban: los planes con tráfico suman una cuota nueva encima de lo ya consumido.
- 3x-ui: el tráfico se reinicia en los planes con cuota y el cliente se vuelve a habilitar.
- Remnawave: el límite de tráfico se fija en el valor del nuevo plan.
- Bot VPN de Telegram: un plan con límite de tráfico empieza una cuota nueva.
La configuración del cliente sigue funcionando
En 3x-ui el cliente renovado conserva su UUID y su subId, así que la configuración ya importada en los dispositivos del cliente sigue funcionando: no hay que reenviar nada. En Marzban, Remnawave y el bot el usuario existente se extiende en lugar de reemplazarse, y el módulo devuelve el enlace de suscripción tras el pago.
Sin duplicados cuando un webhook llega dos veces
Los webhooks pueden entregarse más de una vez, a veces en el mismo instante. Los cuatro módulos son idempotentes: cada factura da de alta al usuario una sola vez, incluso con entregas repetidas o simultáneas. Antes de hacer nada, el módulo comprueba la firma HMAC-SHA256 (ventana de 5 minutos) y vuelve a leer la factura desde la API de SnapEX Pay; solo una factura pagada da de alta al usuario. El bot además comprueba que la factura pertenezca a un pedido del propio bot.
Si el panel está caído cuando llega el pago
Con el servicio de Marzban, el handler del webhook devuelve 502 cuando no puede conectar con el panel, y SnapEX Pay reintenta la entrega más tarde, así que la renovación se aplica cuando el panel vuelve. Las entregas de webhooks se reintentan en general: SnapEX Pay hace hasta 5 intentos.
Cambiar precios sin tocar los pedidos pagados
El bot VPN de Telegram guarda una copia del plan en cada pedido, así que editar PLANS más tarde no cambia los pedidos ya pagados.
Prueba una renovación sin dinero real
Cada módulo tiene modo de prueba: las facturas de prueba se confirman solas y no mueven fondos reales. Crea un usuario con un pago de prueba, vuelve a pagar para el mismo nombre de usuario o la misma cuenta de Telegram y comprueba el nuevo vencimiento en el panel. Consulta Cómo probar pagos cripto sin dinero real.
Módulos: Marzban, 3x-ui, Remnawave, Bot VPN de Telegram. Panorama para servicios VPN: Pagos cripto para servicios VPN. Registro: pay.snapex.pro.