Ir para conteúdo
  • Cadastre-se

dev botao

Boleto Bradesco Via WebService com Erro


Ver Solução Respondido por Victor H. Gonzales - Panda,

Recommended Posts

  • Consultores
Postado
57 minutos atrás, Jhonlenon Ribeiro disse:

Nesse formato ai dá invalid signature....um coisa que eu não estou conseguindo entender é que ao tentar enviar o boleto retorna status 200 OK com um erro que não é o retorno real...salvei o token e headers gerado pelo ACBr e fui testar no postman ai recebo o erro correto stus 400.

Parece que tem alguma coisa errado no envio porque tinha que retornar com erro 400 com mostra o texto abaixo...

{
    "code": "104",
    "message": "invalid signature",
    "details": "null"
}

O processo de geração do token está correto...cheguei a testar o token gerado pela ACBr e está OK. 

 

ACBrBoletoW_Bradesco.pasremovi o fuso "Z" como sugerido e coloquei a mascara -00:00 que é zulu conforme a documentação...

tem como me enviar a documentação, não sei se é a mesma que eu tenho aqui a que vocês tem.

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado
32 minutos atrás, HelioNeto disse:

Uma dica, no Teste do Postman que eu tenho que retorna o 400.
Tanto a URL de Geração do Token como a URL que vai dentro do Payload Assinado é o:

https://proxy.api.prebanco.com.br/auth/server/v1.2/token

image.thumb.png.0cae241369a51b57b6e59e7b9ffb501f.png

image.png

a url é essa que está informada no Audiance e no Post

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado

depois de alguns vários testes parou de dar o "erro" 200 OK e agora veio erro 400 na assinatura... 

vamos tentar evoluir

image.png

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado
1 minuto atrás, Victor H. Gonzales - Panda disse:

depois de alguns vários testes parou de dar o "erro" 200 OK e agora veio erro 400 na assinatura... 

vamos tentar evoluir

image.png

Agora ficou mais fácil...esse erro ai é na assintarua do X-Brad-Signature no readers....pode anexar a unit? ai vou tentar descobrir o motivo da assintura está invalida. 

  • Consultores
Postado
1 hora atrás, Jhonlenon Ribeiro disse:

Agora ficou mais fácil...esse erro ai é na assintarua do X-Brad-Signature no readers....pode anexar a unit? ai vou tentar descobrir o motivo da assintura está invalida. 

TKBradesco.patch

segue

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

  • Consultores
Postado
55 minutos atrás, Jhonlenon Ribeiro disse:

Não está vindo a unit atualizada....consegui anexar aqui?

Você pode aplicar o patch em seu svn.
https://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-patch.html
image.png

caso não apareça clicando com o botão direito do mouse, precisa habilitar nas configurações do Tortoise.
image.png

Feito isso, consegue aplicar o Patch que @Victor H. Gonzales - Panda te enviou.
image.png

  • Consultores
Postado
16 horas atrás, Jhonlenon Ribeiro disse:

Não está vindo a unit atualizada....consegui anexar aqui?

Bom dia, conseguiu achar alguma diferença na assinatura?

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado (editado)

@Victor H. Gonzales - Panda  Eu consegui registrar o boleto em homologação.....vou te mandar a unit em anexo, o problema tava do Content-Type...porque tanto para o pegar o token e registro do boleto está usando application/x-www-form-urlencoded.

Para o token Content-Type  :='application/x-www-form-urlencoded';

Para o registro do Boleto Content-Type :='application/json';

Mesmo que agente tava setando na procedure GerarHeader da unit ACBrBoletoW_Bradesco...lá na unit ACBrBoletoWS.Rest sempre passava o Content-Type  :=application/x-www-form-urlencoded....fiz um ajuste na unit ACBrBoletoW_Bradesco aqui....Vou anexar a unit também. image.thumb.png.746e796f8463666bece98e3fe96c6aa8.png

01.png

ACBrBoletoW_Bradesco.pas

Editado por Jhonlenon Ribeiro
  • Consultores
Postado
33 minutos atrás, Jhonlenon Ribeiro disse:

@Victor H. Gonzales - Panda  Eu consegui registrar o boleto em homologação.....vou te mandar a unit em anexo, o problema tava do Content-Type...porque tanto para o pegar o token e registro do boleto está usando application/x-www-form-urlencoded.

