
Los clientes de hosting y VPS suelen querer pagar con cripto, sobre todo en USDT. Esta guía explica cómo añadir cripto como método de pago en BILLmanager 6: el cliente elige SnapEX Pay (crypto) al recargar su saldo o pagar un pedido, paga en USDT en TRON, Ethereum o BSC o en otra moneda, y el pago se acredita en BILLmanager automáticamente. No necesitas una billetera ni un nodo de blockchain propios: el dinero llega a tu saldo de comercio de SnapEX Pay en USDT.
Cómo va un pago
cliente → recarga o pedido → SnapEX Pay
BILLmanager → SnapEX Pay: factura en USD
cliente → paga en la página SnapEX Pay
SnapEX Pay → webhook firmado → BILLmanager
módulo → factura desde la API → ¿paid?
BILLmanager: pago acreditado
- El cliente elige SnapEX Pay (crypto) entre los métodos de pago. El módulo crea una factura de SnapEX Pay por el importe del pago en USD y lleva al cliente a la página de pago.
- El cliente elige moneda y red y paga. Cuando la factura queda pagada, SnapEX Pay envía un webhook firmado a tu facturación.
- El módulo vuelve a leer la factura desde la API de SnapEX Pay y acredita el pago solo si la factura está
paidpor el importe correcto. El cuerpo del webhook por sí solo nunca acredita nada.
Un pago se acredita de tres formas independientes, la que llegue primero: el webhook firmado, el regreso del cliente desde la página de pago y la comprobación periódica (checkpay, cada 5 minutos). Un webhook perdido nunca deja sin acreditar un pago cobrado, y un pago nunca se acredita dos veces.
Qué necesitas
- BILLmanager 6, cualquier edición, y acceso root a su servidor.
python33.6+ en ese servidor. El módulo usa solo la biblioteca estándar: sin paquetes extra nibillmanager-plugin-python-libs.- Un método de pago en USD: las facturas de SnapEX Pay son en dólares.
- Una cuenta de comercio de SnapEX Pay: regístrate en pay.snapex.pro.
Paso 1. Instala el módulo
Descarga snapexpay-billmanager-1.1.0.tar.gz (gratis) y ejecuta en el servidor de BILLmanager como root:
curl -fsSLO https://pay.snapex.pro/downloads/billmanager/snapexpay-billmanager-1.1.0.tar.gz
tar xzf snapexpay-billmanager-1.1.0.tar.gz
cd snapexpay-billmanager-1.1.0
sh install.sh
El script copia el módulo en /usr/local/mgr5, añade una tarea cron checkpay cada 5 minutos (/etc/cron.d/snapexpay) como red de seguridad y reinicia BILLmanager. Si no encuentra BILLmanager o python3 3.6+, se detiene con un mensaje.
Paso 2. Obtén una clave API
En el panel de comercio de SnapEX Pay abre Developers y crea una clave API. El módulo necesita los permisos invoices.read e invoices.write; una clave creada en el panel recibe todos los permisos de la Merchant API, incluidos estos. La clave se muestra una sola vez: cópiala enseguida. Reemitir la clave revoca la anterior al instante, así que actualiza el método de pago en ese mismo momento.
Paso 3. Añade el método de pago
En BILLmanager abre Provider → Payment methods → Add y elige SnapEX Pay (crypto). Pon la moneda en USD y pega la clave API.
Al guardar, la clave se comprueba con SnapEX Pay: con una clave errónea o revocada, o con una moneda distinta de USD, el método no se guarda.
Los demás ajustes:
- Client pays the network fee — desactivado: el cliente paga exactamente el importe del pago y las comisiones se descuentan de lo que recibes; activado: la comisión de SnapEX Pay y la comisión de red se suman a lo que paga el cliente. Más: Quién paga las comisiones de una factura cripto.
- Payment window, minutes — cuánto tiempo es válida la página de pago de SnapEX Pay: de 1 a 1440, 60 por defecto. Si el cliente vuelve a abrir el pago más tarde, se crea una página nueva.
- Test mode — ver el paso 6.
- Partner ID — ver el paso 5.
- API URL — déjalo vacío.
¿Tus clientes pagan en otra moneda? BILLmanager convierte el importe a la moneda del método de pago (USD) con sus propios tipos de cambio, así que mantén actualizado el tipo del USD.
Paso 4. Configura el webhook
El webhook es opcional, pero recomendable: con él, el saldo se acredita en cuanto se confirma el pago.
- En el panel, en la página Developers, indica la URL del webhook
https://<tu dominio de facturación>/mancgi/snapexpayresulty guarda. - El secreto de firma
whsec_…se muestra una sola vez, justo después de guardar por primera vez. Pégalo en Webhook secret en los ajustes del método de pago.
Cómo comprueba el módulo una notificación:
- la cabecera
Webhook-Signature: HMAC-SHA256 de{Webhook-Timestamp}.{cuerpo crudo de la petición}con tu secreto; las peticiones sin firma o alteradas reciben401; Webhook-Timestampdentro de 5 minutos respecto al reloj del servidor: mantén NTP activado;- la propia factura, leída de nuevo desde la API de SnapEX Pay con tu clave.
Si en ese momento no se puede llegar a la API, el módulo responde 502 y SnapEX Pay reintenta la entrega. El panel tiene una sola URL de webhook por cuenta; el módulo ignora los eventos de facturas que no creó. Sin webhook, los pagos se acreditan igualmente cuando el cliente vuelve de la página de pago y con la comprobación cada 5 minutos. Más sobre firmas y reintentos: Webhooks de pagos cripto.
Paso 5. Partner ID: quién configuró el módulo
El campo Partner ID es opcional. Si instalas BILLmanager para tu propia empresa de hosting, déjalo vacío.
Si eres integrador y configuras la facturación para clientes, pega tu Partner ID: la cuenta de comercio del cliente queda vinculada a ti y recibes el 35% de nuestra comisión sobre los pagos de ese cliente. El cliente crea su propia cuenta de SnapEX Pay y su clave API, y el dinero va a su saldo. Condiciones: Programa de socios de SnapEX Pay.
Paso 6. Un pago de prueba sin dinero real
- Crea un método de pago aparte con Test mode activado y hazlo visible solo para un cliente de prueba (Payment methods → restricciones por grupo de clientes).
- Entra como el cliente de prueba, inicia una recarga y elige ese método de pago.
- La página de SnapEX Pay lleva la etiqueta Test. Elige cualquier moneda y red: la página muestra una dirección de prueba y, en unos 10 segundos, el pago se confirma solo. No tienes que enviar nada.
- El pago debería quedar acreditado en BILLmanager. Si no, revisa
/usr/local/mgr5/var/pmsnapexpay.logy el registro de entregas en la página Developers. - Desactiva el modo de prueba o borra el método de pago de prueba.
Con el modo de prueba desactivado, los pagos de prueba nunca se acreditan, así que el dinero de prueba no puede pagar servicios reales. Más: Cómo probar pagos cripto sin dinero real.
Qué ve el cliente
- Entre los métodos de pago de una recarga o un pedido: SnapEX Pay (crypto).
- La página de pago de SnapEX Pay: USDT en TRC20, ERC20 y BEP20 y otras monedas (más de 50 en total), si SnapEX Pay las ofrece para el importe de la factura.
- Después de pagar, el cliente vuelve a la facturación. Si el pago ya está confirmado, BILLmanager muestra su página habitual de pago correcto; si aún no, el cliente ve "Thank you! Your payment is being confirmed on the blockchain" («¡Gracias! Tu pago se está confirmando en la blockchain») y un enlace para volver a los pagos: el saldo se acredita automáticamente.
- Si el cliente sale y vuelve a abrir el pago dentro del plazo de pago, llega a la misma página, no a una segunda factura.
Qué aparece en BILLmanager
- El cliente abre el pago → el pago pasa a In payment, con el ID de la factura de SnapEX Pay (
inv_…) como ID externo. - Pagado por completo → el pago queda acreditado; el campo de información muestra la moneda, la red y el importe recibido.
- Pagado en parte (el cliente envió menos y no completó a tiempo) → no se acredita nada y el registro muestra closed with a PARTIAL payment (…) - review in SnapEX Pay and credit manually. Lo recibido está en tu saldo de SnapEX Pay. Cómo funcionan los pagos incompletos: El cliente envió menos que la factura.
- No pagado a tiempo → el pago sigue In payment para que el cliente lo intente de nuevo; un día después de que venza la última factura de SnapEX Pay, se cancela.
- Pagado dos veces, pagado después de cancelar el pago o un pago extra tras cerrarse la factura → una entrada en el registro; el dinero está en tu saldo de SnapEX Pay.
Si algo no funciona
- El método de pago no se guarda. Revisa la clave API (errónea o revocada) y la moneda: solo se acepta USD.
- El cliente ve "Crypto payments are not available for this currency". La moneda del método de pago no es USD.
- El cliente ve "Could not start the crypto payment". SnapEX Pay rechazó la factura; el motivo está en
pmsnapexpay.log. - El webhook recibe 401. El secreto del webhook no coincide o el reloj del servidor está desfasado.
- El webhook recibe 503 "webhook secret is not configured". La URL del webhook está puesta en el panel, pero Webhook secret está vacío en el método de pago.
- El cliente pagó, pero el saldo no se acreditó. Busca el pago en
/usr/local/mgr5/var/pmsnapexpay.log: los pagos parciales y el dinero pagado después de cancelar el pago no se acreditan automáticamente.
Para quitar el módulo, ejecuta sh install.sh --uninstall desde el archivo descomprimido. El historial de pagos se queda en /usr/local/mgr5/var/snapexpay.sqlite.
Cuánto cuesta
1% por pago, sin cuota de alta ni cuota mensual. El módulo es gratuito.
Página del módulo: BILLmanager. ¿Eligiendo pasarela para tu hosting? Cómo elegir una pasarela de pagos cripto para una empresa de hosting. Panorama para proveedores de hosting: Pagos cripto para proveedores de hosting. Registro: pay.snapex.pro.