Ir para conteúdo
  • Cadastre-se

dev botao

homololgação de boleto on-Line BB


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

Recommended Posts

tem alguns campos que não estão gerando10000000-retorno_registro.xml10000000-registro_boleto.xml

Estou passando normal os campos , so que não esta sendo gerado no xml

            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
 

Veja o retorno do erro

<ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos.  

 

Link para o comentário
Compartilhar em outros sites

na unit ACBrBoletoW_BancoBrasil linha 287 o campo abaixo acho que esta com o nome errado pq o retorno do banco esta dizendo um campo e na unit esta passando outra

Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador'               ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO);

No retorno do banco

<ns0:nomeLogradouroBeneficiario>Cliente nao localizado ou sem enderecos validos.            </ns0:nomeLogradouroBeneficiario>

Estou passando normal os campos

            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
 

 

    Gerador.wCampo(tcStr, '#31', PrefixTag('numeroInscricaoPagador'             ), 00, 15, 1, OnlyNumber(Sacado.CNPJCPF), DSC_NOME_SACADO);
    Gerador.wCampo(tcStr, '#32', PrefixTag('nomePagador'                        ), 00, 60, 1, Sacado.NomeSacado, DSC_NOME_SACADO);
    Gerador.wCampo(tcStr, '#33', PrefixTag('textoEnderecoPagador'               ), 00, 60, 1, Sacado.Logradouro, DSC_LOGRADOURO);
    Gerador.wCampo(tcStr, '#34', PrefixTag('numeroCepPagador'                   ), 00, 08, 1, Sacado.Cep, DSC_CEP);
    Gerador.wCampo(tcStr, '#35', PrefixTag('nomeMunicipioPagador'               ), 00, 20, 1, Sacado.Cidade, DSC_CIDADE);
    Gerador.wCampo(tcStr, '#36', PrefixTag('nomeBairroPagador'                  ), 00, 20, 1, Sacado.Bairro, DSC_BAIRRO);
    Gerador.wCampo(tcStr, '#37', PrefixTag('siglaUfPagador'                     ), 00, 02, 1, Sacado.UF, DSC_UF);
    Gerador.wCampo(tcStr, '#38', PrefixTag('textoNumeroTelefonePagador'         ), 00, 12, 1, Sacado.Fone, DSC_FONE);
 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia, conseguiu identificar o problema na autenticação? Se possível compartilhe a solução, assim podemos investigar melhor o código genérico do erro...

Quanto ao retorno, o nome dos campos são outros mesmo... Note que o problema é código do Beneficiário e não do Pagador, provavelmente é alguma inconsistência do cadastro do Beneficiário no Banco, precisa passar esse erro para eles analisarem.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

9 minutos atrás, José M. S. Junior disse:

Bom dia, conseguiu identificar o problema na autenticação? Se possível compartilhe a solução, assim podemos investigar melhor o código genérico do erro...

Quanto ao retorno, o nome dos campos são outros mesmo... Note que o problema é código do Beneficiário e não do Pagador, provavelmente é alguma inconsistência do cadastro do Beneficiário no Banco, precisa passar esse erro para eles analisarem.

o pessoal do banco pediu o json de envio, so que não sei onde pego ele

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Para o Banco do Brasil é enviado um XML, seria esse arquivo Registro_Boleto.xml que voce anexou acima... Mas pelo erro reportado o problema agora está no cadastro do Beneficiário junto ao banco.

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
33 minutos atrás, AG Sistemas disse:

Como ativo o LOG para conseguir acompanhar ?

Bom dia, para gravar o arquivo de envio e retorno ative a opção abaixo... Mas esse erro é na autenticação, não chega a enviar os dados do título. Veja: "Software não cadastrado"... Chegou a validar com o Banco se esse cadastro já está disponível para homologação, talvez seja necessário questionar o motivo dessa rejeição.

image.png

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Teria como no  mudar esta função que esta abaixo .

pq antes ele gerava o arquivo usando o documento e o documento nos passamos  exemplo " 00001-01/10, 00001-02/10, 00003-01/10 "  e pelo fato de ter a "/"  dava erro para gerar o arquivo.

function TBoletoWS.ObterNomeArquivo: String;
var
  lPath: String;
begin
  if EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro) then
    lPath := PathWithDelim( ApplicationPath )
  else
    lPath := PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro );

  Result := lPath + 'Rem' + FormatDateTime('ddmmyyhhnn',Now) +'-'+ C_REGISTRO_BOLETO + '.xml';

