Primeiros passos
Configure um tenant, instale o plugin DHRU e envie seu primeiro pagamento de teste.
Primeiros passos
Checklist rápido para usuários recorrentes. O passo a passo de configuração inicial está em Instalação.
- Registre-se em
/registercom nome de usuário, e-mail e senha (12+ caracteres). - Verifique seu e-mail clicando no link.
- Aguarde um administrador ativar seu tenant. Você é avisado por e-mail.
- Faça login. Abra Integration na barra lateral.
- Defina a Webhook URL apontando para seu endpoint de callback do DHRU, por exemplo
https://yourdhru.com/modules/gateways/callback/triapay.php. - Rotacione a API key e o Webhook secret. Os dois são exibidos só uma vez, copie imediatamente.
- Baixe os dois arquivos do plugin na mesma página Integration:
triapay.php→ coloque emmodules/gateways/no seu servidor DHRUtriapay-callback.php→ renomeie paratriapay.phpe coloque emmodules/gateways/callback/no seu servidor DHRU
- No admin do DHRU, habilite o gateway TriaPay e cole a sua TriaPay API URL, API key e webhook secret.
- Configure os métodos de recebimento (master wallet addresses para TRC20/BEP20, Pay ID para Binance Pay) nas abas Crypto e Binance Pay.
- Envie um depósito de teste de
$1a partir de uma conta de cliente do DHRU. Confirme que a ordem passapending → matched → creditedem segundos (latência de detecção típica de 3 a 7 s, mais a confirmação da chain).
Latência de detecção
O crédito ponta a ponta normalmente leva bem menos de um minuto. As variáveis dominantes são a confirmação da chain e o tick de polling que procura correspondências.
| Chain | Tick de polling | Típico ponta a ponta |
|---|---|---|
| TRC20 | 3 s | 3 a 7 s |
| BEP20 | 3 s | 3 a 7 s |
| Binance Pay | 5 s | 5 a 10 s |
Esses números não incluem o tempo de broadcast da carteira do cliente. A cadência de polling acima é a taxa própria de varredura do listener; ordens correspondidas vão para credited assim que o webhook confirma. O push eth_subscribe da BSC e os merchant-webhooks do Binance Pay estão no roadmap para detecção subsegundo, mas ainda não foram lançados.
Segurança de login
O sign-in passa por /auth/login com as seguintes opções de OTP:
- Email OTP (padrão).
- WhatsApp OTP, disponível quando um número de telefone está cadastrado no perfil.
- Bypass step-up do TOTP quando o 2FA está habilitado.
Um cookie "remember this device" (validade de 7 dias, vinculado ao fingerprint do navegador e à classe IP /24) pula o OTP em logins subsequentes a partir da mesma classe de rede. Revogue dispositivos individualmente a qualquer momento em /me/devices.
Testando com modo sandbox
O modo sandbox permite exercitar o fluxo completo order → webhook → DHRU sem tocar chains reais, fundos reais ou suas faturas reais do DHRU. Use sempre que mudar a configuração do plugin, rotacionar uma chave ou mover o DHRU para um novo host.
Configuração inicial
- Dashboard → aba Integration → card API Key → mude para a aba Sandbox → clique em Generate sandbox key. Copie o valor
tpk_test_.... - No mesmo card, subseção Webhook Secret → aba Sandbox → Generate sandbox secret. Copie o valor.
- No admin do DHRU → Setup → Payment Gateways → TriaPay, cole a sandbox key em API Key (Sandbox) e o sandbox secret em Webhook Secret (Sandbox).
- Marque a caixa Sandbox Mode no mesmo formulário. Salve.
Dispare um pagamento de teste
- Dashboard → API Playground → mude o toggle de modo para Sandbox (um banner aparece confirmando que o sandbox está ativo).
- Execute Create order com qualquer combinação de chain/asset. Copie o
idempotencyKeyretornado. - Execute Force credit com essa idempotency key. O simulador dispara o webhook pelo mesmo caminho de crediter usado em produção.
- Confirme que seu servidor DHRU recebe o POST com
X-Payment-Mode: sandbox(cheque oerror_log).
O handler de callback do seu plugin DHRU corta automaticamente os webhooks de sandbox: registra o evento, retorna 200 OK e nunca chama addPayment. Nenhuma fatura em produção é creditada, nenhuma linha de tblUsers.credit_left muda.
Quando estiver pronto para passar a tráfego real, desmarque Sandbox Mode no formulário do admin do DHRU. A API key e o webhook secret de produção permanecem onde estavam; nada mais precisa mudar.