Ir para conteúdo
  • Cadastre-se

Disponibilizando 2ª via de boleto no WHMCS


Posts Recomendados

Adicionei um Else, caso não seja segunda via o cliente pega a via com Data Normal. O arquivo que deve ser alterado para que a data seja alterada é o modules/gateways/boleto/boleto.php Removi a linha  $dadosboleto["data_vencimento"] = $data_venc;  e coloquei: //Crio uma função para adicionar mais X dias da data de HOJE function MaisDias($day,$toadd) {  $tmp = explode("/",$day);  $dadate = mktime(0,0,0,$tmp[1],$tmp[0]+($toadd),$tmp[2]);  return date('d/m/Y',$dadate);  }  //Se vier com a variavel via é pq eh segunda via,  //entao dar os dois dias, senao gera com data normal do WHMCS  if (isset($_GET['via'])) {  $hoje = date("d/m/Y"); $dadosboleto["data_vencimento"] = MaisDias($hoje,2); }  else {  $dadosboleto["data_vencimento"] = $data_venc;}Espero ter contribuído.

Link para o comentário
Compartilhar em outros sites

Olá, Estava a procura dessa solução a mais de 1 ano, agradeço a todos pela contribuição. O meu ficou assim depois de montado. <?phpinclude 'configuration.php'; $servidor = "$db_host"; $usuario = "$db_username"; $senha = "$db_password"; $banco = "$db_name"; //vamos ver se conseguimos conectar com o banco de dados$conecta = mysql_connect($servidor,$usuario,$senha);if (!$conecta){ die('Ih! deu erro! ' . mysql_error()); }//O cpf já foi informado via formulário? Se já foi então, vamos pegar o número! $cpf = $_REQUEST['cpf'];//Temos o CPF/CNPJ vamos procurar se ele consta em nosso bancoif (isset($cpf)): mysql_select_db($banco); //Substitua INSIRA_O_ID_DO_CAMPO_CPF pelo id do campo $resultado = mysql_query("SELECT * FROM tblcustomfieldsvalues as cfv, tblinvoices as inv WHERE cfv.fieldid='1' AND cfv.value=$cpf AND inv.userid=cfv.relid AND inv.status='Unpaid'"); // Nao achamos nenhuma entrada para o CPF/CNPJ indicado if (mysql_num_rows($resultado)== 0): echo "Não constam cobranças em aberto para este CPF/CNPJ ($cpf). Certifique-se de ter digitado o CPF/CNPJ corretamente."; //Opa! o cliente tem faturas em aberto else: echo 'Para este CPF/CNPJ ('.$cpf.'), constam os seguintes boletos em aberto:   Número Vencimento Valor Boleto   '; while($row = mysql_fetch_array($resultado)){ echo ""; echo "".$row['id'].""; //Vamos ajeitar a data para o formato brasileiro $data = explode('-', $row['duedate']); $data = $data[2].'/'.$data[1].'/'.$data[0]; echo "".$data.""; echo "R$ ".str_replace(".",",",$row['subtotal']).""; //Link para o boleto echo " 2ª Via do boleto »"; echo ""; }mysql_close($conecta);?> Caso esteja tendo problemas com a emissão da 2ª via do boleto, abra um ticket na área do cliente.« VoltarPara ter acesso rápido a seus boletos, informe seu CPF/CNPJ no campo abaixo, sem traços ou pontos.        CPF/CNPJ:             

Link para o comentário
Compartilhar em outros sites

Olá, fui mais alem no sistema de boleto, e corrigi algumas coisas, alterei para que o cliente digite o e-mail de cadastro me imprima o boleto. $host = "localhost";$user = "user_whmcs";$password = "senhwhmcs";$db = "banco_whmcs";$connect = mysql_connect($host,$user,$password);$database = mysql_select_db($db,$connect);function via($sql){$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|*|--|\\)/"),"",$sql);$sql = trim($sql);$sql = strip_tags($sql);$sql = addslashes($sql);return $sql;}$email=via($_POST[email]);if($email==""){print("Digite seu e-mail abaixo para buscar suas faturas em atraso:E-mail: ");} else {$sql="select * from `tblclients` where `email`='$email' limit 1";$query=mysql_query($sql);$nu=mysql_num_rows($query);if($nu==0){print("Seu e-mail não está cadastrado!");} else { $result=mysql_fetch_array($query);     $sqlb="select * from `tblinvoices` where `userid`='$result[id]' and `status`='Unpaid' order by duedate DESC";    $queryb=mysql_query($sqlb);    $nub=mysql_num_rows($queryb); if($nub==0){ print("Parabéns você está com suas contas em dia!"); } else { echo "$result[firstname] em seu nome constam os seguintes boletos em aberto:   Número Vencimento Valor Boleto   "; while($row=mysql_fetch_array($queryb)){        echo ""; echo "".$row['id'].""; //Vamos ajeitar a data para o formato brasileiro $data = explode('-', $row['duedate']); $data = $data[2].'/'.$data[1].'/'.$data[0]; echo "".$data.""; echo "R$ ".str_replace(".",",",$row['subtotal']).""; //Link para o boleto echo " 2ª Via do boleto »"; echo ""; }echo ""; } }}?>

