Jump to content

[Tutorial 1/2] Boleto Próprio Do Iconta Com Whmcs/boletophp


joaopaulo

Recommended Posts

Olá Pessoal,

Assim como vocês, também abri uma conta no iConta devido ao fato do DOC ser gratuito e cá entre nós, isso é muito bom para fazer pagamentos de funcionários, fornecedores, etc... Antes eu tinha uma despesa de +/- 300,00 por mês com DOCs e graças a Deus, hoje não passa de R$ 50,00 (eu movimento em outros bancos PJ --> Itaú iconta PF).

Mas vamos ao que interessa: Como integrar o Boleto do Iconta ao projeto BoletoPHP e assim poder gerar o seu próprio boleto, sem a necessidade de entrar no Iconta.

ATENÇÃO: EU ESTOU ENSINANDO A COMO FAZER VIA BOLETOPHP E NÃO ASSUMO NENHUMA RESPONSABILIDADE CASO O PAGAMENTO NÃO SEJA COMPENSADO EM SUA CONTA. DEVE-SE EMITIR CERCA 5 A 10 BOLETOS, PAGAR ELES EM DIAS ALTERNADOS E VERIFICAR SE ESTÃO SENDO COMPENSANDOS CORRETAMENTE NA CONTA CORRENTE ANTES DE ATIVAR NO AMBIENTE DE PRODUÇÃO.

EM CASO DE PROBLEMAS, LEVE OS BOLETO GERADOS E PAGOS AO SEU GERENTE E VERIFIQUE COM ELE O QUE HOUVE.

Pré-requisitos:

1. Computador/Servidor com Wamp/Lamp/Wemp para testar.

2. Editor de Código fonte PHP (Bloco de Notas/Gedit/Netbeans/DiaboA4)...

3. Gere um boleto no seu Iconta pela ferramenta "Cobrança Expressa". Esse boleto será útil para retirarmos algumas informações.

1º Passo:

Baixe o projeto do BoletoPHP a partir da URL:


https://github.com/BielSystems/boletophp/zipball/master

Em seguida, descompacte a pasta em seu diretório/domínio do Webserver. No meu caso especifico, a URL da pasta onde descompactei é: http://localhost/cobranca 2º Passo: O boleto gerado anteriormente no Iconta, será algo mais ou menos parecido com o mostrado abaixo. Note que os campos circulados são importantes e logo iremos utiliza-los. iconta.png Observe os campos que circulei, pois vamos usa-los no próximo passo. 3º Passo: Configurando seu primeiro boleto. Com o editor de código fonte, abra o arquivo cobranca/boleto_itau.php. Agora iremos configurar o BoletoPHP para gerar o nosso boleto de teste. Dividi o arquivo em vários blocos para vocês entenderem o passo-a-passo da coisa

// DADOS DO BOLETO PARA O SEU CLIENTE

$dias_de_prazo_para_pagamento = 5;

$taxa_boleto = 0;

$data_venc = date("d/m/Y", time() + ($dias_de_prazo_para_pagamento * 86400)); // Prazo de X dias OU informe data: "13/04/2006";

$valor_cobrado = "4,00"; // Valor - REGRA: Sem pontos na milhar e tanto faz com "." ou "," ou com 1 ou 2 ou sem casa decimal

$valor_cobrado = str_replace(",", ".",$valor_cobrado);

Em $dias_de_prazo_para_pagamento escolha a quantidade de dias para o vencimento do boleto a partir da data de emissão. Em $taxa_boleto coloque o valor que deseja cobrar do cliente de taxa do boleto. Lembrando que isso é ilegal se você não fornecer outros meios de pagamento ao cliente que sejam isentos de taxas ( exemplo: se você aceitar o depósito em conta, você poderá cobrar a taxa do boleto, mas se o boleto for a única forma de pagamento a vista, a taxa do boleto é ilegal). Em $valor_cobrado coloque o valor cobrado pelo boleto. Coloque um valor de R$ 4,00 ou R$ 5,00 para você testar. Assim se der zebra, o valor do prejuízo não vai ser tão grande.

$dadosboleto["nosso_numero"] = '11'; // Nosso numero - REGRA: Máximo de 8 caracteres!

$dadosboleto["numero_documento"] = '11'; // Num do pedido ou nosso numero


Em $dadosboleto["nosso_numero"] coloque um número baixo (pode iniciar em 1) e lembre-se, nunca o nosso número poderá se repetir. Eu gerei aqui boletos de 1 a 10 para testar, esse já é meu 11º boleto usando o iConta, por isso que coloquei 11. No ambiente de produção, deve-se utilizar o número da fatura para facilitar a identificação manual do boleto. Em $dadosboleto["numero_documento"] copie o valor da varíavel anterior. Nunca repetir o nosso número. Nunca.


