Ir para conteúdo
  • Cadastre-se

fabio alberto

Membros
  • Total de ítens

    18
  • Registro em

  • Última visita

Últimos Visitantes

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

fabio alberto's Achievements

Apprentice

Apprentice (3/14)

  • Dedicated Rare
  • Collaborator Rare
  • First Post
  • Conversation Starter
  • Week One Done

Recent Badges

1

Reputação

1

Community Answers

  1. Deu certo Obrigado @Juliomar Marchetti e @EliasCesar
  2. Deu certo \o/ Vocês conseguem alterar isso no svn pra mim? Precisaria só pegar o arquivo root lá de onde configura o psp e atribuir ao Http.Sock.SSL.CertCAFile, na mesma pegada que já faz pro certificado e key. Claro que não precisa ser exatamente onde coloquei ali, caso seja necessário imagino que poderia ter um if ali de PSPAilos, se for uma particularidade desse PSP por exemplo.
  3. Tô tentando adicionar essa linha na unit ACBrPIXCD: http.Sock.SSL.CertCAFile := 'E:\root.crt'; Dei build no exemplo, mas ele ainda pula a linha durante a compilação, como posso fazer para que considere a linha que acabei de adicionar?
  4. Realmente isso tá um pouco estranho, pois parece estar colocando o root no body na verdade. No exemplo do tidhttp que eu tinha achado, vai os 3 certificados no TIdSSLIOHandlerSocketOpenSSL que está ligado no httclient e no body da requisição apenas o client id, secret e scope. Mas aí não sei se é uma particularidade desse componente de http, porque já veio assim no exemplo quando baixei os fontes.
  5. Sim, mas a ideia é homologar outros PSPs na sequência e aproveitar o tratamento feito no exemplo do ACBr que já está pronto, apenas o adaptando para minha aplicação. Além disso, o exemplo já tem também pronto os métodos para criar a cobrança, pintar o QRCode e consultar, tudo pelo componente do PIXCD. Então se eu conseguir usar o componente do PIXCD e dos PSPs do ACBR facilitaria bastante pra mim, até porque também vou precisar fazer integração de outros PSPs em seguida, que se não me engano são Sicredi e BB. E utilizando o componente, consigo fazer a configuração desses PSPs toda no componente e já sair usando. É claro que no pior do casos se realmente não tiver como fazer funcionar, vou escrever os métodos do zero usando o TIdHttp igual no exemplo ali que mandei.
  6. Criei um form aqui para fazer o teste e deu certo, mas no exemplo do acbr ainda não consegui fazer funcionar: Imagino que a grande diferença aqui foi que usei essas dlls na pasta do executavel, já que foram as únicas que funcionaram com o TidHttp sem dar o "could not load ssl library": https://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/1.0.2.21/x86/ Segue abaixo a rotina que usei pra fazer o post, achei esse exemplo no forum e adaptei pra conseguir por minhas credenciais e certificados: var HTTPClient: TIdHTTP; SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL; RequestBody: TStringStream; Response: TStringStream; begin Memo1.Lines.Clear; HTTPClient := TIdHTTP.Create(nil); HTTPClient.Request.Clear; HTTPClient.Request.CharSet := 'utf-8'; HTTPClient.Request.UserAgent := 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; GTB5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; Maxthon; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618)'; HTTPClient.Request.ContentType := 'application/x-www-form-urlencoded'; HTTPClient.Request.CustomHeaders.Clear; HTTPClient.Request.CustomHeaders.FoldLines := false; HTTPClient.HandleRedirects := True; HTTPClient.HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth]; RequestBody := TStringStream.Create; Response := TStringStream.Create; RequestBody.WriteString('CLIENT_ID=' + edtClientId.Text + '&' + 'CLIENT_SECRET=' + edtClientSecret.Text + '&' + 'SCOPE=cob.read+cob.write+pix.read+pix.write'); RequestBody.Position := 0; SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil); try // Set up SSL IO Handler with certificate SSLIOHandler.SSLOptions.Mode := sslmClient; SSLIOHandler.SSLOptions.VerifyMode := []; SSLIOHandler.SSLOptions.VerifyDepth := 0; SSLIOHandler.SSLOptions.CertFile := 'certificado.crt'; SSLIOHandler.SSLOptions.KeyFile := 'chave_semsenha.key'; SSLIOHandler.SSLOptions.RootCertFile := 'root.crt'; SSLIOHandler.SSLOptions.SSLVersions := [sslvTLSv1_2]; // Set up HTTP client with SSL IO Handler HTTPClient.IOHandler := SSLIOHandler; HTTPClient.Post(edtURL.Text, RequestBody, Response); Memo1.Lines.Add(Response.DataString); finally HTTPClient.Free; SSLIOHandler.Free; RequestBody.Free; Response.Free; end; end; Talvez o problema sejam as dlls que estou usando no exemplo do ACBR, só que as dlls que estou usando no exemplo são as recomendadas pelo pessoal aqui do forum: https://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/1.1.1.10/X86/ Alguém tem alguma dica do que eu possa fazer pra funcionar no exemplo do acbr também?
  7. Não parece ser problema com as credenciais, pois no Postman o POST no endpoint de auth funciona normal
  8. Também estou com o mesmo problema, só que para o PSP do Ailos
  9. Bom dia, @Juliomar Marchetti Inverter o que exatamente? Tentei inverter os certificados ali nos campos de configuração, mas não mudou nada, não sei se foi isso que você quis dizer...
  10. Coloquei o nível de log no mais alto Indica esse Sock.LastError
  11. Pra funcionar no postman inseri certificado, key e root nas configurações dessa forma
  12. Estou tentando integrar o PSP Ailos, porém no exemplo do PixCD não obtenho retorno ao chamar a api, tentei dar f7, mas o response parece estar em branco Já no postman, consegui inserir o crt, key e root também e me retornou o token no endpoint de auth, ai precisaria seguir usando o token para criar o pagamento, mas eu gostaria de conseguir fazer isso pelo exemplo do acbr, já que os métodos já estão prontos, poupando tempo. Segue na foto abaixo como configurei o componente do acbr Gerei os arquivos conforme instruído na documentação do ailos utilizando meu certificado .pfx, que é o certificado do cnpj relacionado ao client id e secret que o ailous me passou Alguém saberia me dizer o que pode estar faltando ou que precisa ser corrigido para funcionar?
  13. Bom dia, Consegui encontrar o campo, o ACBR usa essa função CodTOMToCodIBGE passando o código da cidade do Tomador, dentro da função ele passa o código da cidade pelo StrToInt64, no meu caso a cidade do tomador estava em branco, por isso o erro. Preencher esse campo Tomador.Endereco.CodigoMunicipio resolveu o problema. Obrigado pela ajuda, Italo e Juliomar.
  14. Tava fuçando procurando por soluções e acabei achando esse post Ele estava tendo o mesmo problema que eu por conta de um erro de conversão, mas no caso dele ele já conseguiu achar o campo de cara. No meu caso quando dou break após aparecer o exepction, o delphi me indica que se trata de um valor branco sendo passado na funcao strtoint64 Tem alguma forma de eu descobrir de onde vem esse valor branco debugando? Porque se for algum campo que faltou preencher, seria só inserir e vida que segue, imagino que a função esteja sendo usada pelo acbr, já que no meu projeto ela não aparece nenhuma vez.
  15. Aliás, só vi agora, no Count dos erros são 2, o segundo é esse:
×
×
  • 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.