OpenCnabPHP icon indicating copy to clipboard operation
OpenCnabPHP copied to clipboard

homologação BB com bronca nos Juros, mora e valor pago no retorno

Open implemente opened this issue 4 years ago • 6 comments

Estou tendo alguns problemas com o BB. eu estou homologando junto ao BB o boleto no meu sistema web e ja foi homologado a impressão esta 100% (usei o proprio exemplo daqui). homologuei a remessa e também deu 100% (também usei o exemplo passado). já a retorno apresentou algumas broncas. quando uso if($registro->R3U->codigo_movimento == 6) ele so le alguns registros do arquivo. tive que comentar para poder ler todos. quando comento nao consigo pegar o valor pago pela $registro->R3U->vlr_pago vem sempre null. tive que usar $registro->vlr_nominal;//R3U->vlr_pago; que na verdade nao é o valor pago. nao consigo pegar o juros nem mora. o codigo que eu to usando é esse :

foreach($registros as $registro){ //if($registro->R3U->codigo_movimento == 6){ $nossoNumero = substr($registro->filler3, -10); //nosso_numero; -10 $valorRecebido = $registro->vlr_nominal;//R3U->vlr_pago; $dataPagamento = $registro->R3U->data_ocorrencia; $vlr_desconto = $registro->R3U->vlr_desconto;

o arquivo que eu estou utilizando de retorno é esse: retorno.txt

implemente avatar Apr 24 '21 17:04 implemente

como poder ver ate a linha 19 o registro T vem assim : 0010001300017T 06 e ele pega usando o $registro->R3U->codigo_movimento == 6

ja na linha 21 o registro T vem assim : 0010001300019T 20 entao usando o codigo acima nao retorna leitura correta. vou modificar meu codigo pra tentar ler os dois. mas mesmo assim so consigo pegar os valores quando a linha T vem 06. por isso o retorno nao le todos os boletos nele. :(

implemente avatar Apr 24 '21 17:04 implemente

Ola @implemente, obrigado por usar nossa biblioteca.... Na documentação do banco do brasil indica que o valor 6 na linha T é para liquidação de boleto, por isso só consegue pegar os valores quando o valor é 6 image

Rctnet avatar Apr 24 '21 17:04 Rctnet

realmente o 20 é confirmacao de recebimento. vou verificar nos retornos pra ver se esse boleto foi pago em outro retorno. pois utilizo outro sistema desenvolvido por mim em delphi e esse boleto foi quitado pelo banco. vou verificar nos outros arquivos.

estou fazendo assim. estou gerando tudo que gerei mês passado no meu sistema que esta homologado. comparando. e enviando pra homologação.

implemente avatar Apr 24 '21 17:04 implemente

Voltei ao que era como o exemplo dizia mas ainda estou com umas duvidas.

  1. como pegar o juros?
  2. como pegar a multa?
  3. como pegar a taxa? aqui eu tentei $valortarifa = $registro->R3U->vlr_tarifa; mas sempre vem null

implemente avatar Apr 24 '21 19:04 implemente

você pode usar var_dump($registro->R3U) ou var_dump($registro) para visualizar os dados capturados pelo layout

Rctnet avatar Apr 24 '21 19:04 Rctnet

Bem, fiz todos os testes de homologação, comparei com todos os arquivos gerados no outro sistema que ja tenho homologado em delphi. E estou gerando os boletos, criando a remessa e lendo os retornos em produção. Resolvi o retorno assim: foreach($registros as $registro){ if($registro->R3U->codigo_movimento == 6){ $nossoNumero = substr($registro->filler3, -10); $valorRecebido = $registro->R3U->vlr_pago; $juros = $registro->R3U->vlr_juros_multa; $dataPagamento = $registro->R3U->data_ocorrencia; $vlr_desconto = $registro->R3U->vlr_desconto; $vlr_liquido = $registro->R3U->vlr_liquido; $taxa = $registro->R3U->vlr_pago - $registro->R3U->vlr_liquido; $acrescimo = ($registro->R3U->vlr_pago - $taxa) - $valorConta;

Esse mês que vem agora (maio) vou gerar tudo pelo sistema em PHP e qualquer bronca vou passando aqui.

implemente avatar Apr 27 '21 18:04 implemente