Ir para conteúdo
  • Cadastre-se

dev botao

Não seta corretamente ambiente na LibBoleto


Ver Solução Respondido por Júlio Cavalcanti,

Recommended Posts

  • Membros Pro
Postado

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.

image.thumb.png.c43d0f277dda0291c746a627581bf5fc.png

image.thumb.png.72d985d1a7848e98eb45233a42dc9350.png
 

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

 

  • Consultores
Postado
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

image.thumb.png.c06941199af3a32535c4ae44264375ff.png

image.png.7d53da4313283e8268c0900e7a976443.png

 

Após atualizar, deu certo ? 

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...