Primeros pasos
Configura un tenant, instala el plugin DHRU y envía tu primer pago de prueba.
Primeros pasos
Checklist rápido para usuarios recurrentes. La guía de configuración inicial está en Instalación.
- Regístrate en
/registercon nombre de usuario, correo y contraseña (12+ caracteres). - Verifica tu correo haciendo clic en el enlace.
- Espera a que un administrador active tu tenant. Recibirás un correo de aviso.
- Inicia sesión. Abre Integration en la barra lateral.
- Configura la Webhook URL apuntando a tu endpoint de callback de DHRU, por ejemplo
https://yourdhru.com/modules/gateways/callback/triapay.php. - Rota la API key y el Webhook secret. Ambos se muestran una sola vez, cópialos de inmediato.
- Descarga los dos archivos del plugin desde la misma página de Integration:
triapay.php→ colócalo enmodules/gateways/de tu servidor DHRUtriapay-callback.php→ renómbralo atriapay.phpy colócalo enmodules/gateways/callback/de tu servidor DHRU
- En el admin de DHRU, habilita el gateway TriaPay y pega tu API URL, API key y webhook secret de TriaPay.
- Configura los métodos de cobro (master wallet addresses para TRC20/BEP20, Pay ID para Binance Pay) en las pestañas Crypto y Binance Pay.
- Envía un depósito de prueba de
$1desde una cuenta de cliente de DHRU. Confirma que la orden pasepending → matched → crediteden segundos (latencia de detección típica de 3 a 7 s más la confirmación de la chain).
Latencia de detección
El crédito de extremo a extremo suele tardar bastante menos de un minuto. Las variables dominantes son la confirmación de la chain y el tick de polling que busca coincidencias.
| Chain | Tick de polling | Típico extremo a extremo |
|---|---|---|
| TRC20 | 3 s | 3 a 7 s |
| BEP20 | 3 s | 3 a 7 s |
| Binance Pay | 5 s | 5 a 10 s |
Estos números excluyen el tiempo de broadcast del wallet del cliente. La cadencia de polling de arriba es el ritmo propio de escaneo del listener; las órdenes coincidentes pasan a credited en cuanto el webhook confirma. El push eth_subscribe de BSC y los merchant-webhooks de Binance Pay están en el roadmap para detección subsegundo, pero aún no se han desplegado.
Seguridad del inicio de sesión
El sign-in pasa por /auth/login con las siguientes opciones de OTP:
- Email OTP (por defecto).
- WhatsApp OTP, disponible cuando hay un número de teléfono en el perfil.
- Bypass step-up de TOTP cuando el 2FA está enrolado.
Una cookie "remember this device" (caducidad de 7 días, vinculada al fingerprint del navegador y a la clase IP /24) salta el OTP en inicios de sesión posteriores desde la misma clase de red. Revoca dispositivos individuales en cualquier momento desde /me/devices.
Pruebas con modo sandbox
El modo sandbox te permite ejercitar el ciclo completo order → webhook → DHRU sin tocar chains reales, fondos reales ni tus facturas reales de DHRU. Úsalo siempre que cambies la configuración del plugin, rotes una clave o muevas DHRU a un nuevo host.
Configuración inicial
- Dashboard → pestaña Integration → tarjeta API Key → cambia a la pestaña Sandbox → haz clic en Generate sandbox key. Copia el valor
tpk_test_.... - En la misma tarjeta, subsección Webhook Secret → pestaña Sandbox → Generate sandbox secret. Copia el valor.
- En el admin de DHRU → Setup → Payment Gateways → TriaPay, pega la sandbox key en API Key (Sandbox) y el sandbox secret en Webhook Secret (Sandbox).
- Marca la casilla Sandbox Mode en el mismo formulario. Guarda.
Dispara un pago de prueba
- Dashboard → API Playground → cambia el toggle de modo a Sandbox (aparece un banner confirmando que el sandbox está activo).
- Ejecuta Create order con cualquier combinación de chain/asset. Copia el
idempotencyKeyretornado. - Ejecuta Force credit con ese idempotency key. El simulador dispara el webhook por la misma ruta de crediter usada en producción.
- Verifica que tu servidor DHRU reciba el POST con
X-Payment-Mode: sandbox(revisaerror_log).
El handler de callback de tu plugin DHRU corta automáticamente los webhooks de sandbox: registra el evento, devuelve 200 OK y nunca llama a addPayment. Ninguna factura en producción se acredita, ninguna fila de tblUsers.credit_left cambia.
Cuando estés listo para pasar a tráfico real, desmarca Sandbox Mode en el formulario de admin de DHRU. La API key y el webhook secret de producción quedan donde estaban; no necesitas cambiar nada más.