Pagos BI para WHMCS — Binance Pay, Pago Móvil y tarjeta
=======================================================
Versión 1.1.0 · Requiere WHMCS 8.0 o superior y PHP 7.4+

QUÉ HACE
--------
Añade a WHMCS tres formas de cobro: Binance Pay (en USDT), Pago Móvil (en
bolívares) y tarjeta Visa/Mastercard (en dólares). Tu cliente pulsa «Pagar
ahora» en su factura, va a la página de pago, y cuando el pago se confirma la
factura se marca pagada sola.

Con Binance el dinero entra DIRECTAMENTE en tu cuenta de Binance: Pagos BI solo
detecta el pago y avisa. Con Pago Móvil y con tarjeta el dinero entra en una
cuenta nuestra y se te acredita saldo, que retiras cuando quieras.

En tarjeta se te acredita el importe entero: la comisión se descuenta al
retirar, no al cobrar. Y el cargo aparece en el extracto de tu cliente con un
concepto genérico de la pasarela, no con el nombre de tu empresa; conviene
avisarlo, porque no reconocer un cargo es la causa número uno de que alguien
lo reclame a su banco.


CÓMO SE INSTALA
---------------
1. Descomprime este archivo. Verás una carpeta «modules».

2. Súbela a la raíz de tu WHMCS, respetando las carpetas. Deben quedar así:

   /tu-whmcs/modules/gateways/pagosbi.php
   /tu-whmcs/modules/gateways/pagosbi/firma.php
   /tu-whmcs/modules/gateways/pagosbi/whmcs.json
   /tu-whmcs/modules/gateways/callback/pagosbi.php

3. En WHMCS, entra en:
   Configuración → Pasarelas de pago → Administrar pasarelas existentes
   (Setup → Payments → Payment Gateways)

4. Pulsa «Ver todas» y elige «Binance Pay, Pago Móvil y tarjeta».

5. Rellena:
   · Clave de API ....... la que empieza por pgd_, de tu panel → Integraciones
   · Secreto de avisos .. el que aparece justo debajo, en la misma pantalla
   · Cómo se cobra ...... Binance Pay, Pago Móvil o tarjeta
   · Servidor ........... déjalo como viene, salvo que tu proveedor te haya
                          dado otra dirección

El nombre que ve tu cliente se cambia en la propia pantalla de WHMCS, en el
campo «Nombre para mostrar»: puedes ponerle «Binance Pay (Automático)» o lo
que prefieras.

6. Guarda. Ya está.


ANTES DE EMPEZAR A COBRAR, COMPRUEBA ESTO
-----------------------------------------
· Tu WHMCS tiene que estar en https y ser accesible desde internet. La
  plataforma solo manda los avisos de pago a direcciones seguras y públicas;
  si tu WHMCS está en una red interna, las facturas no se marcarán pagadas.

· Si vas a cobrar por Pago Móvil o con tarjeta, pídelo primero desde tu panel.
  Son dos permisos independientes: tener uno no te da el otro. Hasta que se te
  autorice, esos cobros se rechazan.

· Haz una factura de prueba de importe pequeño y págala. Es la única forma de
  saber que todo está bien de punta a punta.


SOBRE LOS CÉNTIMOS DE MÁS (solo Binance)
----------------------------------------
Si tu factura es de 10,00 USDT, a tu cliente se le pedirán 10,07 o parecido.
Esos céntimos NO son un recargo tuyo ni nuestro: son lo que permite reconocer
SU pago entre todos los que llegan a la vez a la misma cuenta de Binance.

La factura se marca pagada por su importe —10,00—, y los céntimos de más se
quedan en tu cuenta de Binance. Tu cliente no queda a deber nada ni le sobra
crédito.


QUÉ HACER SI UNA FACTURA NO SE MARCA PAGADA
-------------------------------------------
1. Mira el registro: Utilidades → Registros → Registro de pasarelas
   (Utilities → Logs → Gateway Log). Ahí aparece cada aviso recibido y, si se
   rechazó, por qué.

2. Si pone «la firma no cuadra», el secreto de avisos del módulo no es el de tu
   panel. Cópialo otra vez.

3. Si pone «el aviso llegó sin cabeceras de firma», algo entre la plataforma y
   tu servidor las está quitando: suele ser un proxy o un cortafuegos de
   aplicación.

4. Si no aparece ningún aviso, tu WHMCS no es accesible desde fuera o la
   dirección del callback no llega. La dirección es:

   https://TU-WHMCS/modules/gateways/callback/pagosbi.php


DEVOLUCIONES
------------
El módulo no devuelve dinero. Una devolución en cripto o en bolívares se hace a
mano desde tu cuenta y se apunta en WHMCS. Se ha dejado así a propósito: decir
que sabemos devolver y no hacerlo dejaría facturas descuadradas.


SOPORTE
-------
La página de documentación de tu proveedor, apartado WHMCS.


QUE NO HACE FALTA QUE HAGAS
---------------------------
· No hay que crear ninguna tabla a mano: el módulo la crea sola la primera vez
  que abres sus ajustes.
· No hace falta la extensión bcmath. El módulo del que viene éste la usaba, y
  en un hosting sin ella se rompía al recargar una factura; aquí se comprueban
  los importes sin depender de nada.


DE DONDE VIENE ESTE MODULO
--------------------------
No es código nuevo: es el mismo que lleva desde mayo de 2024 cobrando en
producción, con más de dos mil pagos. Se ha limpiado para poder repartirlo y se
le han añadido tres cosas: el cobro en bolívares por Pago Móvil, el cobro con
tarjeta Visa/Mastercard, y una
comprobación más estricta del aviso de pago (antes se validaba con un código
que no dependía del contenido del aviso ni caducaba; ahora se comprueba la
firma completa y su hora).
