Email com link direto para o boleto no WHMCS 3 passos

Home / Tutoriais / Email com link direto para o boleto no WHMCS 3 passos

X





Essa é com certeza uma das maiores necessidades que recebemos quando falamos de WHMCS. Empresas que não aguentam mais perder tempo enviando usuário e senha para seus clientes poderem acessar seus respectivos boletos.

A solução que implementamos é simples: enviar um email com link direto para o boleto no WHMCS.

O cliente recebe um link no email com acesso direto ao boleto e o melhor, se você alterar alguma informação, o link vai direcionar sempre pro boleto atualizado.

Essa solução é bem simples, bastou apenas bastante criatividade para resolver.

1º Passo.

Configurar a chave do Auto Login.

Edite o arquivo configuration.php que está localizado na raiz do WHMCS e adicione (se já nao tiver) a seguinte linha:

$autoauthkey = "MinhaChave AutoLogin";

Altere o valor para uma chave secreta, pode ser qualquer combinação bem complexa, pois não vai ser necessário memorizá-la.

2º Passo.

Criar o arquivo Auto Login.

Na raiz do WHMCS crie um arquivo chamado autologin.php, com o seguinte conteúdo.

<?php
$whmcsurl = "http://meulinkwhmcs.com.br/dologin.php"; //Altere para o link do seu WHMCS
$autoauthkey = “MinhaChave AutoLogin"; //A mesma que você colocou em configuration.php
$secret_key = "SenhaParaOTemplateDeEmail"; //Crie uma nova chave, agora para usar no template de email.
if (md5($_GET['email'].$secret_key) != $_GET['hash']){
die();//Encerra o código pois as senhas não estão corretas.
}
$timestamp = time();
$email = $_GET['email'];
$goto = "modules/gateways/boleto/boleto.php?invoiceid=".$_GET['invoice'];
$hash = sha1($email.$timestamp.$autoauthkey);
$url = $whmcsurl."?email=$email&timestamp=$timestamp&hash=$hash&goto=".urlencode($goto);
header("Location: $url");
exit;
?>

Salve o arquivo e não esqueça de verificar se as permissões estão corretas.

3º Passo.

Configurar o template de email.

Adicione a seguinte linha no começo do seu template, lembre se alterar a “SenhaParaOTemplateDeEmail”, para a mesma chave que você colocou no arquivo autologin.php

{assign var='hash' value=$client_email|cat:"SenhaParaOTemplateDeEmail"}

E adicione essa linha que será o link para o boleto.
<a href="http://meuwhmcs.com.br/autologin.php?email={$client_email}&hash={$hash|md5}&invoice={$invoice_id}">Clique aqui para gerar seu boleto</a>

Pronto, com isso você vai ganhar bastante tempo para fazer o que importa, focar no core business da sua empresa.

Clique aqui que entramos em contato

Qualquer dúvida poste nos comentários.
Se necessitar outra solução, ou integrar outras aplicações cloud entre em contato!

Gabriel Piassetta
Gabriel Piassetta
Entusiasta da tecnologia como transformador da vida humana. Formado em Sistemas de Informação pela UFSC, trabalha na difusão da cultura Cloud Computing afim de aprimorar a produtividade das empresas nacionais.
Showing 13 comments
  • Gabriel Piassetta
    Gabriel Piassetta

    Olá João Victor,

    Copia aqui como fica a url dentro do email, só modifica o hash antes de colar, por segurança.

  • Gabriel Piassetta
    Gabriel Piassetta

    Pode passar como ficou a URL dentro do email? Só apaga o hash por segurança.

    • Fábio Seabra

      Olá Gabriel, no meu está dando erro. Tanto erro 500 como este: Warning: Cannot modify header information – headers already sent by (output started at …public_html/sistema/autologin.php:1) in /home/criarimp/public_html/sistema/autologin.php on line 25.

      Qual a permissão correta para este autologin.php?

      • Gabriel Piassetta
        Gabriel Piassetta

        Oi Fábio,

        Esse erro normalmente é oriunda do formato de codificação do arquivo o que altera algumas coisas no código.

        Que editor de texto você usou?

        ps: Desculpe pela demora, por algum motivo seu comentário caiu no spam do wordpress.

  • Paulo Cesar

    Cara valew mesmo, há tempos que procuro algo assim e não achava, Parabéns por o código….

  • Ravana

    Fantástico esse post.
    Simples, direto e eficiente.
    Muito Obrigada!!!!

  • Itamar

    Valeu cara!! Funcionou perfeitamente. Obrigado!!!!!

  • Petrus Henrique

    Boa tarde Gabriel, ainda estou configurando meu WHMCS antes de lançar o site da minha hospedagem. E aí que vem minha dúvida. Não utilizo o módulo de boleto direto do banco, estou utilizando o do gerencianet que funciona normal. Como não uso o módulo do gerador de boleto, e sim do gerencianet, precisei modificar o link do boleto direto para o link de ver a fatura no autologin. Existe alguma forma do link direcionar automaticamente para “realizar pagamento”?

    • Gabriel Piassetta
      Gabriel Piassetta

      Oi Petrus,

      Para isso é preciso saber como está montado o link do “realizar pagamento” se for uma url padrão, daria pra fazer sim.

      • Cristian John

        Uso o gerencianet tb e mandei o autologin para o invoice, ai é só o cliente clicar em realizar pagamento (coloquei um aviso no email)

        $goto = ‘viewinvoice.php?id=’ . $_GET[‘invoice’];

        Parabéns Gabriel, e obrigado por compartilhar.

  • Fábio Seabra (sapro)

    Funcionando, alterei o endereço em $goto =. Se eu desejasse colocar uma url padrão em goto tipo a do instalação WHMCS e na url desejasse apontar para tickets etc. Como ficaria a linha 23 do autologin? $url = $whmcsurl.”?email=$email&timestamp=$timestamp&hash=$hash&goto=”.urlencode($goto);

    Ficaria com muitas alterações?

  • J. Bathista

    Olá Gabriel, parabéns pelo artigo! Excelente!
    Fiz todo o procedimento corretamente, só que ao logar no whmcs 6.2 a página fica em branco! O que será q fiz errado?

  • Fábio Seabra

    Fala grande, funcionou no meu mais tive que mudar a url de ($goto =) porque eu uso um módulo. Coloquei o link (viewinvoice.php?id=”.$_GET[‘invoice’];). Uma pergunta. Como eu faço para funcionar com tickets etc?