Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pesquisei na internet e vi que o arquivo .ret serve para ver se o boleto foi pago.
Ja consegui abrir esse arquivo .ret com o PHP com alguns exemplos na internet, como faço para que o PHP gere esse arquivo .ret quando eh gerado o boleto? Afim de checar posteriormente se o mesmo foi pago.
Estou usando o boleto do Santander (se isso for relevante)
>
3 horas atrás, Wagner M.M disse:
Pesquisei na internet e vi que o arquivo .ret serve para ver se o boleto foi pago.
Ja consegui abrir esse arquivo .ret com o PHP com alguns exemplos na internet, como faço para que o PHP gere esse arquivo .ret quando eh gerado o boleto? Afim de checar posteriormente se o mesmo foi pago.
Estou usando o boleto do Santander (se isso for relevante)
Eu trabalhava em uma empresa e uma belo dia tivemos uma grande surpresa:
2mil boletos emitidos sem ordem de protesto, motivo ?
O arquivo de remessa gerado pelo sistema não vinha com a instrução de protesto, isso só me gerou dor de cabeça, mas pelo menos aprendi isso (kkk):
O banco tem dois arquivos:
O .rem que é o envio das remessas pra cadastrar os boletos.
E o .ret, que é o arquivo com o retorno das remessas já enviadas pra saber o que houve com cada instrução.
Você não consegue trabalhar o .ret, sem os dados da .rem, por que você precisar cruzar os dados, pra saber o que aconteceu com cada coisa.
Pra descobrir como gerar a remessa, é só gerar um arquivo no formato .rem (texto) com o PHP, isso é fácil, o problema são as instruções, você deve pesquisar no seu banco o layout da remessa, e o layout do retorno, com isso você pode usar os dados que você já tiver no seu BD local, como CNPJ, Razao Social, CPF, pra inserir no local certo dentro da remessa e gerar um boleto pelo seu próprio sistema, mas o layout deve ser muito preciso, senão você pode enviar instruções erradas e ordenar que o banco faça coisas que não deveriam ser feitas vulgo meu exemplo acima.
Espero ter ajudado, vlw
PS: não tenho toda certeza se realmente o .ret sozinho é inútil, mas eu acredito que sim pois você não vai conseguir saber do que ele está retornando.
esse arquivo .rem eh gerado quando se gera o boleto pelo php? Teria algum exemplo?
>
13 minutos atrás, Wagner M.M disse:
esse arquivo .rem eh gerado quando se gera o boleto pelo php? Teria algum exemplo?
O arquivo .rem é o arquivo que é enviado pro banco pra gerar os boletos, e posteriormente receber o .ret.
Mas, ai que tá o porém, tanto a remessa, quanto o retorno tem alguns padrões, o ideal nesse caso, é você ligar na central e pedir os arquivos modelos, mas vou te explicar os passos.
Primeiro você vai ter que saber gerar um arquivo de texto com o PHP.
<php
$fp = fopen("remessa.rem", "a");
$escreve = fwrite($fp, "Aqui vão as instruções da remessa");
fclose($fp);
Beleza, fácil, agora você vai precisar descobrir qual layout você precisa seguir, e isso você só descobre em contato com o banco, ou sabendo usar o internet bank pra buscar isso (não sei o nome pro santander).
Pra se criar um remessa do santander, com CNAB 400, com registro (400 porque possui 400 posições) você precisa seguir esse manual de construção do layout colocando as informações nas suas respectivas posições:
[Layout Santander CNAB 400](http://app.criodigital.com/padrao/cobranca/Documentos/Layout%20Santander.pdf)
É simples, mas até você entender vai rachar um pouco a cabeça, mas é simples e claro: siga cegamente as instruções do layout.
Não tenho nenhum exemplo de remessa aqui, mas acredito que em casa eu tenha uma classe que emite pro Bradesco, a noite eu verifico e se eu achar upo no github e mando o link aqui.Ressuscitando o post, estou na mesma luta aqui em um sistema que estou desenvolvendo. Vi que em alguns layouts que o Boleto PHP fornece, mas muitos não são registrados. Acredito que seja possível adaptá-los. Mas minha dúvida é: o arquivo .ret, como posso aplicá-lo em PHP, ou seja, como isso é aplicado? Por ex.: vi que o .ret da CEF é dessa forma:
02RETORNO0000000000000000011119999990000000000000000000000000000000000000000104000000000000000201016000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
10000000000000000000000000000000000000000000000000000000140000000000000010000000000000000000000000000000000002201016 10000000000000000000019101600000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003
Isso é um padrão ou varia conforme a agência e conta? Para aplicar o .ret, tenho que desenvolver um novo arquivo onde mudaria o status do banco de dados? mas como faço para reconhecer que o .ret pertence a aquele determinado banco/agência/conta?
Para chegar se o boleto foi pago você precisa apenas do "nosso número"....