Ir para conteúdo
  • Cadastre-se

fabio alberto

Membros
  • Total de ítens

    18
  • Registro em

  • Última visita

Tudo que fabio alberto postou

  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:
  16. Pior que até recebo o retorno, o problema é que toda vez que roda o emitir tá gerando esse exception do '' is not a valid integer value, até tentei tirar o emitir de dentro do try agora, mas ficou na mesma. O programa de exemplo eu rodei com a configuração padrão de lá e pareceu funcionar normal, no pior dos casos, vou precisar remontar na minha aplicação as procedures de configuração do componente e alimentacomponente para tentar deixar a aplicação o mais parecido possível com o aplicativo de exemplo de novo, pois da última vez que fiz isso o programa de exemplo estava um pouco diferente.
  17. Oi, Italo, tudo bem? Segue em anexo os arquivos que obtive ao testar novamente. 338206-ger-nfse.xml 338206-ger-nfse-soap.txt 338206-lista-nfse-ger.xml 338206-lista-nfse-ger-soap.xml
  18. Boa tarde, Estou com o seguinte problema, ao emitir NFSe utilizando o componente NFSeX, eu consigo emitir a NF normalmente e inclusive os XML's de envio e retorno são criados certinho na pasta, porém, toda vez que eu chamo a procedure emitir acaba ocorrendo o famoso is not a valid integer value (Dando break consegui identificar que é algum valor em branco passando pela funcão StrToInt64, mas não consegui identificar a origem desse valor vazio). O exception acontece na seguinte linha de código: Dando F7, ele chega até aqui: Chegando nesse cara da imagem acima, ele da o exception: Esse problema começou depois que atualizei meu ACBr, por vias das dúvidas tentei agora baixar os fontes novamente e reinstalar, mas acabou não mudando nada. Mesmo acontecendo esse problema, o ACBr está fazendo o envio, recebendo o retorno e criando os XML's na pasta, conforme imagem abaixo: Só que o exception está fazendo a minha aplicação entrar no tratamento do try except independente se houve sucesso ou erro, por isso preciso solucionar esse problema. Alguém já passou por alguma situação parecida e talvez consiga me ajudar? Imagino que provavelmente seja algum campo que acabei esquecendo de popular, mas até agora não encontrei.
×
×
  • 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.