Descreva o bug
Para alguns convênios, o Bradesco está retornando o CNAB400 contendo registros de detalhe do tipo "4", que é a linha do PIX embutida no boleto.
Para reproduzir
Passos para reproduzir o comportamento:
Obtenha qualquer arquivo que retorna o detalhe do tipo 4 no CNAB400 e tente processar na biblioteca.
Comportamento esperado
A linha do detalhe do tipo 4 deveria ser ignorada.
Desktop (por favor, complete as seguintes informações):
OS: [e.g. Debian (Linux)] Debian
Versão do PHP [e.g. 5.4, 7.1] 8.1.4
Versão do Laravel [e.g. 5.3, 5.6] v10.37.3
Contexto adicional
Como workaround, é possível extender a classe e ignorar o registro, mas o ideal seria tratar na biblioteca. Podemos implementar esta solução caso a decisão seja a de ignorar o tipo do registro por completo.
<?php
use Eduardokum\LaravelBoleto\Cnab\Retorno\Cnab400\Banco\Bradesco;
use Eduardokum\LaravelBoleto\Contracts\Cnab\RetornoCnab400;
class CnabBradescoRetorno400 extends Bradesco implements RetornoCnab400
{
protected function processarDetalhe(array $detalhe)
{
if (isset($detalhe[0]) && $detalhe[0] != 4) {
return parent::processarDetalhe($detalhe);
}
return false;
}
}
Aqui está um exemplo de como o arquivo retorna. Censurei os dados para a proteção da empresa e em vigência da LGPD.
Descreva o bug Para alguns convênios, o Bradesco está retornando o CNAB400 contendo registros de detalhe do tipo "4", que é a linha do PIX embutida no boleto.
Para reproduzir Passos para reproduzir o comportamento: Obtenha qualquer arquivo que retorna o detalhe do tipo 4 no CNAB400 e tente processar na biblioteca.
Comportamento esperado A linha do detalhe do tipo 4 deveria ser ignorada.
Desktop (por favor, complete as seguintes informações):
Contexto adicional Como workaround, é possível extender a classe e ignorar o registro, mas o ideal seria tratar na biblioteca. Podemos implementar esta solução caso a decisão seja a de ignorar o tipo do registro por completo.
Aqui está um exemplo de como o arquivo retorna. Censurei os dados para a proteção da empresa e em vigência da LGPD.