Membros Pro Rodrigo - Digibyte Postado 12 Fevereiro Membros Pro Postado 12 Fevereiro Estamos tentando testar a API de boletos do Banco do Brasil. Mesmo setando o ambiente para homologação ao tentar comunicar está usando o endereço de produção, não de homologação. Analisando o código Delphi, ao setar o ambiente para homologação os endereços de comunicação são alterados corretamente porém a propriedade OAuth.Ambiente (que determina a URL de autorização) só é alterada quando é informado o TipoCobranca. Isso não está acontecendo, permanece produção. Alguma dica? Seguem prints e código relacionado. public static ACBrBoleto ConfigurarBoleto(Estabelecimento estabelecimento, ContaCorrente contaCorrente) { string logos = Directory.GetCurrentDirectory() + "/logos"; string log = Directory.GetCurrentDirectory(); ACBrBoleto boleto = new ACBrBoleto("[Memory]"); boleto.Config.Webservice.Ambiente = AmbienteWebservice.Homologaçao; **** CONFIGURAÇÃO DO AMBIENTE **** boleto.Config.DFe.SSLCryptLib = SSLCryptLib.cryOpenSSL; boleto.Config.DFe.SSLHttpLib = SSLHttpLib.httpOpenSSL; boleto.Config.Webservice.SSLType = SSLType.LT_TLSv1_2; boleto.Config.DFe.SSLXmlSignLib = SSLXmlSignLib.xsNone; boleto.Config.Webservice.UseCertificateHTTP = false; //windows //boleto.Config.DFe.SSLCryptLib = SSLCryptLib.cryWinCrypt; //boleto.Config.DFe.SSLHttpLib = SSLHttpLib.httpWinHttp; boleto.Config.CedenteWebservice.KeyUser = "..."; boleto.Config.CedenteWebservice.Scope = "cobrancas.boletos-info cobrancas.boletos-requisicao"; boleto.Config.CedenteWebservice.ClientID = "..."; boleto.Config.CedenteWebservice.ClientSecret = "..."; boleto.Config.CedenteWebservice.IndicadorPix = false; boleto.Config.Impressao.DirLogo = logos; //Config boleto Banco banco = new Banco(); banco.TipoCobranca = ACBrTipoCobranca.cobBancoDoBrasilAPI; **** BANCO **** banco.CNAB = contaCorrente.LayoutRemessa ?? ACBrLayoutRemessa.c240; banco.VersaoArquivo = contaCorrente.SisBanco.TipoCobranca == ACBrTipoCobranca.cobCaixaEconomica ? contaCorrente.CodigoCedente.Length <= 6 ? 101 : 107 : banco.VersaoArquivo; banco.VersaoLote = contaCorrente.SisBanco.TipoCobranca == ACBrTipoCobranca.cobCaixaEconomica ? contaCorrente.CodigoCedente.Length <= 6 ? 60 : 67 : banco.VersaoLote; var conta = new Conta(); //pegar agencia somente até o - conta.Agencia = contaCorrente.Agencia.Split('-')[0]; conta.DigitoAgencia = contaCorrente.Agencia.Substring(contaCorrente.Agencia.Length - 1); conta.Numero = contaCorrente.Conta.Split('-')[0]; conta.Digito = contaCorrente.Conta.Substring(contaCorrente.Conta.Length - 1); string nomeEstabelecimento = (estabelecimento.Nome.Length > 40 ? estabelecimento.Nome.Substring(0, 40) : estabelecimento.Nome).Trim(); var cedente = new Cedente(); cedente.Nome = new string(nomeEstabelecimento.ToUpper().Replace("&", "E").Normalize(NormalizationForm.FormD).Where(ch => char.GetUnicodeCategory(ch) != UnicodeCategory.NonSpacingMark).ToArray()); cedente.CNPJCPF = estabelecimento.CpfCnpj; //teste bb cedente.Nome = "TECIDOS FARIA DUARTE"; cedente.CNPJCPF = "74910037000193"; string endereco = (estabelecimento.Endereco.Logradouro.Length > 40 ? estabelecimento.Endereco.Logradouro.Substring(0, 40) : estabelecimento.Endereco.Logradouro).Trim(); cedente....... BoletoInfo[] boletoInfo = new BoletoInfo[3]; **** PASSAGEM CONFIGURAÇÃOES **** boletoInfo[0] = banco; boletoInfo[1] = conta; boletoInfo[2] = cedente; boleto.ConfigurarDados(boletoInfo); return boleto; }
Membros Pro Rodrigo - Digibyte Postado Quinta as 12:20 Autor Membros Pro Postado Quinta as 12:20 Descobrimos o problema: A classe foi copiada da demo do C# e está errada ... está como na figura 1 e deveria ser como na figura 2
Consultores antonio.carlos Postado Quinta as 12:23 Consultores Postado Quinta as 12:23 2 minutos atrás, Rodrigo - Digibyte disse: Descobrimos o problema: A classe foi copiada da demo do C# e está errada ... está como na figura 1 e deveria ser como na figura 2 Após atualizar, deu certo ?
Membros Pro Rodrigo - Digibyte Postado Quinta as 12:24 Autor Membros Pro Postado Quinta as 12:24 Sim, já testamos.
Consultores antonio.carlos Postado Quinta as 12:28 Consultores Postado Quinta as 12:28 3 minutos atrás, Rodrigo - Digibyte disse: Sim, já testamos. Ajudamos em algo mais ? ou podemos finalizar o tópico ?
Membros Pro Rodrigo - Digibyte Postado Quinta as 12:30 Autor Membros Pro Postado Quinta as 12:30 Pode finalizar mas acho que tem que ser corrigida a demo.
Consultores antonio.carlos Postado Quinta as 12:31 Consultores Postado Quinta as 12:31 Agora, Rodrigo - Digibyte disse: Pode finalizar mas acho que tem que ser corrigida a demo. Vamos verificar.. ja dou um retorno sobre a classe.
Consultores Solution Júlio Cavalcanti Postado Quinta as 12:33 Consultores Solution Postado Quinta as 12:33 3 minutos atrás, Rodrigo - Digibyte disse: Pode finalizar mas acho que tem que ser corrigida a demo. Está com o fonte atualizado? 1
Membros Pro Rodrigo - Digibyte Postado Quinta as 12:39 Autor Membros Pro Postado Quinta as 12:39 Talvez quando pegamos o exemplo não estava correto e ficou errado no nosso código.
Consultores Júlio Cavalcanti Postado Quinta as 12:41 Consultores Postado Quinta as 12:41 Provavelmente, basta atualizar que já deve estar disponível com o novo ambiente também.
Membros Pro Rodrigo - Digibyte Postado Quinta as 12:43 Autor Membros Pro Postado Quinta as 12:43 1 minuto atrás, Júlio Cavalcanti disse: Provavelmente, basta atualizar que já deve estar disponível com o novo ambiente também. Obrigado, resolvido. 2
Consultores antonio.carlos Postado Quinta as 12:44 Consultores Postado Quinta as 12:44 Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
Recommended Posts