Para o token Content-Type  :='application/x-www-form-urlencoded';

Para o registro do Boleto Content-Type :='application/json';

Mesmo que agente tava setando na procedure GerarHeader da unit ACBrBoletoW_Bradesco...lá na unit ACBrBoletoWS.Rest sempre passava o Content-Type  :=application/x-www-form-urlencoded....fiz um ajuste na unit ACBrBoletoW_Bradesco aqui....Vou anexar a unit também. image.thumb.png.746e796f8463666bece98e3fe96c6aa8.png

01.png

ACBrBoletoW_Bradesco.pas 36.73 kB · 0 downloads

to tendo erro 403 com o json seu... que eu to usando como base...

agora o json que o componente gera dá erro de assinatura, ainda não achei qual campo que está com problemas, a mensagem de erro não é clara, retorna só erro de assinatura e null

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado (editado)
21 minutos atrás, Victor H. Gonzales - Panda disse:

to tendo erro 403 com o json seu... que eu to usando como base...

agora o json que o componente gera dá erro de assinatura, ainda não achei qual campo que está com problemas, a mensagem de erro não é clara, retorna só erro de assinatura e null

Você viu que nessa unit ACBrBoletoW_Bradesco que lhe mandei tem a montagem do json em homologação e produção. O json em homologação tem algumas partes dinâmica e outras fixa, porque em homologação tem alguns campos que não pode ser alterado, pelo menos antes era assim, só semudou agora. Aqui estou conseguindo registrar em homologação 100%. Agora em produção terá que ajustar esse json ai ainda. Esse erro invalid signature as vezes pode ser assinatura ou json, nesse caso o código da assintarua do X-Brad-Signature do boleto está OK. 

 

 

Editado por Jhonlenon Ribeiro
  • Consultores
Postado
1 hora atrás, Jhonlenon Ribeiro disse:

Você viu que nessa unit ACBrBoletoW_Bradesco que lhe mandei tem a montagem do json em homologação e produção. O json em homologação tem algumas partes dinâmica e outras fixa, porque em homologação tem alguns campos que não pode ser alterado, pelo menos antes era assim, só semudou agora. Aqui estou conseguindo registrar em homologação 100%. Agora em produção terá que ajustar esse json ai ainda. Esse erro invalid signature as vezes pode ser assinatura ou json, nesse caso o código da assintarua do X-Brad-Signature do boleto está OK. 

 

 

eu continuo tendo o erro de assinatura e detail null...

já repassei o manual inteiro, todos os campos estão aparentemente populadosjson.json

 

veja se voce acha algo no json que pode estar ocasioanndo o erro na assinatura

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado (editado)

@Victor H. Gonzales - Panda Esse json que vc postou não foi gerado nesse unit ACBrBoletoW_Bradesco que te mandei. O seu erro está no json de homologação tem varios campos errados.

um deles é esse aqui nroCpfCnpjBenef":"07615615000171"....aqui tem que ser os 8 primeiros numeros do CNPJ de homologação "nroCpfCnpjBenef":"68542653".....essa unit ai já vai gerar o json de homologação pra vc forma correta. basta vc informar os dados do cliente, nela tem campos fixo e danâmico.01.thumb.png.639f485a3da6fa91537af14d61637bfe.png

02.png

Editado por Jhonlenon Ribeiro
  • Consultores
Postado
3 horas atrás, Jhonlenon Ribeiro disse:

@Victor H. Gonzales - Panda Esse json que vc postou não foi gerado nesse unit ACBrBoletoW_Bradesco que te mandei. O seu erro está no json de homologação tem varios campos errados.

um deles é esse aqui nroCpfCnpjBenef":"07615615000171"....aqui tem que ser os 8 primeiros numeros do CNPJ de homologação "nroCpfCnpjBenef":"68542653".....essa unit ai já vai gerar o json de homologação pra vc forma correta. basta vc informar os dados do cliente, nela tem campos fixo e danâmico.01.thumb.png.639f485a3da6fa91537af14d61637bfe.png

02.png

segue a unit...

a parte do CNPJ está correta na unit....

 

fiquei com dúvidas nesses campos em amarelo...

no seu parece que não é informado...

 

 

image.png

