caelum / caelum-stella

O Caelum Stella visa suprir as necessidades do dia a dia do desenvolvedor brasileiro
http://stella.caelum.com.br
664 stars 340 forks source link

Corrigir codigo de barras itau #107

Closed rodrigodesousa03 closed 10 years ago

rodrigodesousa03 commented 10 years ago

Ao emitir um boleto (com dados reais) e tentar efetuar o pagamento, era exibido Código de Barras inválido. Após ver a documentação (na página 40), vi que eram usados 9 caracteres (agencia + conta corrente) para fazer o cálculo do dígito verificador da conta corrente (e não 8 como era feito antes). Os testes de antes funcionavam, pois ao fazer o calculo, os dígitos verificadores pegando os valores errados coincidiam de quando era pego com os valores corretos. Ao fazer a correção nenhum teste foi quebrado e foi feito um teste de pagamento para ver se estava tudo OK. Os boletos que eram emitidos e estavam certos anteriormente, não foram afetados. Nos commits podemos verificar o teste que mostra o erro, a documentação do Itau e a solução do problema.

garcia-jj commented 10 years ago

Com esta alteração você conseguiu gerar o código correto. Mas e pagando o boleto ele entrou certinho? Isso impacta todas as carteiras?

mariofts commented 10 years ago

Posso mergear?

rodrigodesousa03 commented 10 years ago

Ainda estou aguardando a confirmação do pagamento do boleto. Mas com o novo código de barras gerado por esse algoritmo, o bankline não reporta mais nenhum erro.

garcia-jj commented 10 years ago

Eu uso Itaú, e a informação está correta. Minha agência, por exemplo, é 0392. Sendo assim são 9 posições para agência + conta. Fiz alguns testes com esta versão e gerou tudo certinho.

:shipit: :gun:

rodrigodesousa03 commented 10 years ago

O pagamento do boleto caiu na conta. Nenhuma carteira será afetada com essa mudança, pode dar merge :)