Ir para conteúdo
  • Cadastre-se

Rodrigo - Digibyte

Membros Pro
  • Total de ítens

    337
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que Rodrigo - Digibyte postou

  1. Talvez quando pegamos o exemplo não estava correto e ficou errado no nosso código.
  2. Pode finalizar mas acho que tem que ser corrigida a demo.
  3. 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
  4. 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; }
  5. Não estava sendo gerado o grupo infoComplCont , pelo que observei foi comentado na limpeza de código da última versão. Segue correção. pcesS1200.pas
  6. Só esqueci de por mais informações: uso a LibBoleto em ambiente Linux/Web (Azure)
  7. Suporte da CAIXA é praticamente inexistente, tentei de tudo, pode encerrar.
  8. As propriedades abaixo são necessárias para alguns bancos, porém só é possivel informar via local\arquivo. Ocorre que no ambiente web eu tenho que informar via stream pois o arquivo está em algum storage. Essa mesma situação já aconteceu com alguma outra propriedade e foi implementada a opção ... Configuracoes.WebService.ArquivoCRT Configuracoes.WebService.ArquivoKEY
  9. Pra dar um retorno e finalizar o caso de não sair a mensagem no boleto: Envio via CNAB240: não aparece de forma alguma, deve ser algum problema no sistema da CEF Envio via API: as mensagens aparecem normalmente
  10. Bom dia. Estou começando a implementar o envio via API de boletos, no momento especificamente da CEF. Gostaria de esclarecimento sobre alguns pontos ou se existe material sobre isso (não achei). Quando eu mando o boleto automaticamente são retornadas algumas informações (propriedades) que o ACBR lê e preenche no próprio título certo? Qual propriedade devo tratar para saber se o boleto foi incluso com sucesso pois me parece que isso varia conforme o banco, ou o ACBR trata de alguma forma? Normalmente, se tenho vários títulos, são enviados todos de uma vez certo? Se em algum deles dá um erro (CPF errado por ex.) não afeta os outros correto? Alguma dica extra? Obrigado.
  11. Chegou a alterar o txt manualmente pra ver se a mensagem no boleto da caixa aparecia? Eu alterei de acordo com o manual, usando várias opções, e não deu certo.
  12. Bom dia, vamos lá: Utilizo o ACBRLib para gerar o arquivo de remessa 240. Ele gera as mensagens no segmento S. Me refiro as mensagens livres do usuário, ex. "referente mês 08/2024". Não uso o PDF do Boleto gerado pelo ACBR. Quando consulto o boleto pra ver se o mesmo foi registrado corretamente (na consulta uso WS) ele retorna um link pra acesso direto ao boleto na caixa, e é nesse boleto que não aparecem as mensagens. Não tenho dúvida que na impressão pelo próprio ACBR apareceria. Olhando o manual existem algumas configurações referente a impressão das mensagens (ex: frente, verso, ficha de compensação, recibo..). Fiz alterações manuais no TXT, enviei pro banco e nada de aparecer. Então a questão é, se alguém passou por essa situação de usar o boleto disponibilizado pelo banco e conseguir fazer aparecer a mensagem. Talvez se registrar o boleto via API funcione ... Uso o boleto pelo site da caixa porque fica mais fácil de distribuir (só mando o link) e fica bem bonito, no padrão deles. O suporte da caixa pra ser uma piada tem que melhorar muito.
  13. Boa tarde. Estou enviando o CNAB240 caixa e quando o cliente consulta o boleto no site da caixa ou aplicação eCobrança não sai nenhuma mensagem. Segundo o manual existem algumas possibilidades de enviar (frente, verso, ambos, registro R, registro S). Já usei a forma original do ACBR, já alterei manualmente o arquivo e enviei mas sem sucesso, não sai nada impresso. Alguém que imprima o boleto pela CAIXA está conseguindo enviar mensagem no corpo do boleto?
  14. Bom dia. Alguém sabe me dizer o que significa "formato imagem de impressão" (CEF)?
  15. Os parâmetros de consulta e filtros são diferentes entre a API Cobranca e a API Cobranca com PIX. Fiz algumas correções levando isso em conta (podem haver mais). https://developers.inter.co/references/cobranca#tag/Boletos/operation/pesquisarBoletos ACBrBoletoW_Inter_API.pas
  16. Enviado, só esqueci de por o link no tópico no email ...
  17. A biblioteca até inicializava, o erro era ao executar a consulta, inclusive derrubava o server. Bom, depois de "alguma" luta (não respondi antes pq não conseguia gerar), para conseguir gerar o log no linux pela lib, enfim conseguimos e finalmente pudemos verificar o erro. Basicamente era: 31/07/24 12:19:28:172 - Comando Enviar: TBoletoW_Caixa 31/07/24 12:19:28:195 - Envelope Enviar: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><consultacobrancabancaria:SERVICO_ENTRADA xmlns:consultacobrancabancaria="http://caixa.gov.br/sibar/consulta_cobranca_bancaria/boleto" xmlns:sib="http://caixa.gov.br/sibar"><sib:HEADER>...> 31/07/24 12:19:28:272 - Retorno Envio: TBoletoW_Caixa 31/07/24 12:19:28:281 - C�digo do Envio: 0 31/07/24 12:19:28:283 - Retorno Envio: Result= 31/07/24 12:19:28:292 - Falha Envio: Erro Interno: -2 Erro HTTP: 500 URL: https://barramento.caixa.gov.br/sibar/ConsultaCobrancaBancaria/Boleto error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small O que seria o "dh key too small"? Basicamente o OPENSSL do azure só aceita uma determinada configuração de segurança superior ao que a CAIXA trabalha. https://updown.io/faq/what-does-the-dh-key-too-small-ssl-error-means Como resolver? Alterando o script de inicialização do App Service para mudar o openssl.cnf em /etc/ssl para compatibilizar tudo, trocando SECLEVEL de 2 para 1. https://stackoverflow.com/questions/61518238/azure-linux-web-app-change-openssl-default-security-level https://stackoverflow.com/questions/65912915/node-docker-routinestls-process-ske-dhedh-key-too-small Finalmente resolvido, agradeço a todos.
  18. Aparentemente está retornando a data e hora na data de pagamento, porém surgiu um problema no teste para confirmar se está tudo certo: Sendo a consulta bem sucedida não reveria retornar algo em Boleto.ListaConsultaRetornoWeb? O método RemessaWS.Enviar não parece popular ListaConsultaRetornoWeb:
  19. Olá. Podem me dizer o que poderia ser o erro CheckResult = -2 na libBoleto, ao tentar fazer uma consulta de boleto via ws ?
  20. Até segunda dou um retorno
  21. @Victor H. Gonzales - Panda Em qual email posso te passar, o gerente me passou direto, no site da caixa parece estar desatualizado
  22. Descobri que a versão do manual no site está desatualizada. Fiz uma alteração na requisição que possibilita o retono da data de pagamento. Agora vou ver a parte de tratamento do retorno. ACBrBoletoW_Caixa.pas
×
×
  • 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...