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...