ES

Pagos cripto en Xboard y V2Board: acepta USDT por suscripciones VPN paso a paso

Pagos cripto en Xboard y V2Board

Xboard y V2Board son paneles populares para vender suscripciones de VPN y proxy. De serie, el cliente paga con tarjeta o a través de una pasarela que alojas tú. Esta guía muestra cómo añadir cripto: el cliente paga en USDT en TRC20, ERC20 o BEP20 o con otra moneda, y el panel activa el pedido solo. No necesitas monedero, nodo ni pasarela propia: el dinero llega a tu saldo de comercio en SnapEX Pay.

Cómo va un pago

cliente → checkout del panel → página SnapEX Pay
SnapEX Pay → webhook firmado → panel
plugin → factura desde la API → ¿paid?
panel → pedido activado
  1. En el checkout, el plugin crea una factura de SnapEX Pay para el pedido (el trade_no del panel es el external_id de la factura) y envía al cliente a la página de pago.
  2. El cliente elige una moneda y paga. Cuando la factura está pagada, SnapEX Pay envía un webhook firmado al panel.
  3. El plugin comprueba la firma, pide la factura a la API de SnapEX Pay y marca el pedido como pagado solo si allí el estado es paid.

Qué necesitas

  • Xboard con sistema de plugins (PHP 8.2+), o V2Board / un Xboard antiguo que carga pasarelas desde app/Payments (PHP 7.3+).
  • La extensión cURL de PHP.
  • El panel accesible desde internet por HTTPS: SnapEX Pay solo entrega webhooks a direcciones HTTPS públicas.
  • Una cuenta de comercio en SnapEX Pay: regístrate en pay.snapex.pro.

Paso 1. Instala el plugin

Descarga el archivo snapexpay-xboard-1.2.0.zip (MIT, gratis).

Xboard. Admin → Plugins → sube el ZIP → Install → Enable «SnapEX Pay». O descomprime el archivo en la carpeta del panel:

cd /path/to/Xboard
curl -fsSLO https://pay.snapex.pro/downloads/xboard/snapexpay-xboard-1.2.0.zip
unzip snapexpay-xboard-1.2.0.zip
mv snapexpay-xboard-1.2.0 plugins/Snapexpay

La carpeta debe llamarse exactamente plugins/Snapexpay: en Linux importan las mayúsculas. Luego Plugins → Install → Enable.

V2Board y Xboard antiguo. Copia un solo archivo del ZIP al panel:

unzip -p snapexpay-xboard-1.2.0.zip \
  snapexpay-xboard-1.2.0/app/Payments/SnapexPay.php \
  > /path/to/v2board/app/Payments/SnapexPay.php

Si usas OPcache u Octane, reinicia PHP-FPM u Octane. Comprueba que la URL del sitio (app_url) esté puesta en los ajustes de V2Board: sin ella el plugin no puede devolver al cliente a la página del pedido después de pagar.

Paso 2. Obtén una clave API

En el panel de comercio de SnapEX Pay abre Developers y emite una clave API. Se muestra una sola vez: cópiala enseguida. Una clave emitida en el panel recibe todos los permisos de la Merchant API, incluidos invoices.read e invoices.write, que el plugin necesita. Reemitir la clave revoca la anterior al instante, así que actualízala en el panel al mismo tiempo.

Paso 3. Añade el método de pago

Admin del panel → Payment configuration → Add payment method → pasarela SnapexPay. Los campos:

  • API key: la clave del paso 2.
  • Webhook secret: se rellena en el paso 4.
  • Network fee paid by: merchant (por defecto), el cliente paga exactamente el total del pedido; customer, la comisión de red se suma encima. Más: Quién paga la comisión de una factura cripto.
  • Payment window, minutes: cuántos minutos se puede pagar la factura. Xboard: 60 por defecto, máximo 120; V2Board: 20 por defecto, máximo 30. El tope queda por debajo del plazo del propio panel para pedidos sin pagar, así el cliente no puede pagar un pedido que el panel ya canceló.
  • USD per 1 shop currency: 1 si los precios están en USD. Los paneles guardan los totales en céntimos y el plugin envía total / 100 × usd_rate. Para una tienda en CNY es aproximadamente 0.14. La tasa es fija: actualízala tú cuando cambie el tipo de cambio.
  • Environment: live o test (ver paso 5).
  • Partner ID: déjalo vacío si lo configuras tú; aquí pone su ID el integrador que te conectó.
  • API URL: deja el valor por defecto https://snapex.pro/api/v1/merchant.

La factura mínima es de 0.50 USD: un pedido menor, tras la conversión, da error en el checkout.

Paso 4. Configura el webhook

Cada método de pago del panel tiene su propia URL de notificación:

https://your-panel.example/api/v1/guest/payment/notify/SnapexPay/{uuid}

Xboard muestra la dirección completa en la lista de métodos de pago. En el panel de comercio, en la página Developers, pégala como URL del webhook y guarda. El secreto de firma whsec_… se muestra una sola vez, justo después de guardar por primera vez: cópialo en Webhook secret del método de pago.

El panel de comercio tiene una URL de webhook por cuenta y a ella llegan todos los eventos. El plugin activa un pedido solo con una factura pagada; ante otros eventos el panel responde con error (422 en Xboard, 500 en V2Board). En el registro de entregas aparece como entrega fallida: es lo esperado.

