Re: [ PHP - Google ] Cnab 240 - Caixa/CEF - Arq. Retorno

1,154 views
Skip to first unread message
Message has been deleted

Bruno Gross

unread,
Apr 8, 2009, 3:52:52 PM4/8/09
to list...@googlegroups.com
cara

é pegar o layout e ir dando substring

ja fiz isso a 550 anos atrás pro bradesco

é simples



2009/4/8 Willian Spagnol <willian...@gmail.com>

Olá amigos,

Alguém já desenvolveu script php para tratar arquivo de retorno da
Caixa/CEF do tipo CNAB 240 ?

Encontrei diversos 'geradores de boleto' (ex: phpboleto.com.br), mas
está difícil de achar script para tratar o arquivo de retorno.
Antes de por a mão na massa e começar do zero, faço consulta a vocês.

Obrigado!
Willian Spagnol




--
Visite: www.UpaLele.com

att.
Bruno Gross
Analista de Sistemas
Celular: (21) 78545483
Rádio ID: 83*39379

Esta mensagem, incluindo seus anexos, pode conter informações confidenciais e/ou privilegiadas. Se você não for a pessoa autorizada a receber esta mensagem, não pode usar, copiar ou divulgar as informações nela contidas ou tomar qualquer ação baseada nessas informações. Caso esta mensagem tenha sido recebida por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida elimine-a do seu sistema. Agradeço sua cooperação.

Felipe Nascimento de Moura

unread,
Apr 8, 2009, 10:35:20 PM4/8/09
to list...@googlegroups.com
Pro bradesco é F... mas pra caixa, eles tem uma opção no site para exportar extratos em formato OFX, ou OFC, nao lembro ao certo... estes formatos sao muito proximos de XML.
ty pode usar uns metodos para explodir e expressoes regulares, ate pegar as informações que tu precisas....eu fiz assim para os extratos, ao menos...
Nao sei se é isso q tu precisas.

2009/4/8 Bruno Gross <bruno...@gmail.com>



--
Felipe N. de Moura
Desenvolvimento Web

www.springerit.com
fel...@springerit.com
---------------------------------
Fazendo da web um lugar melhor pra se viver.
Making the web a better place to live

Pablo

unread,
Apr 9, 2009, 10:54:53 AM4/9/09
to list...@googlegroups.com
Como o amigo disse, na caixa tem o layout de retorno então é só ler o arquivo e ir pegando as posições da string.

Rafael Cavalcante

unread,
Apr 9, 2009, 2:10:21 PM4/9/09
to list...@googlegroups.com
Cara é como o pessoal falou...
Um arquivo txt que vc vai ter que ler linha por linha pegando os dados na posições correspondente com substring e jogando para seu banco de acordo com a lógica que vc adotou.

Seguindo a lógica do cnab400 ( cnab240 é o que a caixa usa), o arquivo de retorno é um txt.
na primeira linha normalmente vem informações da sua empresa, data de criação do arquivo e etc.
na ultima linha contem o numero total de linhas e mais algumas coisas desnecessárias...
O meio são os boletos que vc quer ler, para cada linha representada por um boleto tem informações se ele foi aceito, caso contrario terá o código do motivo porque ele não foi aceito(todos os códigos existem no manual... se foi pago, total pago, data do pagamento, etc etc...

Tome cuidado para cuidar apenas dos boletos que vc criou, todos os boletos ligados aquela conta corrente vão vir no arquivo de retorno, não apenas os boletos criados pela sua aplicação.

Aconselho ler o arquivo de retorno com uma função sua, pois vai obrigar você a entender os funcionamento do sistema do banco e quais são as suas necessidades... Pegando apenas os dados necessários... (ou guardando todos os campos do arquivo de retorno no banco)

Cuidado para não duplicar boletos, o custo para cancelalo no bradesco era de 4,50 . Mesmo cancelando por arquivo de remessa...

Mas isso tudo tem no manual da caixa, que como disseram anteriormente é muito facil pagar!

Boa sorte!



On Thu, Apr 9, 2009 at 11:54 AM, Pablo <pablo...@gmail.com> wrote:
Como o amigo disse, na caixa tem o layout de retorno então é só ler o arquivo e ir pegando as posições da string.






--
Abraços,
Rafael Cavalcante - O profissional do futuro.

Acesse agora :::::::::::::::::::::::::::::::::::::::::::::::::
euteamolilian.com - Para uma mulher especial ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Acesse em breve ::::::::::::::::::::::::::::::::::::::::::::
rafaelcavalcante.com.br :::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

Giovanni - GMAIL

unread,
Apr 9, 2009, 4:53:42 PM4/9/09
to list...@googlegroups.com
se for linha a linha assim

empresa
cnpj
valor
numero

usa o file() que le o conteudo e joga no array e já era....

tipo
$aDados = file("retorno.txt");
echo $aDados["cliente"];

melhor que ler linha a linha, eu acho....

Rafael Cavalcante escreveu:
Message has been deleted

Rafael Cavalcante

unread,
Apr 9, 2009, 6:48:52 PM4/9/09
to list...@googlegroups.com
O Giovanni está certo!
É inclusive mais rápido em questão de performance quando você começa a escalar o número de boleto ( Mil + )
Cada linha do arquivo é um stringão de 240 posições, tem que delimitar as posições de qualquer forma...

2009/4/9 Giovanni - GMAIL <giovan...@gmail.com>
Reply all
Reply to author
Forward
0 new messages