Ir para conteúdo
  • Cadastre-se

alexpt

Membros
  • Total de ítens

    3
  • Registro em

  • Última visita

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

alexpt's Achievements

  1. Agradeço a todos pela atenção dispensada. Consegui fazer funcionar aqui, está funcionando corretamente agora. Havia algumas falhas no Demo da versão que baixei e que ocasionavam erros diversos, vou deixar aqui um resumo, talvez ajude a alguém na mesma situação. 1 - No demo (qualquer dos dois) o DM está setado no projeto para criação automática, no entanto ele é criado após o form principal, o que gera erros de violação de acesso na criação do form principal. A variável dm fica Nil e dá ruim. Para resolver, simplesmente tirei a criação do DM do automatico, e criei uma função no fonte do DM (ambos), para criar o DM por demanda, e ao setar a variável dm no form principal chamo esta função. function DM_Fortes: TdmForte; begin if (dmForte = Nil) then begin dmForte := TdmForte.Create( Application ); end; result := dmForte; end; No Form principal: {$IFDEF demo_forte} dm := DM_Fortes; {$ELSE} dm := DM_Fast; {$ENDIF} 2 - Na inclusão de Titulo (procedure TfrmDemo.btnBoletoIndividualClick), antes da instrução "Titulo := dm.ACBrBoleto.CriarTituloNaLista;", foi necessário incluir as instruções abaixo para que o JSON enviado refletisse corretamente as informações digitadas no formulário. procedure TfrmDemo.btnBoletoIndividualClick(Sender: TObject); var Titulo : TACBrTitulo; VQtdeCarcA, VQtdeCarcB, VQtdeCarcC :Integer; VLinha, logo : string; i: Integer; begin // Se não configurar aqui, estes valores são ignorados mesmo que sejam especificados em Titulo. dm.ACBrBoleto.Cedente.Modalidade := edtModalidade.Text; dm.ACBrBoleto.Cedente.Convenio := edtConvenio.Text; Titulo := dm.ACBrBoleto.CriarTituloNaLista; 3 - Campos importantes (atalhos). Para testes usar as informações disponíveis no manual da API (https://apoio.developers.bb.com.br/referency/post/5ffc477c3b02bd0012ecaa1a). O código abaixo corresponde a um programa de testes com finalidade exclusiva de registrar boletos on-line. uses ACBrDFeSSL, pcnConversao, BlckSock; Const // Fornecidos pelo painel do desenvolvedor o Banco do Brasil BB_API_CLIENT_ID = '<client_id>'; BB_API_CLIENT_SECRET = '<client_sercret>'; BB_API_CLIENT_DEV_KEY = '<developer_application_key>'; BB_API_ESCOPO = 'cobrancas.boletos-info cobrancas.boletos-requisicao'; // Informações do Cedente/Beneficiario BB_CNPJ_CEDENTE = '94491202000127'; // valor de teste fornecido na documentacao do BB dados ficticios para testes BB_AGENCIA = '<sua_agencia>'; BB_AGENCIA_DV = '<dv_sua_agencia>'; BB_CONTA = '<sua_conta>'; BB_CONTA_DV = '<dv_sua_conta>'; BB_CODIGO_CEDENTE = BB_AGENCIA + '/' + BB_CONTA; BB_CONVENIO = '<Num-Convenio>'; // para testes usar o numero fornecido na documentacao do BB dados ficticios para testes BB_CARTEIRA = '17'; BB_VARIACAO_CARTEIRA = '35'; // valor de teste fornecido na documentacao do BB dados ficticios para testes BB_INICIO_NOSSO_NUMERO = BB_CONVENIO; // prefixo para formação do campo: "numeroTituloCliente" procedure TForm1.ConfiguraIntegracaoBB; begin // Tipo API Banco do Brasil ACBrBoleto.Banco.TipoCobranca := cobBancoDoBrasilAPI; // Cedente (Empresa cobradora) ACBrBoleto.Cedente.CNPJCPF := BB_CNPJ_CEDENTE; ACBrBoleto.Cedente.Agencia := BB_AGENCIA; ACBrBoleto.Cedente.AgenciaDigito := BB_AGENCIA_DV; ACBrBoleto.Cedente.Conta := BB_CONTA; ACBrBoleto.Cedente.ContaDigito := BB_CONTA_DV; ACBrBoleto.Cedente.CodigoCedente := BB_CODIGO_CEDENTE; ACBrBoleto.Cedente.Convenio := BB_CONVENIO; ACBrBoleto.Cedente.TipoCarteira := tctSimples; ACBrBoleto.Cedente.TipoInscricao := pJuridica; ACBrBoleto.Cedente.Modalidade := BB_VARIACAO_CARTEIRA; ACBrBoleto.Cedente.Cidade := ''; ACBrBoleto.Cedente.UF := ''; ACBrBoleto.Cedente.Logradouro := ''; ACBrBoleto.Cedente.Bairro := ''; ACBrBoleto.Cedente.CEP := ''; // Credenciais de acesso a API ACBrBoleto.Cedente.CedenteWS.ClientID := BB_API_CLIENT_ID; ACBrBoleto.Cedente.CedenteWS.ClientSecret := BB_API_CLIENT_SECRET; ACBrBoleto.Cedente.CedenteWS.KeyUser := BB_API_CLIENT_DEV_KEY; ACBrBoleto.Cedente.CedenteWS.IndicadorPix := true; // Modo Hibrido, pagamento com pix ACBrBoleto.Cedente.CedenteWS.Scope := BB_API_ESCOPO; // Configurações - Log ACBrBoleto.Configuracoes.Arquivos.LogRegistro := True; ACBrBoleto.Configuracoes.Arquivos.PathGravarRegistro := '.\log'; ACBrBoleto.DirArqRemessa := '.\log'; ACBrBoleto.DirArqRetorno := ACBrBoleto.DirArqRemessa; ACBrBoleto.NomeArqRemessa := 'Demo_Remessa.txt'; ACBrBoleto.NomeArqRetorno := 'Demo_Retorno.txt'; // Configurações do WebService/API ACBrBoleto.Configuracoes.WebService.Ambiente := taHomologacao; ACBrBoleto.Configuracoes.WebService.Operacao := tpInclui; ACBrBoleto.Configuracoes.WebService.SSLHttpLib := httpOpenSSL; ACBrBoleto.Configuracoes.WebService.SSLType := LT_TLSv1_2; ACBrBoleto.Configuracoes.WebService.VersaoDF := '1.2'; ACBrBoleto.Configuracoes.WebService.UseCertificateHTTP := false; end; procedure TForm1.IncluiBoleto; var Titulo : TACBrTitulo; VQtdeCarcA, VQtdeCarcB, VQtdeCarcC :Integer; VLinha, logo : string; i: Integer; begin // Operação ACBrBoleto.Configuracoes.WebService.Operacao := tpInclui; ACBrBoleto.ListadeBoletos.Clear; Titulo := ACBrBoleto.CriarTituloNaLista; Titulo.Vencimento := Date+5; Titulo.DataDocumento := Date; Titulo.NumeroDocumento := LZeroFil(edNumTitulo.Text, 10); Titulo.EspecieDoc := 'DM'; Titulo.Aceite := atNao; Titulo.DataProcessamento := Now; Titulo.Carteira := '17'; // * Titulo.NossoNumero := BB_INICIO_NOSSO_NUMERO + LZeroFil(edNumTitulo.Text, 10); // * Titulo.ValorDocumento := 45.00; // * Titulo.Sacado.Pessoa := pJuridica; // * [pFisica,pJuridica, - pOutras, pNenhum ] Titulo.Sacado.NomeSacado := 'Odorico Paraguassu'; // * Titulo.Sacado.CNPJCPF := '74910037000193'; // * Titulo.Sacado.Logradouro := 'Avenida Dias Gomes 1970'; // * Titulo.Sacado.Numero := ''; Titulo.Sacado.Bairro := 'Centro'; // * Titulo.Sacado.Cidade := 'Sucupira'; // * Titulo.Sacado.UF := 'TO'; // * Titulo.Sacado.CEP := '77458000'; // * Titulo.ValorAbatimento := 0.00; Titulo.LocalPagamento := 'QUALQUER BANCO'; Titulo.ValorMoraJuros := 0.00; Titulo.ValorDesconto := 0.00; Titulo.ValorAbatimento := 0.00; Titulo.DataMoraJuros := 0; Titulo.DataDesconto := 0; Titulo.TipoDesconto := tdNaoConcederDesconto; Titulo.DataAbatimento := 0; Titulo.DataProtesto := 0; Titulo.PercentualMulta := 0.00; Titulo.CodigoMoraJuros := cjIsento; //Mensagem.Text := memMensagem.Text; Titulo.OcorrenciaOriginal.Tipo := toRemessaRegistrar; Titulo.Instrucao1 := 'Instruções linha 1'; Titulo.Instrucao2 := 'Instruções linha 2'; end; procedure TForm1.RegistrarBloletoOnLine(Sender: TObject); var SLRemessa: TStringList; i, j: Integer; Boleto : TACBrBoleto; begin // *** Configura acesso a API e dados da empresa *** ConfiguraIntegracaoBB; // *** Inclui um boleto ficticio para registro *** IncluiBoleto; Boleto := ACBrBoleto; //Função de Envio Boleto.Configuracoes.WebService.Operacao := tpInclui; Boleto.EnviarBoleto; // retorna como false se o httpresult code for diferente de 200,201,202 //Verifica Lista com os retornos if Boleto.ListaRetornoWeb.Count > 0 then begin // Este trecho de código é o mesmo do Demo do ACBrBoleto end; end;
  2. Olá continuo com o mesmo problema na minha aplicação de Teste. Tentei rodar o Demo distribuído com a biblioteca pra ver se funcionava, porem piorou, o demo tá tão furado que já dá violação de acesso logo na carga do programa por usar o DM antes que este seja criado. Corrigido a violação de acesso, ao tentar o Registro on-line, estora a excessão: Lembrando que configurei com as credenciais fornecidas pelo Painel do Desenvolvedor do BB, e ambiente de homologação. Enfim, alguém já consegui realmente fazer o ACBrBoleto funcionar de verdade ? Seria possível contratar um suporte da ACBr para fazer isso funcionar corretamente ? Em fim, agradeço qualquer ajuda.
  3. Boa tarde. Estou implementando a integração com a API do Banco do Brasil usando o ACBrBoleto. Estou usando como referência o Demo distribuído com a o pacore ACBr, o passo a passo (em ) e o Vídeo disponível em Apesar de todos eles supostamente se referirem especificamente a API do Banco do brasil nenhum deles faz qualquer relação entre as informações no manual do Manco do Brasil e as propriedades do componente. No vídeo até aparece uns valores definidos no código, mas sem nenhuma referência de origem (valores Star Trek). Fiz meu próprio teste na tentativa de entender alguma coisa, no entanto estou recebendo o seguinte erro: { "statusCode":403, "error":"Forbidden", "message":"Application key is not allowed to call this resource method" } Minhas credenciais fornecidas pelo Painel do Desenvolvedor do BB foram configuradas de acordo com o que está no Passo a Passo. Alguma idéa de como vencer esta etapa ? Agradeço antecipadamente por qualquer ajuda.
×
×
  • 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...