BoletoPHP Ultimate

O BoletoPHP Ultimate é um fork do BoletoPHP, baseado na versão 0.17 do mesmo, que permite a geração de boletos bancários em PHP para diversos bancos nacionais.
A atual implementação permite a definição dos parâmetros a serem passados aos boletos em um arquivo centralizador (boleto.php). Desta forma, o projeto está adaptado para gerar boletos para diversos bancos sem que o desenvolvedor tenha um grande trabalho de adequar o código da sua aplicação para isto. Basta ele alterar o arquivo boleto.php para inserir os dados do boleto.

O exemplo disponibilizado gera um boleto para o Banco do Brasil. Assim, os parâmetros informados no arquivo boleto.php são para este banco. Outros bancos podem requerer parâmetros diferentes, no entanto, basta atribuir tais parâmetros ao vetor $dadosboleto dentro deste arquivo, que tais parâmetros serão reconhecidos pelo boleto específico do banco especificado.

No arquivo boleto.php, para definir o banco a ser usado, basta atribuir o sufixo existente no nome do arquivo do boleto
do banco à variável $sufixo_arquivo_boleto. Por exemplo, a geração de boletos para o Banco do Brasil é feita pelo arquivo boleto_bb.php, logo, o sufixo a ser informado na variável indicada é bb. Veja exemplo:

$sufixo_arquivo_boleto = "bb";

Logo, o sufixo é o valor depois do _ e antes do .php no nome do arquivo do boleto do banco.

Desta forma, a partir do exemplo disponibilizado em boleto.php, basta alterar o valor da variável $sufixo_arquivo_boleto para
gerar o boleto para outro banco. Por exemplo, altere o valor para “unibanco” para gerar boletos para tal banco.

A simples alteração do valor desta variável pode causar erros na geração do boleto, pois como o banco foi alterado, pode ser necessário informar algum valor adicional no vetor $dadosboleto para gerar boletos para tal banco.

A intenção inicial era unir tal implementação com o BoletoPHP, no entanto, apesar de ter enviado o projeto para análise pelo responsável do BoletoPHP, não recebi um retorno se iria ou não utilizar as alterações. Assim, resolvi disponibilizar os fontes como um projeto separado.

O projeto é bastante útil em sistemas vendidos para diferentes clientes, onde cada um utiliza boletos de um banco diferente. Com tal implementação, você pode adequar sua aplicação facilmente para o próprio cliente escolher para qual banco deseja gerar o boleto. Um exemplo disto é minha aplicação de gerenciamento de inscrições, disponível para testes em http://concursos.manoelcampos.com/admin/. Como pode ser visto lá, na página de cadastro de convênios o usuário informa o banco com o qual deseja trabalhar.

Download

O projeto está hospedado no GitHub, sob a mesma licença do BoletoPHP. Os fontes podem ser baixados via git ou diretamente pela página http://github.com/manoelcampos/BoletoPHP-Ultimate/archives/master

Então, é isto. Espero que seja útil. Em caso de dúvidas ou críticas, deixem um comentário.

VN:F [1.9.20_1166]
Rating: 7.5/10 (6 votes cast)
BoletoPHP Ultimate, 7.5 out of 10 based on 6 ratings
Tags: , , ,
  • Pingback: Manoel Campos.com » BoletoPHP Ultimate()

  • Anônimo

    Olá Manoel,
    Quem sabe agente não pode unir forças.

    Eu desenvolvi uma biblioteca para gerar boletos bancários, também baseado no Boletophp, mas com uma abordagem diferente.

    Dê uma olhada no projeto em https://github.com/drupalista-br/Boleto

  • Alvarogtc

    Ola Manoel, não sei se pode me dar uma força, baixei sua adptação do sistema de boleto e estou tentando gerar, mas sempre da erro no DIGITO VERIFICADOR  ja tentei de tudo e não sei aonde posso estar errando.

    $dadosboleto[“especie_doc”] = “DM”;
    $dadosboleto[“agencia”] = “2600”; $dadosboleto[“agencia_dv”] = “X”; $dadosboleto[“conta”] = “14696”; $dadosboleto[“conta_dv”] = “X”;
    $dadosboleto[“convenio”] = “1619256”;  $dadosboleto[“contrato”] = “4537043”; 
    $dadosboleto[“nosso_numero”] = “26”; //coloquei so pra testar
    $dadosboleto[“numero_documento”] = “26”; // coloquei so para testar 
    $dadosboleto[“carteira”] = “17”;
    $dadosboleto[“variacao_carteira”] = “-019″;
    $dadosboleto[“formatacao_convenio”] = “7”;
    $dadosboleto[“formatacao_nosso_numero”] = “1”;

    desde ja agradeco  alvarogtc[@]msn.com

  • http://twitter.com/manoelcampos Manoel Campos S. Fh

    Provavelmente você está colocando algum dado errado. Dependendo do tipo de convênio com o banco, os valores dos parâmetros mudam. Você precisa ver a documentação do banco que está usando para confirmar os parâmetros. No caso do convênio e contrato, verifique se é preciso informar com ou sem o dígito verificador.

  • Claudio Camargo

    Olá Manuel, eu preciso integrar este boleto php no wordpress, para um serviço que estou fazendo, uma loja em wordpress que tem como forma de pagto, apenas boleto bancário do BB, será que você teria disponibilidade em me ajudar com isto? Se sim, por favor, envie o custo desta implementação no meu e-mail, por favor. Desde já agradeço.

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Não tenho conhecimento em desenvolvimento para WordPress, assim
    acho difícil poder lhe ajudar.
    Se desejar conversar mais e detalhar o que pretende, entre em contato em http://manoelcampos.com/contato

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Eu até queria ter contribuído com o BoletoPHP (afinal, o meu projeto é baseado nele),
    mas entrei em contato com o responsável pelo projeto e não recebi muita atencão.
    Você sabe o que tem de novo nessa versão?

  • Cleiton Silva Barbosa

    Mano, vc conhece algum projeto para remessa e retorno do boletos BB?

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Não tenho remessa implementado.

  • http://www.facebook.com/brunobertapeli Bruno Bertapeli

    Eu apanhei muito pra isso kkkkkk depoius conheci o Paggy (www.paggy.com.br) A solução dos meus problemas hehee

  • Oliveira Ferreira

    Parabéns pela iniciativa!
    Com esse seu projeto é possível emitir vários boletos para um mesmo cliente com datas de vencimentos diferentes?
    O boletophp neste quesito não atualiza a linha digitavel, nosso número e provavelmente o código de barras

    Grato

  • http://manoelcampos.com Manoel Campos da Silva Filho

    Sim, isto é perfeitamente possível e depende apenas de você informar nossos números e datas diferentes
    para gerar cada boleto para o cliente desejado. O BoletoPHP ultimate vai gerar a linha digitável e código de barras
    de acordo com os dados informados pelo seu sistema.

    Logo, você só precisa se preocupar em criar as páginas PHP com a interface para solicitar a geração do boleto
    passando os devidos parâmetros que falei.