// DADOS DO SEU CLIENTE

[...]

// INFORMACOES PARA O CLIENTE

[..]

// DADOS OPCIONAIS DE ACORDO COM O BANCO OU CLIENTE

[..]


Campos auto-explicativos, dispensa comentários.


// ---------------------- DADOS FIXOS DE CONFIGURAÇÃO DO SEU BOLETO --------------- //


// DADOS DA SUA CONTA - ITAÚ

$dadosboleto["agencia"] = "8745"; // Num da agencia, sem digito

$dadosboleto["conta"] = "05994"; // Num da conta, sem digito

$dadosboleto["conta_dv"] = "2"; // Digito do Num da conta

// DADOS PERSONALIZADOS - ITAÚ

$dadosboleto["carteira"] = "157"; // Código da Carteira: pode ser 175, 174, 104, 109, 178, ou 157

// SEUS DADOS

$dadosboleto["identificacao"] = "João Paulo Dias";

$dadosboleto["cpf_cnpj"] = "";

$dadosboleto["endereco"] = "Coloque o endereço da sua empresa aqui";

$dadosboleto["cidade_uf"] = "Cidade / Estado";

$dadosboleto["cedente"] = "Coloque a Razão Social da sua empresa aqui";

Em $dadosboleto["agencia"] coloque o número de sua agência, sem o dígito, igual o mostrado no boleto que você emitiu pelo banco. Em $dadosboleto["conta"] coloque o número de sua conta sem o dígito, igual o mostrado no boleto emitido pelo banco. Em $dadosboleto["conta_dv"] coloque o dígito de sua conta (se houver). Em $dadosboleto["carteira"] coloque o mesmo número da carteira mostrada no boleto emitido pelo banco. Agora salve o arquivo. 4º Passo: Emitindo seu primeiro boleto! Feito todos passos acima, acesse o seu primeiro boleto pela sua URL. A minha é http://localhost/cob...oleto_itaup.php. Aí está ele! (Mostrando apenas a parte inferior do boleto) iconta2.png Verifiquem se os campos circulados está igual ao boleto emitido pelo banco. Notem ainda, que o campo Nosso número é diferente, isso porque iniciamos a sequencia do 1 (no meu caso foi o 11). Nunca repetir o nosso número. Nunca. Agora pague o boleto no seu Internet Banking (preferencialmente fora do Itaú) e aguarde 2 dias... consulte seu extrato de boletos e veja se ele caiu. 5º Passo: Conferindo se o boleto caiu na conta. Lembram-se do nosso número, onde falei que esse é meu 11º boleto? Então, o 10º já apareceu no meu extrato: iconta3.png6º Passo: Continuação e Comentários: O boletoPHP pode ser usado por qualquer aplicação de cobrança, seja loja online, WHMCS, etc... Antes de colocar em ambiente de produção, pague os boletos de 1 em 1 em praças diferentes: Correios, Bancos (fora do itaú), lotéricas, correspondentes bancários. Enfim, melhor gastar R$ 50,00 testando esta implementação do que perder R$ 500,00 - R$ 1000,00 mais para frente. Nunca repetir o nosso número. Nunca. Notem que esse é o 1/2. No próximo vou montar um script para confirmação semi-automática dos boletos, ou seja, você captura o extrato (explicarei o porque) e cola e pimba! O sistema faz o resto. 7º Passo: Integração com WHMCS Para quem quiser usar o boleto próprio com o WHMCS, pode faze-lo usando esse módulo: https://www.menigmahost.com.br/noticias/modulo-de-boleto-bancario-para-whmcs/ (que é o módulo padrão de boleto do WHMCS). AS informações das variáveis acima, servem para a página de configuração do boleto. Eu não uso o WHMCS e logo... não posso falar muito sobre :D 8º Passo: Coisa de amigos: Agora que vocês tem meus dados bancários, aceito doações. Abraços e bom uso. PS: Quem quiser reproduzir em blogs, favor mencionar exatamente as linhas abaixo:

Escrito por João Paulo Dias para forum.portaldohost.com.br

Contato do autor via e-mail: joaopaulo [1arroba] vista.aero

Link to comment
Share on other sites

Parabens João... bela atitude em compartilhar.

Aos programadores de plantão... ninguém conseguria implementar a função de autorenovação do vencimento? evitando que se o cliente não pagar na data de vencimento tem que entrar em contato com a empresa pedindo para atualizar o vencimento.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Do you agree with our terms?