Link para o comentário
Compartilhar em outros sites

Olá, por favor segui os passos tudo certinho e olha o que esta aparecendo:http://www.wdchost.com.br/centraldocliente/2via-boleto.php Abaixo segue um CPF que contem uma fatura em aberto.CPF: 35546505877

Link para o comentário
Compartilhar em outros sites

Sim! Segue abaixo: <?php//Os dados abaixo são referentes ao banco de dados em que está o seu WHMCSinclude 'configuration.php'; $servidor = "$db_host"; $usuario = "$db_username"; $senha = "$db_password"; $banco = "$db_name"; //vamos ver se conseguimos conectar com o banco de dados$conecta = mysql_connect($servidor,$usuario,$senha);if (!$conecta){ die('Ih! Deu merda! ' . mysql_error()); }//O cpf já foi informado via formulário? Se já foi então, vamos pegar o número! $cpf = $_REQUEST['cpf'];//Temos o CPF vamos procurar se ele consta em nosso bancoif (isset($cpf)): mysql_select_db($banco); //Substitua INSIRA_O_ID_DO_CAMPO_CPF pelo id do campo $resultado = mysql_query("SELECT * FROM tblcustomfieldsvalues as cfv, tblinvoices as inv WHERE cfv.fieldid='1' AND cfv.value=$cpf AND inv.userid=cfv.relid AND inv.status='Unpaid'"); // Nao achamos nenhuma entrada para o CPF indicado if (mysql_num_rows($resultado)== 0): echo "Não constam cobranças em aberto para este CPF ($cpf). Certifique-se de ter digitado o CPF corretamente."; //Opa! o cliente tem faturas em aberto else: echo 'Para este CPF ('.$cpf.'), constam os seguintes boletos em aberto:   Número Vencimento Valor Boleto   '; while($row = mysql_fetch_array($result)){ echo ""; echo "".$row['id'].""; //Vamos ajeitar a data para o formato brasileiro $data = explode('-', $row['duedate']); $data = $data[2].'/'.$data[1].'/'.$data[0]; echo "".$data.""; echo "R$ ".str_replace(".",",",$row['subtotal']).""; //Link para o boleto echo " 2ª Via do boleto »"; echo ""; }mysql_close($conecta);?> Caso esteja tendo problemas com a emissão do boleto, entre em contato ou solicite suporteVoltarPara ter acesso rápido a seus boletos, informe seu CPF no campo abaixo, sem traços ou pontos.        CPF:                     

Link para o comentário
Compartilhar em outros sites

Olá, gostaria da ajuda de vocês, já alterei várias vezes o código e não consigo resolver de jeito nenhum, pelo o que eu entendi, tenho que pegar o código do Luciano e colocar abaixo da linha "$dadosboleto["data_vencimento"] = $data_venc;" no arquivo boleto.php. Pois bem, eu fiz isso, está tudo certo até a parte onde clico em 2° via e sou direcionado para uma página em branco, um error_log é gerado automaticamente na pasta com os seguintes dizeres: "Suhosin Extension does not officially support PHP 5.2 and below anymore, because it is discontinued. Use it at your own risk. in Unknown on line 0" É só eu remover o código do Luciano que a página é gerada automaticamente, mas sem a data com os dias a mais que eu precisava é claro... Já tentei inserir o código da Angélica mas acontece exatamente a mesma coisa, acho estranho de ser um problema com a versão do PHP e somente eu ter esse problema, alguém teria alguma solução pra mim?

Link para o comentário
Compartilhar em outros sites

No meu caso eu utilizo o sistema de Autologin, sendo assim os clientes acessam as faturas diretamente pelo e-mail que o sistema envia. Como eu poderia fazer para gerar uma nova data para mensalidades em atraso e deixar a data original para titulos ainda não vencidos. Alguém pode me ajudar?

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?