José Francisco Postado 12 Agosto Postado 12 Agosto (editado) Olá Pessoal, estou tendo problemas na função que Gera o Token do boleto inter, pois o mesmo retorna HTTP_Code=500. Segue os logs completos do ACBrBoleto (Componente Delphi). 12/08/24 18:50:41:524 - Autenticando Token... 12/08/24 18:50:41:525 - Comando Enviar: TOAuth 12/08/24 18:50:41:532 - URL: [POST] https://cdpj.partners.bancointer.com.br/oauth/v2/token 12/08/24 18:50:41:588 - Erro: HTTP_Code=500 Erro=client_id={AQUI EU COLOQUEI O MEU CLIENT_ID}&client_secret={AQUI EU COLOQUEI O MEU CLIENT SECRET}&scope=boleto-cobranca.read boleto-cobranca.write pagamento-boleto.write pagamento-boleto.read cob.write cob.read cobv.write cobv.read pix.write pix.read webhook.read webhook.write payloadlocation.write payloadlocation.read pagamento-pix.write pagamento-pix.read&grant_type=client_credentials 12/08/24 18:50:41:589 - Falha Envio: Falha na Autenticação: HTTP_Code=500 Erro=client_id={AQUI EU COLOQUEI O MEU CLIENT_ID}&client_secret={AQUI EU COLOQUEI O MEU CLIENT SECRET}&scope=boleto-cobranca.read boleto-cobranca.write pagamento-boleto.write pagamento-boleto.read cob.write cob.read cobv.write cobv.read pix.write pix.read webhook.read webhook.write payloadlocation.write payloadlocation.read pagamento-pix.write pagamento-pix.read&grant_type=client_credentials Abaixo as configurações do componente ACBrBoleto: procedure TForm1.ConfigurarComponente; var Boleto : TACBrBoleto; WebService : TACBrWebService; Beneficiario : TACBrCedente; BeneficiarioWS : TACBrCedenteWS; Banco : TACBrBanco; Cobranca : TACBrTipoCobranca; begin Boleto := ACBrBoleto1; WebService := Boleto.Configuracoes.WebService; Cobranca := Boleto.Banco.TipoCobranca; Beneficiario := Boleto.Cedente; BeneficiarioWS := Beneficiario.CedenteWS; Boleto.Homologacao := false; Boleto.Banco.TipoCobranca := cobBancoInter; BeneficiarioWS.ClientID := '{AQUI EU COLOQUEI O MEU CLIENT_ID}'; BeneficiarioWS.ClientSecret := '{AQUI EU COLOQUEI O MEU CLIENT SECRET}'; BeneficiarioWS.KeyUser := ''; BeneficiarioWS.Scope := 'boleto-cobranca.read boleto-cobranca.write pagamento-boleto.write pagamento-boleto.read '+ 'cob.write cob.read cobv.write cobv.read pix.write pix.read webhook.read webhook.write '+ 'payloadlocation.write payloadlocation.read pagamento-pix.write pagamento-pix.read'; BeneficiarioWS.IndicadorPix := true; WebService.Ambiente := taProducao; WebService.SSLHttpLib := TSSLHttpLib(0); WebService.SSLType := TSSLType(5); WebService.TimeOut := 10000; WebService.ArquivoCRT := DIR_CERTIF+'InterAPI_Certificado.crt'; WebService.ArquivoKEY := DIR_CERTIF+'InterAPI_Chave.key'; //Dados do Cedente: Beneficiario.CodigoCedente := '{MEU CODIGO}'; Beneficiario.Nome := '{MINHA EMPRESA}; Beneficiario.Agencia := '0001'; Beneficiario.AgenciaDigito := '1'; Beneficiario.Conta := '{MINHA CONTA}'; Beneficiario.ContaDigito := '2'; end; OBs.: Para testar se realmente o banco estava aceitando as minhas credenciais, eu configurei o Postman com os mesmos parâmetros, e ao enviar o método POST obtive com sucesso o "access_token". Desde já agradeço Editado 12 Agosto por magisystem Esconder dados pessoais
Moderadores Juliomar Marchetti Postado 12 Agosto Moderadores Postado 12 Agosto 46 minutos atrás, magisystem disse: WebService.SSLHttpLib := TSSLHttpLib(0); porque está deixando NONE aqui TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); deixaria assim SSLHttpLib=3 SSLCryptLib=1 SSLXmlSignLib=4 SSLType=5 Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
José Francisco Postado 13 Agosto Autor Postado 13 Agosto 15 horas atrás, Juliomar Marchetti disse: porque está deixando NONE aqui TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy); deixaria assim SSLHttpLib=3 SSLCryptLib=1 SSLXmlSignLib=4 SSLType=5 Fala Juliomar blz, pois é, tbm testei assim, e da forma que vc enviou tbm, mesmo erro..
Moderadores Juliomar Marchetti Postado 13 Agosto Moderadores Postado 13 Agosto 12 minutos atrás, magisystem disse: Fala Juliomar blz, pois é, tbm testei assim, e da forma que vc enviou tbm, mesmo erro.. então é algo com seu token ou até mesmo alguma informação que esteja diferente Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
José Francisco Postado 13 Agosto Autor Postado 13 Agosto 5 minutos atrás, Juliomar Marchetti disse: então é algo com seu token ou até mesmo alguma informação que esteja diferente pois é Juliomar, muito estranho, mas testei o token juntamente com os certificados e ids que o banco inter oferece no postman e funcionou normal. Ele da o erro na procedure TOAuth.ProcessarRespostaOAuth(const ARetorno: AnsiString); dentro de ACBrBoletoWS.Rest.OAuth.pas na linha em vermelho. procedure TOAuth.ProcessarRespostaOAuth(const ARetorno: AnsiString); var LJson : TACBrJSONObject; LErrorMessage: String; begin FToken := ''; FExpire := 0; FErroComunicacao := ''; try LJson := TACBrJSONObject.Parse(UTF8ToNativeString(ARetorno)); try if (FHTTPSend.ResultCode in [ 200 .. 205 ]) then begin FToken := LJson.AsString[ 'access_token' ]; try FExpire := now + (LJson.AsInteger[ 'expires_in' ] * OneSecond); DoLog('Validade: ' + DateTimeToStr(FExpire), logSimples); except FExpire := 0; end; end else begin FErroComunicacao := 'HTTP_Code=' + IntToStr(FHTTPSend.ResultCode); if Assigned(LJson) then begin LErrorMessage := LJson.AsString[ 'error_description' ]; if LErrorMessage = '' then LErrorMessage := LJson.AsString[ 'error_title' ]; FErroComunicacao := FErroComunicacao + ' Erro=' + LErrorMessage; end; DoLog('Erro: ' + FErroComunicacao, logSimples); end; finally LJson.Free; end; except FErroComunicacao := 'HTTP_Code=' + IntToStr(FHTTPSend.ResultCode) + ' Erro=' + ARetorno; DoLog('Erro: ' + FErroComunicacao, logSimples); end; end; essa ARetorno vem alimentada da seguinte forma: ARetorno: 'client_id={AQUI EU COLOQUEI O MEU CLIENT_ID}&client_secret={AQUI EU COLOQUEI O MEU CLIENT_SECRET}&scope=boleto-cobranca.read boleto-cobranca.write pagamento-boleto.write pagamento-boleto.read cob.write cob.read cobv.write cobv.read pix.write pix.read webhook.read webhook.write payloadlocation.write payloadlocation.read pagamento-pix.write pagamento-pix.read&grant_type=client_credentials' EU acredito que deveria vir um JSON aqui.
Moderadores Juliomar Marchetti Postado 13 Agosto Moderadores Postado 13 Agosto eu sei que está funcionando e tem gente usando pois já vi apessoa emitindo boletos portanto tem a ver com suas credenciais a situação. mas não posso afirmar o que . eu não emito e não tenho dados, só estou tentando ajudar Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
José Francisco Postado 13 Agosto Autor Postado 13 Agosto 14 minutos atrás, Juliomar Marchetti disse: eu sei que está funcionando e tem gente usando pois já vi apessoa emitindo boletos portanto tem a ver com suas credenciais a situação. mas não posso afirmar o que . eu não emito e não tenho dados, só estou tentando ajudar Assim Juliomar, eu agradeço pela ajuda, vou continuar investigando aqui, abraços.
Solution José Francisco Postado 13 Agosto Autor Solution Postado 13 Agosto Consegui resolver meu Problema Juliomar, gerei uma nova API lá no site do banco inter, baixei os novos certificados em produção e funcionou normal, Obrigado pela atenção e a toda equipe. 1
Moderadores Juliomar Marchetti Postado 13 Agosto Moderadores Postado 13 Agosto Que show Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Moderadores Juliomar Marchetti Postado 13 Agosto Moderadores Postado 13 Agosto Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico. Juliomar Marchetti skype: juliomar telegram: juliomar e-mail: [email protected] http://www.juliomarmarchetti.com.br
Recommended Posts