end;

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Estou tendo erro quando envio que é "Dados de entrada inválidos." segundo o manual é campo que esta estourando o tamanho dele .

Comparei com o manual e acredito que o problema esteja no percentual esta gerando com varias casas e no manual fala somente 2.

 

image.png.7c670d50eede59ac120c3ead7e5c4dc9.png

 

image.thumb.png.cd07ce82100d1127058fc668ea32dd28.png

 

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia @José M. S. Junior!

Verifica está função também pq é onde salva ou não arquivo de resposta e iria dar o mesmo problema com o campo documento e eu acho importante dando certo ou não gravar a resposta do servidor.

function TBoletoWSSOAP.Enviar: Boolean;
begin
  FBoletoWS.FRetornoBanco.CodRetorno:= 0;
  FBoletoWS.FRetornoBanco.Msg := '';
  FPAuthorization:= '';

  DefinirURL;
  DefinirEnvelopeSoap;
  FPEnvelopeSoap := UTF8ToNativeString(FPEnvelopeSoap);
  //Grava xml gerado
  if Boleto.Configuracoes.Arquivos.LogRegistro then
    WriteToTXT( FBoletoWS.ObterNomeArquivo, FPEnvelopeSoap , False, False);

  try
    Executar;
  finally
    Result := (FDFeSSL.HTTPResultCode in [200, 201, 202]);

    WriteToTXT( ifthen( EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro),
                PathWithDelim( ApplicationPath ), PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro ))
                + FormatDateTime('ddmmyyhhnn',Now) +'-'+ C_RETORNO_REGISTRO + '.xml', FRetornoWS ,False, False);

//    if Result then //Grava xml retorno
//      WriteToTXT( ifthen( EstaVazio(Boleto.Configuracoes.Arquivos.PathGravarRegistro),
//                  PathWithDelim( ApplicationPath ), PathWithDelim( Boleto.Configuracoes.Arquivos.PathGravarRegistro ))
//                  + Titulos.NumeroDocumento +'-'+ C_RETORNO_REGISTRO + '.xml', FRetornoWS ,False, False);
  end;

end;

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Membros Pro

Boa tarde!!

Consegui transmitir o boleto!!

Tive um problema com a espécie do documento Passei 'DM' como o de costume mas ele não aceita.

codigoTipoTITULO Short (4) Sim Domínios Válidos

1 = CHEQUE 2 = DUPLICATAMERCANTIL 4 = DUPLICATASERVICO 6 = DUPLICATARURAL 7 = LETRA-DECAMBIO 12 = NOTAPROMISSORIA 13 = NOTAPROMISSORIARURAL 17 = RECIBO 19 = NOTA-DEDEBITO 23 = DIVIDAATIVA-UNIAO Código adotado pela FEBRABAN para identificar o tipo para o Título de Cobrança. 25 Manual de Integração – Registro Online de Títulos de Cobrança 24 = DIVIDAATIVA-ESTADO 25 = DIVIDAATIVAMUNICIPIO

Link para o comentário
Compartilhar em outros sites

2 horas atrás, AG Sistemas disse:

Boa tarde!!

Consegui transmitir o boleto!!

Tive um problema com a espécie do documento Passei 'DM' como o de costume mas ele não aceita.

codigoTipoTITULO Short (4) Sim Domínios Válidos

1 = CHEQUE 2 = DUPLICATAMERCANTIL 4 = DUPLICATASERVICO 6 = DUPLICATARURAL 7 = LETRA-DECAMBIO 12 = NOTAPROMISSORIA 13 = NOTAPROMISSORIARURAL 17 = RECIBO 19 = NOTA-DEDEBITO 23 = DIVIDAATIVA-UNIAO Código adotado pela FEBRABAN para identificar o tipo para o Título de Cobrança. 25 Manual de Integração – Registro Online de Títulos de Cobrança 24 = DIVIDAATIVA-ESTADO 25 = DIVIDAATIVAMUNICIPIO

não poderia colocar essas conversões direto no fonte ?

Link para o comentário
Compartilhar em outros sites

O que tem de errado no que estou fazendo, a hora que tento enviar da erro abaixo, não gera log não gera nada

 

image.thumb.png.6bc1810d2270afd87995b6065d4a55f1.png