Cómo comprueba el plugin una notificación:

  • la cabecera Webhook-Signature: HMAC-SHA256 de {Webhook-Timestamp}.{cuerpo crudo de la petición} con tu secreto;
  • Webhook-Timestamp dentro de 5 minutos respecto al reloj del servidor: mantén NTP activo;
  • la propia factura, leída de nuevo en la API de SnapEX Pay con tu clave: el pedido se paga solo si allí el estado es paid.

Más sobre firmas y reintentos: Webhooks de pagos cripto.

Paso 5. Un pedido de prueba sin dinero real

  1. Pon Environment en test y guarda.
  2. Crea un pedido en el panel y ve al pago.
  3. La página de SnapEX Pay muestra la etiqueta Test. Elige cualquier moneda y red: la página muestra una dirección de prueba y unos 10 segundos después el pago se confirma solo. No hay que enviar nada.
  4. El pedido debería pasar a pagado en segundos. Si no, revisa el registro de entregas en la página Developers y el log del panel (storage/logs).
  5. Vuelve a poner Environment en live.

Mientras el método está en test, cualquier pedido pagado con él se activa sin dinero, así que haz la prueba rápido. Con el método otra vez en live, el plugin rechaza las facturas de prueba y un pago de prueba no puede activar un pedido real. Más: Cómo probar pagos cripto sin dinero real.

Qué ve el cliente

La página de SnapEX Pay con la elección de moneda: USDT en TRC20, ERC20 y BEP20 y otras monedas (más de 50 en total) cuando SnapEX Pay las ofrece para el importe de la factura. Si el cliente vuelve a pulsar «Pagar», se abre la misma factura mientras siga vigente; si ya venció, se crea una nueva para el mismo pedido (external_id {trade_no}-1, -2, etc.).

Si el cliente envía menos del total, el pedido no se activa: lo recibido llega a tu saldo de SnapEX Pay y el resto lo resuelves con el cliente. Cómo funcionan los pagos incompletos: El cliente envió menos que la factura.

Si algo no funciona

  • SnapexPay no aparece en la lista de pasarelas (Xboard). La carpeta debe ser exactamente plugins/Snapexpay y el plugin debe estar instalado y activado.
  • «A valid merchant API key is required» o «This source IP is not allowed» en el checkout. La clave es incorrecta o está revocada, o su lista de IP permitidas no incluye la IP de salida del servidor del panel.
  • «Amount is below the … USD minimum». Tras la conversión el pedido queda por debajo de 0.50 USD: revisa USD per 1 shop currency.
  • El cliente pagó y el pedido sigue sin pagar. Mira el registro de entregas del panel de comercio. Lo habitual: el webhook secret no coincide, el reloj del servidor va desfasado más de 5 minutos, la URL apunta al UUID de otro método, un proxy inverso modifica el cuerpo de la petición o el panel no llega a la API de SnapEX Pay. Una entrega fallida se puede repetir desde el registro.

Cuánto cuesta

1% por pago, sin cuota de alta ni cuota mensual. El plugin es gratis.

Página del plugin: Xboard / V2Board. Panorama para servicios VPN: Pagos cripto para servicios VPN. Registro: pay.snapex.pro.

Más guías

Cómo elegir una pasarela de pagos cripto para una empresa de hosting: 8 preguntas Una lista de verificación para proveedores de hosting y VPS que eligen una pasarela de pagos cripto: módulo de facturación, cómo se marcan como pagadas las facturas, pagos incompletos, comisiones, liquidación, monedas, modo de prueba y facturación multimoneda. SnapEX Pay vs NOWPayments, Cryptomus y CoinGate: comisiones y módulos listos comparados Cómo se compara SnapEX Pay con NOWPayments, Cryptomus y CoinGate en la comisión publicada, las cuotas mensuales y los módulos listos para facturación de hosting, paneles VPN y tiendas. Datos de la competencia tomados de sus propios sitios, 11 de octubre de 2026. El cliente envió menos que la factura: cómo funcionan los pagos cripto incompletos Los exchanges suelen descontar su comisión de retiro del importe, así que una factura cripto llega incompleta. Qué hace SnapEX Pay con un pago incompleto, qué webhooks recibes y qué hacer con el pedido. Cómo probar pagos cripto sin dinero real Las facturas de prueba de SnapEX Pay pasan por los mismos estados y envían los mismos webhooks que las reales, pero se confirman solas y nunca tocan tu saldo. Así se usan. Quién paga las comisiones de una factura cripto: tú o tu cliente SnapEX Pay te deja elegir en cada factura quién cubre la comisión del servicio y la comisión de red. Qué hace fee_on y cómo cambia el importe que paga el cliente y el que recibes tú. Renovaciones de suscripciones VPN pagadas con cripto: extiende usuarios sin duplicados ni días perdidos Cómo gestionan los módulos de SnapEX Pay para Marzban, 3x-ui, Remnawave y el bot VPN de Telegram a un cliente que vuelve: desde qué vencimiento cuentan los días nuevos y qué pasa con el tráfico, las configuraciones y los webhooks repetidos. Webhooks de pagos cripto: verifica la firma, gestiona reintentos y duplicados Cómo se firman y entregan los webhooks de SnapEX Pay, cómo verificarlos en PHP y Node.js y cómo hacer que tu handler resista reintentos, duplicados y eventos fuera de orden.

¿Listo para aceptar cripto?

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