Ir para conteúdo
  • Cadastre-se

dev botao

Implementar Boleto Hibrido Bradesco


HelioNeto

Recommended Posts

@Juliomar Marchetti funcionando 100% em Homologação e Produção...já tenho 3 clientes usando em produção. Para testes em homologação usar os dados abaixo....

"nroCpfCnpjBenef": "68542653",

   "filCpfCnpjBenef": "1018",

   "digCpfCnpjBenef": "38",

   "cidtfdProdCobr": "09",

   "cnegocCobr": "386100000000041000",

obs.: No Header deve ser alterado o CNPJ para 68542653101838

No json em homologação alterar só os dados do pagador, data emissão, vencimento e valor, os demais tem que permanecer igual ao json original do projeto. Já em produção ai o json é validado por inteiro. 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Moderadores
6 minutos atrás, Jhonlenon Ribeiro disse:

@Juliomar Marchetti funcionando 100% em Homologação e Produção...já tenho 3 clientes usando em produção. Para testes em homologação usar os dados abaixo....

"nroCpfCnpjBenef": "68542653",

   "filCpfCnpjBenef": "1018",

   "digCpfCnpjBenef": "38",

   "cidtfdProdCobr": "09",

   "cnegocCobr": "386100000000041000",

obs.: No Header deve ser alterado o CNPJ para 68542653101838

No json em homologação alterar só os dados do pagador, data emissão, vencimento e valor, os demais tem que permanecer igual ao json original do projeto. Já em produção ai o json é validado por inteiro. 

 

Legal Man. assim que conseguir já subo para a gente fazer testes no ACBrBoleto

 

  • Curtir 2
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

2 horas atrás, Juliomar Marchetti disse:

Esse código está totalmente funcional?

pergunto pois dai vou fazer aqui no ACBrBoleto baseado nas trocas necessárias com ele

@Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês:

ACBrBoletoRet_Bradesco.pasACBrBoletoWS.pasACBrBoletoW_Bradesco.pas

Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2:

1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco:

         FACBrBoleto.OnAntesAutenticar  := ACBrBoletoAntesAutenticar;
         FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar;

Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token".

****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto

GeracaoTokenInternamente.txt

2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma.

Demais informações e processos segue o padrão das units do ACBr.

*Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação.

 

Se tiverem alguma dúvida sobre essas units e alterações basta questionar.

Editado por willian_delan
alt
  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 23/05/2024 at 17:57, willian_delan disse:

@Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês:

ACBrBoletoRet_Bradesco.pas 13.28 kB · 0 downloads ACBrBoletoWS.pas 17.02 kB · 0 downloads ACBrBoletoW_Bradesco.pas 46.23 kB · 0 downloads

Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2:

1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco:

         FACBrBoleto.OnAntesAutenticar  := ACBrBoletoAntesAutenticar;
         FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar;

Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token".

****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto

GeracaoTokenInternamente.txt 4.48 kB · 0 downloads

2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma.

Demais informações e processos segue o padrão das units do ACBr.

*Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação.

 

Se tiverem alguma dúvida sobre essas units e alterações basta questionar.

boa noite

parece que tu usou códigos seus e não pensou na questão de usuários delphi 7 ou lazarus

não entendi o txt segundo?

também seu código está muito, mas muitso desatualizado ACBrBoletoWS.pas

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

@Matheus Lira já estou com mais de 60 dias com 3 chamado em aberto no para consultar o boleto hibrido pix apois o registro e até agora nada. O gestor da API de Cobrança Hibrido do Bradesco falou que o end point para o consulta do boleto hibrido pix não é esse aqui https://proxy.api.prebanco.com.br/v1/boleto/titulo-consultar esse é para consulta do boleto código de barras normal. Isso é uma conclusão minha, eu acho que o Bradesco não tem essa consulta, já falamos com tanta gente sobre esse assunto que até desisti. Por ultimo o gesto de cobra hibrido pix disse que estava entrando de ferias e retornava só depois do 10/06/2024. Se você consegui amigo a consulta nos avise aqui também, no nosso caso a consulta já em produção, sendo que os nossos clientes já estão em produção. Depois do dia 10/06/2024 com fazer outra tentativa direto com gestor da API de Cobrança hibrida, saber dele se tem ou não essa consulta, qualquer novidade eu posto aqui.

Editado por Jhonlenon Ribeiro
erro no texto
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores
On 5/23/2024 at 5:57 PM, willian_delan said:

@Juliomar Marchetti Eu implementei no ACBr com base nos disponibilizados aqui, verifique se ajuda vocês:

ACBrBoletoRet_Bradesco.pas 13.28 kB · 9 downloads ACBrBoletoWS.pas 17.02 kB · 8 downloads ACBrBoletoW_Bradesco.pas 46.23 kB · 9 downloads

Única coisa em que alguns lugares fiz adaptações específicas para meu sistema que provavelmente o ACBr fará diferente eu acredito, são 2:

1º: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader" foi utilizado a property "Token" para pegar o valor do token gerado, no entanto eu não gero o TOKEN pelo ACBr, gerei diretamente pelo código fonte do meu sistema, após isso salvei o Token na property "Token" e uso a seguinte configuração meu sistema para os boletos do Bradesco:

         FACBrBoleto.OnAntesAutenticar  := ACBrBoletoAntesAutenticar;
         FACBrBoleto.OnDepoisAutenticar := ACBrBoletoDepoisAutenticar;

Dessa forma ao realizar o "GerarTokenAutenticacao" vai verificar que temos o ACBrBoletoAntesAutenticar/ACBrBoletoDepoisAutenticar e ao invés de tentar gerar o Token vai pegar o token já gerado e que está armazenado na property "Token".

****OBS: Segue anexo como fiz em meu sistema, é utilizado Rest do Delphi, mas caso queiram fazer de outra forma basta seguir o exemplo disponibilizado pelo @Lucio Bittes e @HelioNeto

GeracaoTokenInternamente.txt 4.48 kB · 8 downloads

2°: Na Unit "ACBrBoletoW_Bradesco", procedure "GerarHeader", na parte da assinatura do header fiz a seguinte jogada, em meu sistema ao cliente informar o certificado digital e senha na conta bancária, é feito uma cópia desse certificado e movido para os arquivos temporários do windows com nome "CertBradescoApi.pfx" e senha "SenhaBradescoAPI.txt" onde dentro desse arquivo fica armazenado a senha do certificado do usuário, para assim em qualquer requisição/alteração posterior sempre termos os dados do certificado em pfx e senha para realizar a assinatura, visto que para todo e qualquer método é preciso assinar a requisição, tanto no Token quanto no Header da requisição. Caso necessário esse processo pode ser feito de outra forma, é apenas como gerencio em meu sistema, foi uma gestão interna para não ter que criar novos campos na tabela para salvar essa informação, hoje salvamos no BD apenas Certificado Publico e Privado, ai para esse processo do Bradesco geri dessa outra forma.

Demais informações e processos segue o padrão das units do ACBr.

*Outro detalhe é que foi "duplicado" a procedure "RequisicaoJson", porque em homologação somente foi possível testar usando todos os campos do JSON como string, no entanto de acordo com o manual temos diversos campos que são integer, sendo assim foi feito a "RequisicaoJson" para Produção, seguindo o manual do banco e foi feito o "RequisicaoJsonHom" para os testes de homologação.

 

Se tiverem alguma dúvida sobre essas units e alterações basta questionar.

Willian? leu o que escrevi acima pra me dar um retorno pra gente colocar isso no ACBR?

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

11 horas atrás, Juliomar Marchetti disse:

Willian? leu o que escrevi acima pra me dar um retorno pra gente colocar isso no ACBR?

Bom dia @Juliomar Marchetti, tudo bem? Sim eu li, assim que possível eu repasso aqui as units atualizadas, pois realmente meu ACBrBoletoWS.pas estava bem desatualizado.

Quanto ao seu outro questionamento: "parece que tu usou códigos seus e não pensou na questão de usuários delphi 7 ou lazarus" O que implica no código para usuários Delphi 7 e Lazarus? Pode me explicar para eu ajustar? Obrigado.

Sobre o outro questionamento "não entendi o txt segundo?" Se está se referindo ao "GeraçãoTokenInternamente.txt" é como fiz a geração do token em meu sistema, gero o token e armazeno na property do ACBr FToken  e no momento das execuções dos processos eu sempre tenho o token guardado pois uso os ACBrBoleto.OnAntesAutenticar/ACBrBoleto.OnDepoisAutenticar realmente pode ser confuso, não sei como seria para o ACBr gerar esse token pois não poderá ser feito diretamente como hoje é nos outros modelos e nesse meu eu usei Rest do Delphi, caso queira algo mais similar a como hoje é trabalhado no ACBr tem que usar como exemplo o código do @Lucio Bittes e @HelioNeto disponível aqui neste fórum, ou segue aqui: https://files.fm/u/r4t5whcqvx Tem que ver como será feito, pois como é hoje utilizado para os demais bancos com o GerarTokenAutenticacao não irá servir, pois a geração de Token desse banco é algo específico e com etapas e processos que não é feito no ACBr.

Editado por willian_delan
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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...