ACBrBoleto1.Cedente.CedenteWS.ClientID      := 'eyJpZCI6IjdhYjA3YmMtMmVjNS00MGMxIiwiY29kaWdvUHVibGljYWRvciI6MCwiY29kaWdvU29mdHdhcmUiOjExNTA1LCJzZXF1ZW5jaWFsSW5zdGFsYWNhbyI6MX0';
ACBrBoleto1.Cedente.CedenteWS.ClientSecret  := 'eyJpZCI6ImJjMzY5ZjEtYTBlZS00MjZmLWFkODUtMzc2MjMzOCIsImNvZGlnb1B1YmxpY2Fkb3IiOjAsImNvZGlnb1NvZnR3YXJlIjoxMTUwNSwic2VxdWVuY2lhbEluc3RhbGFjYW8iOjEsInNlcXVlbmNpYWxDcmVkZW5jaWFsIjoxLCJhbWJpZW50ZSI6ImhvbW9sb2dhY2FvIiwiaWF0IjoxNjAyODgwMzI2Nzg4fQ';

ACBrBoleto1.Cedente.CedenteWS.Scope         := 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser       := 'xxxxxxxx';

 

      With ACBrBoleto1.CriarTituloNaLista do
       begin
            With ACBrBoleto1.Cedente do
                  begin
                       {Dados do cedente - Loja}
                      CodigoTransmissao := '11';
                      TipoInscricao   := pJuridica; {CNPJ}
                      CNPJCPF         := '34954837000191';
                      Nome            :='RMP AUTO PECAS LTDA';
                      CodigoCedente   := '55395';
                      Convenio          := '3210690';
                      Modalidade      := '19'; // Variação
                      Carteira        := '17';
                      Logradouro      :='AV. CONSOLACAO N 835';
                      NumeroRes       := '';
                      Complemento     := '';
                      Bairro          := 'CIDADE JARDIM';
                      Cidade          := 'GOIANIA';
                      UF              := 'GO';
                      CEP             := '74425535';
                      Agencia         :='1840';
                      AgenciaDigito   := '6';
                      Conta           :='64516';
                      ContaDigito     := '8';
                      ResponEmissao   := tbCliEmite;
                      TipoCarteira    := tctRegistrada;
                  end;

            LocalPagamento    := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco
            Vencimento        := IncMonth(EncodeDate(2020,12,10),I);
            DataDocumento     := EncodeDate(2020,10,15);
            NumeroDocumento   := PadRight(IntToStr(I),8,'0');
            EspecieDoc        := '2';
            Aceite            := atSim;
            DataProcessamento := Now;
            NossoNumero       := IntToStrZero(I,8);
            SeuNumero         := IntToStrZero(I,8);

            ACBrBoleto1.Banco.TamanhoMaximoNossoNum := Length(NossoNumero);

            ValorDocumento    := 100.35 * (I+0.5);
            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
            ValorAbatimento   := 10;
            ValorMoraJuros    := 0.05;

            DataAbatimento    := Vencimento-5;
            Instrucao1        := '00';
            Instrucao2        := '00';
            with ACBrBoleto1.Banco do
            begin
                TipoCobranca := cobBancoDoBrasil;
                Carteira     := '17';
            end;

       end;

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Coloco um break point onde tu dispara e vai degubando com F7 e F8 . F7 tu entra nas funções e o F8 vai linha a linha assim tu vai chegar onde está dando o problema

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
15 horas atrás, Fernando Rodrigo disse:

O que tem de errado no que estou fazendo, a hora que tento enviar da erro abaixo, não gera log não gera nada

 

image.thumb.png.6bc1810d2270afd87995b6065d4a55f1.png

ACBrBoleto1.Cedente.CedenteWS.ClientID      := 'eyJpZCI6IjdhYjA3YmMtMmVjNS00MGMxIiwiY29kaWdvUHVibGljYWRvciI6MCwiY29kaWdvU29mdHdhcmUiOjExNTA1LCJzZXF1ZW5jaWFsSW5zdGFsYWNhbyI6MX0';
ACBrBoleto1.Cedente.CedenteWS.ClientSecret  := 'eyJpZCI6ImJjMzY5ZjEtYTBlZS00MjZmLWFkODUtMzc2MjMzOCIsImNvZGlnb1B1YmxpY2Fkb3IiOjAsImNvZGlnb1NvZnR3YXJlIjoxMTUwNSwic2VxdWVuY2lhbEluc3RhbGFjYW8iOjEsInNlcXVlbmNpYWxDcmVkZW5jaWFsIjoxLCJhbWJpZW50ZSI6ImhvbW9sb2dhY2FvIiwiaWF0IjoxNjAyODgwMzI2Nzg4fQ';

