eduardocereto / pyboleto

A Python module to create Brazilian "Boletos de Cobrança" for multiple banks
http://pypi.python.org/pypi/pyboleto/
BSD 3-Clause "New" or "Revised" License
166 stars 125 forks source link

Nova implementação boleto Caixa #25

Closed eduardocereto closed 10 years ago

eduardocereto commented 12 years ago

https://github.com/arthurfurlan/pyboleto

Esse repo não é um fork do repo oficial, então não da pra fazer um simples merge, vou ter que refazer as modificações na mão.

Mas eu fiquei na dúvida se vale a pena ou não. Me parece que o calculo do nosso_numero que ele utiliza eh bem diferente, não sei dizer se está certo ou se está errado. Já que nunca houve um bug reclamando de boletos da Caixa.

Alguém poderia:

Talvez os dois funcionem mas sejam carteiras distintas. Não sei.

arthurfurlan commented 12 years ago

Olá Eduardo,

Minha esposa trabalhava na Caixa no setor responsável pelas carteiras dos clientes Pessoa Jurídica. Portanto, esses boletos foram homologados pela própria Caixa e eu estou utilizando essa versão do meu repositório em produção.

Vou subir a documentação que recebi da própria Caixa durante o processo de homologação e adicionar minha suite de testes (que atualmente estão na minha aplicação, fora do repositório).

Se eu puder ajudar em algo para adicionar essas informações no repositório oficial, let me know. :)

arthurfurlan commented 12 years ago

Feito!

Documentação: https://github.com/arthurfurlan/pyboleto/commit/81cffe2468bbdb0a4d05763acdd6bd018e38fc0e

Testes para SIGCB: https://github.com/arthurfurlan/pyboleto/commit/8a8c5feb96aad61bf12dc2ca7c43e527ec2582b9

michelts commented 10 years ago

Acabei de testar e está gerando linha digitável e código de barras idênticos aos gerados no programa de cobrança da própria Caixa.

Parece que há sim carteiras distintas, o que o Arthur escreveu atende uma carteira vendida atualmente mas há sistemas legados que trabalham com carteiras antigas, eu mesmo uso uma outra carteira em minha conta pessoa física que não bate com nenhumas das implementações disponíveis.

Ela gera um nosso número com 18 posições, começando pelo dígito 9. Pelo que a equipe da caixa me falou, essa carteira não está mais sendo vendida, mas isso é informação extra-oficial.

Eu tenho o código em php para esta carteira antiga mas ele data de 2009, não sei se vale a pena portar - eu não preciso - mas se acharem importante, posso tentar migrar.

De qualquer forma, se o código atual está funcionando em outras carteiras, acho que não é o caso de simplesmente criar uma classe substitutiva mas sim criar uma outra classe, talvez BoletoCaixaSIGCB. O que acham?

Posso ajudar de alguma forma a consolidar o trabalho num único repositório?

eduardocereto commented 10 years ago

Acabei de fazer um release que inclui as modificações feitas em #33 Estava mais organizado do que esta implementação. você pode verificar o pyboleto 0.2.12 para ver se esta compatível ou se falta algo em comrapação com o seu?