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;
}