ACBrBoleto1.Cedente.CedenteWS.Scope         := 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser       := 'xxxxxxxx';

 

      With ACBrBoleto1.CriarTituloNaLista do
       begin
            With ACBrBoleto1.Cedente do
                  begin
                       {Dados do cedente - Loja}
                      CodigoTransmissao := '11';
                      TipoInscricao   := pJuridica; {CNPJ}
                      CNPJCPF         := '34954837000191';
                      Nome            :='RMP AUTO PECAS LTDA';
                      CodigoCedente   := '55395';
                      Convenio          := '3210690';
                      Modalidade      := '19'; // Variação
                      Carteira        := '17';
                      Logradouro      :='AV. CONSOLACAO N 835';
                      NumeroRes       := '';
                      Complemento     := '';
                      Bairro          := 'CIDADE JARDIM';
                      Cidade          := 'GOIANIA';
                      UF              := 'GO';
                      CEP             := '74425535';
                      Agencia         :='1840';
                      AgenciaDigito   := '6';
                      Conta           :='64516';
                      ContaDigito     := '8';
                      ResponEmissao   := tbCliEmite;
                      TipoCarteira    := tctRegistrada;
                  end;

            LocalPagamento    := 'Pagar em qualquer banco'; //MEnsagem exigida pelo bradesco
            Vencimento        := IncMonth(EncodeDate(2020,12,10),I);
            DataDocumento     := EncodeDate(2020,10,15);
            NumeroDocumento   := PadRight(IntToStr(I),8,'0');
            EspecieDoc        := '2';
            Aceite            := atSim;
            DataProcessamento := Now;
            NossoNumero       := IntToStrZero(I,8);
            SeuNumero         := IntToStrZero(I,8);

            ACBrBoleto1.Banco.TamanhoMaximoNossoNum := Length(NossoNumero);

            ValorDocumento    := 100.35 * (I+0.5);
            Sacado.NomeSacado := 'FERNANDO RODRIGO DE JESUS';
            Sacado.CNPJCPF    := '47854871191';
            Sacado.Logradouro := 'AV. PIO XII';
            Sacado.Numero     := '618';
            Sacado.Bairro     := 'CIDADE JARDIM';
            Sacado.Cidade     := 'GOIANIA';
            Sacado.UF         := 'GO';
            Sacado.CEP        := '74425010';
            ValorAbatimento   := 10;
            ValorMoraJuros    := 0.05;

            DataAbatimento    := Vencimento-5;
            Instrucao1        := '00';
            Instrucao2        := '00';
            with ACBrBoleto1.Banco do
            begin
                TipoCobranca := cobBancoDoBrasil;
                Carteira     := '17';
            end;

       end;

Bom dia,

Pega o fonte deste tópico que tem um ajuste que fiz para facilitar.

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Esse erro esta retornando na unit ACBrBoletoW_BancoBrasil..pas

function TBoletoW_BancoBrasil.GerarTokenAutenticacao:String;
begin
  result:= '';
  if Assigned(OAuth) then
  begin
    if OAuth.GerarToken then
      result := OAuth.Token
    else
      raise EACBrBoletoWSException.Create(ClassName + Format( S_ERRO_GERAR_TOKEN_AUTENTICACAO, [OAuth.ErroComunicacao] ));
  end;
end;

 

Essa função acima que faz a validação do token, esta na unit  ACBrBoletoWS.pas o token esta chegando sempre em branco, onde tenho que preencher ele ?

function TOAuth.GerarToken: Boolean;
begin

  if ( Token <> '' ) and ( CompareDateTime( Expire, Now ) = 1 ) then                                        //Token ja gerado e ainda válido
    Result := True
  else                                                                                                      //Converte Basic da Autenticação em Base64
    Result := Executar( 'Basic ' + String(EncodeBase64(AnsiString(FClientID + ':' + FClientSecret))) );

end;

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Bom dia, primeiro é necessário se comunicar com o servidor de autenticação para obter o token, com esse token é possivel enviar a requisição. Para isso é preciso alimentar os campos: 

ACBrBoleto1.Cedente.CedenteWS.ClientID:=
ACBrBoleto1.Cedente.CedenteWS.ClientSecret:=
ACBrBoleto1.Cedente.CedenteWS.Scope:= 'cobranca.registro-boletos';
ACBrBoleto1.Cedente.CedenteWS.KeyUser:=

 

Na configuração webService, precisa configurar SSLHTTPLIb e SSLType da seguinte forma:

image.png

Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1147 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.