image.png

ACBrBoletoW_Bradesco.pas

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado (editado)

@Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção.

Em homologação

"cpssoaJuridContr":"2337627"

"ctpoContrNegoc":"000"

"nseqContrNegoc":"2337627"

Em Produção

"cpssoaJuridContr":"0"

"ctpoContrNegoc":"0"

"nseqContrNegoc":"0"

Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1  ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso.  Você pode até usar o mesmo json em  homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent). 

01.png

json_homologacao.txt

Editado por Jhonlenon Ribeiro
Postado
8 horas atrás, Jhonlenon Ribeiro disse:

@Victor H. Gonzales - Panda Boa noite...esses 3 campos ai são diferentes em homologação e produção.

Em homologação

"cpssoaJuridContr":"2337627"

"ctpoContrNegoc":"000"

"nseqContrNegoc":"2337627"

Em Produção

"cpssoaJuridContr":"0"

"ctpoContrNegoc":"0"

"nseqContrNegoc":"0"

Outro detalhe, por exemplo no manual manda eu passar esse campo assim "registrarTitulo": 1  ai dá erro....porque estou passando numérico igual manda o manual, ai eu passo assim "registrarTitulo":"1" e dá certo. Isso são varios campos. Eu nunca entendi essa forma diferente de validação de campos do Bradesco, quandi fiz aqui na empresa à 8 meses atrás quebrei muito a cabeça com isso.  Você pode até usar o mesmo json em  homologação e produção, mais vai ter que parametrizar muitos campos. Eu consegui registrar o boleto em homologação com sucesso usando sua unit fixando esse json em anexo...fixa ele nessa parte como mostra o print. Caso apareça o erro TITULO JÁ CADASTRADO ai é só alterar o nosso numero (ctitloCobrCdent). 

01.png

json_homologacao.txt 2.63 kB · 1 download

Hoje fiz uns testes e meu comentário estava errado sobre o json. Forma correta abaixo

Em homologação

"cpssoaJuridContr":"0"

"ctpoContrNegoc":"0"

"nseqContrNegoc":"0"

Em Produção

"cpssoaJuridContr":"0"

"ctpoContrNegoc":"0"

"nseqContrNegoc":"0"

Vamos seguir o manual mesmo, parece que essa questão do json de homologação foi só no inicio.

Postado (editado)

@Victor H. Gonzales - Panda Bom dia, ajustei sua unit ACBrBoletoW_Bradesco na parte do json...agora ficou registrando o boleto em homologação e produção usando o mesmo json. O Bradesco confundi muito agente com esse manual, mais pelo que testei aqui são apenas esses 4 campos que são fixo no json de homologação.

    "nroCpfCnpjBenef":"68542653",
   "filCpfCnpjBenef":"1018",
   "digCpfCnpjBenef":"38",
   "cnegocCobr":386100000000041000,

O restante dos campos segue o manual. Agora um detalhe que me chamou atenção foi isso. No manual manda eu passar um valor numérico no campo vnmnalTitloCobr mais por exemplo vou gerar um boleto com valor 5.10 reais, no json de registro fica normal, vai 5.10...mais na hora de pagar o boleto aparece é 0.50 no valor ou seja fica errado o valor, então fiz um teste assim 

LJsonObject.AddPair('vnmnalTitloCobr', OnlyNumber(TransFormaRealEmString(aTitulo.ValorDocumento))); ai no json ficou assim "vnmnalTitloCobr" : "510" ai na hora de pagar ficou certo,  era bom fazer mais testes em produção. Já corrigi a unt ACBrBoletoRet_Bradesco e está OK, também ajustei a consulta e baixa do boleto e ficou funcionando em produção. Vou anexar as 2 unit pra você testar ai.

ACBrBoletoRet_Bradesco.pas ACBrBoletoW_Bradesco.pas

Editado por Jhonlenon Ribeiro
  • Consultores
Postado
3 horas atrás, Jhonlenon Ribeiro disse:

@Victor H. Gonzales - Panda Bom dia, ajustei sua unit ACBrBoletoW_Bradesco na parte do json...agora ficou registrando o boleto em homologação e produção usando o mesmo json. O Bradesco confundi muito agente com esse manual, mais pelo que testei aqui são apenas esses 4 campos que são fixo no json de homologação.

    "nroCpfCnpjBenef":"68542653",
   "filCpfCnpjBenef":"1018",
   "digCpfCnpjBenef":"38",
   "cnegocCobr":386100000000041000,

