Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 160 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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
 

 

  • Este tópico foi criado há 160 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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.