Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Bom dia a Todos,

Estava tentando entender como funciona o processo de geração do boleto pix pelo modo de arquivos cnab240,

vendo o manual que o banco me passou e vendo o componente AcbrBoleto, e fazendo uns testes não consegui fazer aparecer no boleto o QRCode,

então olhando no manual do banco vi que no retorno de remessa e "Segmento Y4" tem um campo "URL do QrCode" 

ai a minha pergunta "Só posso imprimir o boleto com o QRCode quando eu receber esse retorno? o componente não gera essa URL ?"

acho muita informação com API mas não por arquivo CNAB

desde ja obrigado!

Postado

Oi pessoal, estava lendo sobre o tópico e me deparei com uma situação hoje pela manhã.

Banco: Sicredi modo de arquivos cnab240
Boleto Híbrido registrado via WebService


Ao processar o retorno de um boleto pago no pix, estava ocorrendo um erro 'URL e TXID é obrigatório!'

 

procedure TACBrBoletoPIXQRCode.PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo);
var
  LEMV : TACBrPIXQRCodeDinamico;
begin
  if (EstaVazio(AURL) or EstaVazio(ATXID)) then
    raise Exception.Create(ACBrStr('URL e TXID é obrigatório!'));
 

...
end;

 

Analisando o arquivo de retorno, o arquivo contém a seção Y, com a URL do pix, mas em branco a parte do TXID

 

ACBrBancoSicredi.pas

linha: 2298

if Trim(Copy(SegY,82,77))<>'' then
          QrCode.PIXQRCodeDinamico(Trim(Copy(SegY,82,77)),Trim(Copy(SegY,159,35)), Titulo);

 

Esta situação já ocorreu com alguém?

 

O boleto foi registrado e quitado normalmente.

 

sicredi.JPG

  • Moderadores
Postado

é o mesmo problema do amigo acima?

1 hora atrás, Giovani Da Cruz disse:

Oi pessoal, estava lendo sobre o tópico e me deparei com uma situação hoje pela manhã.

Banco: Sicredi modo de arquivos cnab240
Boleto Híbrido registrado via WebService


Ao processar o retorno de um boleto pago no pix, estava ocorrendo um erro 'URL e TXID é obrigatório!'

 

procedure TACBrBoletoPIXQRCode.PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo);
var
  LEMV : TACBrPIXQRCodeDinamico;
begin
  if (EstaVazio(AURL) or EstaVazio(ATXID)) then
    raise Exception.Create(ACBrStr('URL e TXID é obrigatório!'));
 

...
end;

 

Analisando o arquivo de retorno, o arquivo contém a seção Y, com a URL do pix, mas em branco a parte do TXID

 

ACBrBancoSicredi.pas

linha: 2298

if Trim(Copy(SegY,82,77))<>'' then
          QrCode.PIXQRCodeDinamico(Trim(Copy(SegY,82,77)),Trim(Copy(SegY,159,35)), Titulo);

 

Esta situação já ocorreu com alguém?

 

O boleto foi registrado e quitado normalmente.

 

sicredi.JPG

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Isso, quando analiso um arquivo de retorno de uma quitação de boleto, existe o registro Y, existe a url (SegY, 82, 77), mas na posição do TXID  (SegY, 159, 35) está em branco.

 

Então quando indico este arquivo de retorno e faço:
ACBrBoleto1.LerRetorno;

Ocorre a exceção: 'URL e TXID é obrigatório!'

 

 

  • Moderadores
Postado
23 minutos atrás, Giovani Da Cruz disse:

Isso, quando analiso um arquivo de retorno de uma quitação de boleto, existe o registro Y, existe a url (SegY, 82, 77), mas na posição do TXID  (SegY, 159, 35) está em branco.

 

Então quando indico este arquivo de retorno e faço:
ACBrBoleto1.LerRetorno;

Ocorre a exceção: 'URL e TXID é obrigatório!'

 

 

mas dai vem uma pergunta bem doida

quando tu emite o boleto e envia o registro tu pega o retorno

e baseado nisso tu tem o valor e tem um campo do titulo onde tu salva os dados do emv?

dai tu só pega as informações de retornos para saber as demais situações certo?

mas acho que é preciso sim uma alteração

tu tem um arquivo desses pra gente poder testar ou até sugestão no código onde ele pega a informação de liquidado e trata

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

O boleto é registrado no banco via API v2 do Sicredi, retorna os dados, tudo ok.

 

Mais a frente o pessoal abre o internet bank e baixa os arquivos de retornos disponíveis.

E digamos que em um destes arquivos há disponível a quitação do boleto gerado.

 

Este arquivo de retorno vai conter a seção Y, nela vai ter a url preenchida (SegY, 82, 77) mas nestes casos que peguei, na linha depois onde deveria supostamente ter o TXID (SegY, 159, 35), é completado com espaços em branco.

 

 

Uma sugestão se código seria na unit ACBrBoleto, separando os campos na validação.

 

Neste caso deixei a segunda validação em comentário, porque o arquivo que estava processando não tinha dados na parte do TXID, assim consegui processar os retornos normalmente.

Precisaria avaliar em que situações o campo TXID realmente é obrigatório.

 

procedure TACBrBoletoPIXQRCode.PIXQRCodeDinamico(const AURL, ATXID: String; ATitulo : TACBrTitulo);
var
  LEMV : TACBrPIXQRCodeDinamico;
begin
  if (EstaVazio(AURL)) then
    raise Exception.Create(ACBrStr('URL é obrigatório!'));

//  if (EstaVazio(ATXID)) then
//    raise Exception.Create(ACBrStr('TXID é obrigatório!'));

  LEMV := TACBrPIXQRCodeDinamico.Create;
  try
    LEMV.IgnoreErrors := True;
    LEMV.MerchantName := ATitulo.ACBrBoleto.Cedente.Nome;
    LEMV.MerchantCity := ATitulo.ACBrBoleto.Cedente.Cidade;
    LEMV.PostalCode   := Poem_Zeros(ATitulo.ACBrBoleto.Cedente.CEP,8);
    LEMV.URL          := AURL;
    //LEMV.TxId         := ATXID; // aqui já estava em comentário
    Seturl(AURL);
    SettxId(ATXID);
    Setemv(LEMV.AsString);
  finally
    LEMV.Free;
  end;
end;

 

Vou ver aqui para deixar o arquivo de retorno com dados fictícios para postar aqui.

  • Moderadores
Postado
56 minutos atrás, Giovani Da Cruz disse:

O boleto é registrado no banco via API v2 do Sicredi, retorna os dados, tudo ok.

tem que ver se o banco tem a interpolação entre API e cnab.

não lembro se o mesmo foi feito em API pode ser baixado via cnab

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.