O restante dos campos segue o manual. Agora um detalhe que me chamou atenção foi isso. No manual manda eu passar um valor numérico no campo vnmnalTitloCobr mais por exemplo vou gerar um boleto com valor 5.10 reais, no json de registro fica normal, vai 5.10...mais na hora de pagar o boleto aparece é 0.50 no valor ou seja fica errado o valor, então fiz um teste assim 

LJsonObject.AddPair('vnmnalTitloCobr', OnlyNumber(TransFormaRealEmString(aTitulo.ValorDocumento))); ai no json ficou assim "vnmnalTitloCobr" : "510" ai na hora de pagar ficou certo,  era bom fazer mais testes em produção. Já corrigi a unt ACBrBoletoRet_Bradesco e está OK, também ajustei a consulta e baixa do boleto e ficou funcionando em produção. Vou anexar as 2 unit pra você testar ai.

ACBrBoletoRet_Bradesco.pas 13.61 kB · 0 downloads ACBrBoletoW_Bradesco.pas 35.34 kB · 0 downloads

Bom dia,

 

Vou fazer o merge e verificar as alterações aqui...

 

referente ao cnegocCobr é parametrização do código da agencia e conta, isso não é erro de formação do json.

o cnpj 68542653101838 tambem acredito que deixarei passando como parametro, e não hardcoded, atualmente está hardcoded para testes.

 

agora referente ao vnmnalTitloCobr pelo o que vi na documentação, temos que multiplicar por 100 o valor apenas e entregar em valor numerico.

Preencher no formato: 10000 (título no valor de R$100,00). Se moeda indexada, preencher no formato

 

 

 

 

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado
11 minutos atrás, Victor H. Gonzales - Panda disse:

Bom dia,

 

Vou fazer o merge e verificar as alterações aqui...

 

referente ao cnegocCobr é parametrização do código da agencia e conta, isso não é erro de formação do json.

o cnpj 68542653101838 tambem acredito que deixarei passando como parametro, e não hardcoded, atualmente está hardcoded para testes.

 

agora referente ao vnmnalTitloCobr pelo o que vi na documentação, temos que multiplicar por 100 o valor apenas e entregar em valor numerico.

Preencher no formato: 10000 (título no valor de R$100,00). Se moeda indexada, preencher no formato

 

 

 

 

Dessa forma que vc falou dá certo...basta informar o CNPJ de homologação e o agencia + conta igual faz em produção. Quando alterar a unit anexa aqui novamente pra gente testar. Aqui eu posso testar em homologação e produção.

  • Consultores
Postado
5 horas atrás, Jhonlenon Ribeiro disse:

Dessa forma que vc falou dá certo...basta iACBrBoletoW_Bradesco.pasACBrBoletoRet_Bradesco.pasnformar o CNPJ de homologação e o agencia + conta igual faz em produção. Quando alterar a unit anexa aqui novamente pra gente testar. Aqui eu posso testar em homologação e produção.

Apliquei as suas mudanças... 

verifique se consegue em ambos ambientes

Consultor SAC ACBr

Victor H Gonzales - Pandaaa
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil

Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

"Aprender é a única coisa que a mente nunca se cansa, nunca tem medo e nunca se arrepende” - Leonardo da Vinci

"Ter sucesso é falhar repetidamente, mas sem perder o entusiasmo"

Postado (editado)

@Victor H. Gonzales - Panda  Boa noite...fiz uns testes agora e quase ficou 100%....o detalhe agora está no juros e multa em percentual que você aplicou a mesma regra do valor. 

AJsonObject.AddPair('ptxJuroVcto', aTitulo.ValorMoraJuros*100); aqui o juros em percentual fica errado

AJsonObject.AddPair('pmultaAplicVcto', aTitulo.PercentualMulta*100);aqui a multa também fica errada

Essa campo ptxJuroVcto estava faltando no json, no meu aqui também tava faltando ai fui olhar o manual.

Os resto está OK. vou anexar o print do juros e multa em percentual.

 

multa_juros.png

Editado por Jhonlenon Ribeiro
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...