Ir para conteúdo
  • Cadastre-se

JLuis

Membros Pro
  • Total de ítens

    158
  • Registro em

  • Última visita

Tudo que JLuis postou

  1. Após atualizar os fontes passou a ocorrer o erro: Undeclared identifier: 'SslMethodTLSV13' Tentei então recompilar e reinstalar os componentes e aborta pelo mesmo motivo: Compiling package Z:\Comp\ACBr\Pacotes\Delphi\ACBrDFe\ACBr_DFeComum.dpk "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\dcc32.exe" "Z:\Comp\ACBr\Pacotes\Delphi\ACBrDFe\ACBr_DFeComum.dpk" Embarcadero Delphi for Win32 compiler version 33.0 Copyright (c) 1983,2018 Embarcadero Technologies, Inc. Z:\Comp\ACBr\Fontes\ACBrDFe\ACBrDFeHttpOpenSSL.pas(230) Error: E2003 Undeclared identifier: 'SslMethodTLSV13' Z:\Comp\ACBr\Fontes\ACBrDFe\ACBrDFeSSL.pas(2887) Fatal: F2063 Could not compile used unit 'ACBrDFeHttpOpenSSL.pas' Compilation failure Erro ao compilar o pacote "ACBr_DFeComum.dpk". Abortando... Ocorreram erros na compilação dos pacotes. Grato, J. luís
  2. Boa tarde, O PSP Santander parece estar com divergências na API. Não consegui testar em homologação. Verifiquei com meu cliente para gerar as credenciais em produção e então fiz os testes e ajustes finais. Com o fonte do SVN em produção ao menos pra mim está funcionando redondo até o momento. Att.
  3. Boa tarde Elias, Realmente, fiz confusão! Já ajustei meu código e tudo resolvido. Grato pelo retorno!
  4. Segue o PDF, a relação de endpoints está na última página. Material Suporte Dev Portal - Aceitar convites (Produção).pdf
  5. Acredito que não, naquele caso era sandbox e o erro era 501, neste agora é produção e o erro é 404. Segue o log em anexo. LogPIX_Santander
  6. Bom dia, Estou testando em produção a consulta de um pix no PSP Santander e está ocorrendo o erro 404. Conferindo o log com a documentação identifiquei uma divergência no endpoint utilizado. Requisição no componente: https://trust-pix.santander.com.br/api/v1/pix/ Requisição cfe documentação para consulta: https://trust-pix.santander.com.br/api/cob/{txid} Outro detalhe é que pela documentação o parâmetro seria o txId e não o e2eid. Grato,
  7. Bom dia, Ref. ao PIX Santander em produção... estava com erro 503 na solicitação de devolução e acabei identificando o problema, só achei um tanto estranho e por isso reporto aqui... Estava enviando: 03/08/23 07:38:14:706 - Req.Body: {"descricao":"Devolucao de pagamento","natureza":"ORIGINAL","valor":"0.50"} 03/08/23 07:38:15:298 - ResultCode: 503 - e fazendo o mesmo teste pelo demo: Req.Body: {"descricao":"TESTE DEVOLUÇÃO","valor":"0.50"} ResultCode: 201 - percebi que pelo demo a "natureza" não estava indo e não ocorreu o erro, então, comparando com meu código, encontrei a seguinte diferença que para o Sicredi funciona da forma a seguir e no Santander dá erro: natureza := ndORIGINAL; e no demo: natureza := TACBrPIXNaturezaDevolucao(cbxSolicitarDevolucaoPix_Natureza.ItemIndex); O fato é que no demo "cbxSolicitarDevolucaoPix_Natureza.ItemIndex = 0" exibe o texto "ndORIGINAL" só que pelo fonte do componente TACBrPIXNaturezaDevolucao = ( ndNENHUMA, ndORIGINAL, ndRETIRADA ) ; e o demo está mandando "ndNENHUMA" e não "ndORIGINAL". Então, alterei meu fonte para natureza := TACBrPIXNaturezaDevolucao(0); para simular o que o demo esta fazendo pois o itemindex da forma com está é zero, ou seja "ndNENHUMA" e não "ndORIGINAL". Com base nisso acho que o demo poderia ser ajustado para exibir no combo as três opções evitando assim a confusão.
  8. Bom dia, Dando sequencia aos testes com o santander, agora em ambiente de produção, estou recebendo o erro 404 "Entidade não encontrada". Na documentação informa que pode ser a chave não cadastrada no PSP mas confirmei com o cliente e a chave está correta, no caso, é o CNPJ. Alguém saberia informar qual poderia ser o problema? Segue: parte do Log com o erro 31/07/23 09:42:41:918 - Resp.Body: { "type": "https://pix.bcb.gov.br/api/v2/error/NaoEncontrado", "title": "Não Encontrado", "status": 404, "detail": "Entidade não encontrada." } 31/07/23 09:42:41:918 - ChamarEventoQuandoReceberRespostaEndPoint( /cob, POST ) 31/07/23 09:42:41:919 - ResultCode:404 31/07/23 09:42:41:919 - RespostaHttp: { "type": "https://pix.bcb.gov.br/api/v2/error/NaoEncontrado", "title": "Não Encontrado", "status": 404, "detail": "Entidade não encontrada." } 31/07/23 09:42:41:919 - TratarRetornoComErro( 404 )
  9. Teste realizado, a princípio está gerando a cobrança e retornado código 201 porém, está ocorrendo erro na geração do QRCode.... para o Sicredi, se "CriarCobrancaImediata()" retornar True então chamo "GerarQRCodeDinamico()" if (fFluxoDados.QRCode = EmptyStr) then fFluxoDados.QRCode := dmACBr.PixCD.GerarQRCodeDinamico(dmACBr.PixCD.PSP.epCob.CobGerada.location); só que para o Santander em GerarQRCodeDinamico() está ocorrendo o erro "Campo obrigatório, não informado: URL" Debugando verifiquei que a propriedade "location" está ficando vazia mesmo CriarCobrancaImediata() retornando True. Este teste ainda estou fazendo no sandbox. Fiz contato com a agência local e ficaram a partir de amanhã abrir chamado interno para encaminhar a liberação em produção. Segue o log LogPIX_Santander
  10. Olá Elias, Só para informar... no dia 20/07 enviei e-mail para [email protected] a cerca do problema e o retorno foi o seguinte: Então enviei outro questionando pois pelo telefone não há qualquer opção relacionada ao suporte requerido e então o retorno foi o seguinte: tentei também pelo endereço [email protected] e o retorno foi caixa postal inexistente. Então se for tentar um desses endereços acho que será perda de tempo a menos que tenham reativado algum deles. Considero isso uma tremenda falta de consideração por parte deles.
  11. Recompilei e testei novamente, inclusive peguei um erro na linha Http.Protocol := 1.1; // tipos incompatíveis String e Extended e tive que alterar para Http.Protocol := '1.1'; e mesmo resultado... talvez como o Elias citou, seja mesmo problema do lado deles, o que complica é que não há mais canal de comunicação para entrar em contato... Como estou testando apenas no sandbox, vou ver com o cliente para solicitar junto ao seu gerente comercial no Santander para que realize o cadastro interno para que eu possa criar uma aplicação em produção e então realizar os testes. Caso alguém tenha alguma novidade por favor continuem postando aqui. Obrigado.
  12. Refiz o teste com debug e breakpoint cfe imagem anexa. Apesar de passar pela procedure "LimparHTTP" no log continua aparecendo com HTTP/1.0
  13. Bom dia, grato pelo retorno. Teste realizado... mesmo erro, segue o log em anexo. LogPIX_Santander
  14. Segue o Log em anexo. Vale observar que o erro 501 não consta nos possíveis retorno documentados cfe pode ser confirmado em https://developer.santander.com.br/api/documentacao/pix#/paths/cob-txid/put Grato pelo retorno. LogPIX_Santander
  15. Alguém que já utilize a API Pix do Santander teria alguma informação sobre os erros no ambiente sandbox: ResultCode: 501 - Not Implemented Resp Body: Unsupported Request O email [email protected] já era, retorna com mensagem de caixa postal desativada Desde já agradeço
  16. Daniel, desculpe, falha minha... verifiquei agora que eu estava chamando a função antes da minha rotina de configuração do componente, então corrigi e o AV não ocorreu mais, apenas demorou um tempo e deu a mensagem de "Erro de comunicação com o pinpad" mesmo ele estando conectado e funcionando normal.
  17. Ocorre na unit ACBrTEFAPI.pas linha 327 function TACBrTEFAPI.GetTEFAPIClass: TACBrTEFAPIClass; begin Result := TACBrTEFAPIClass(fpTEFAPIClass); // <<<--- end; A DLL (PGWebLib.dll) é a de homologação versão 4.1.15.1. O pinpad é um Gertec PPC 930 versão 2.12.
  18. Bom dia, Atualizei os fontes e verifiquei que foi implementada uma nova função para verificar a presença do pinpad "VerificarPresencaPinPad", algo que considero de grande importância se permitir que possamos verificar se o equipamento está devidamente conectado e configurado já na abertura do sistema pois evitaria de o problema só ser percebido na hora de processar o pagamento. Ao testar verifiquei que ao chamar a função está ocorrendo um AV.... também não consegui localizar nos fontes quais seriam os possíveis valores de retorno, apenas que retorna um tipo byte. Utilizo a PayGoWeb DLL. Grato.
  19. Bom dia... Alterado tratamento feito na classe do PSP Sicredi em relação ao retorno na operação de devolução de valor. O tratamento está retornado 200 e deveria retornar 201, uma vez que o Sicredi responde HTTP_OK ao método PUT do Endpoint PIX, de forma diferente da especificada. procedure TACBrPSPSicredi.QuandoReceberRespostaEndPoint(const aEndPoint, aURL, aMethod: String; var aResultCode: Integer; var aRespostaHttp: AnsiString); begin // Sicredi responde HTTP_OK ao método PUT do Endpoint PIX, de forma diferente da especificada {if (UpperCase(AMethod) = ChttpMethodPUT) and (AEndPoint = cEndPointPix) and (AResultCode = HTTP_CREATED) then AResultCode := HTTP_OK;} if (UpperCase(AMethod) = ChttpMethodPUT) and (AEndPoint = cEndPointPix) and (AResultCode = HTTP_OK) then AResultCode := HTTP_CREATED; end; Unit alterada em anexo. ACBrPIXPSPSicredi.pas
  20. Boa tarde, Perfeito, atualizei e fechou.... desculpe as confusões. Só mais um detalhe, o pessoal da Unicred aqui da minha região hoje pela manhã informou que estão alterando o sistema deles e o validador só aceita a partir de hoje como nome do banco no cabeçalho do arquivo a expressão "UNICRED" e não mais "UNICRED DO BRASIL" e em razão disso precisei modificar a linha 84 no OnCreate de fpNome := 'UNICRED DO BRASIL'; para fpNome := 'UNICRED'; Se puder subir mais esta alteração agradeço.
  21. Bom dia, Perdão, quando afirmei que a unit de 14/09 estaria correta me passei e confundi com a minha própria versão a qual já havia alterado. Peço a gentileza de observar minhas colocações em relação à função "CodMotivoRejeicaoToDescricao()" a qual não retorna descrição de rejeições. Anexo a unit com a alteração mencionada na linha 286 a qual solicito subir para o SVN. Grato. ACBrBancoUnicredES.pas
  22. Boa tarde Victor, A unit que vc havia disponibilizado e que testei conforme meu post anterior estava correta. Nesta versão subida hoje para o SVN a linha 286 >> DescricaoMotivoRejeicaoComando.Add(CodMotivoRejeicaoToDescricao(OcorrenciaOriginal.Tipo,StrToIntDef(codInstrucao,0))); Precisa ser substituída pela linha: >> DescricaoMotivoRejeicaoComando.Add(CodComplementoMovimento(codInstrucao)); ... pois a função "CodMotivoRejeicaoToDescricao" apesar do nome sugestivo não devolve a descrição correta veja a seguir o trecho extraído do manual da Unicred ref. os códigos de "tipo de instrução" que são os mesmos avaliados por esta função e que não tem a ver com motivos de rejeição: Posições 327 a 328 Códigos de Tipo de Instrução Origem 00 - Sem Tipo de Instrução Origem a informar – usado para Código de Movimento 01; 06; 07; 09; 13 e 14 01 - Remessa 02 - Pedido de Baixa 04 - Concessão de Abatimento 05 - Cancelamento de Abatimento 06 - Alteração de vencimento 09 – Protestar 10 - Baixa por Decurso de Prazo – Solicitação CIP 11 - Sustar Protesto e Manter em Carteira 22 - Alteracao do Seu Numero 23 - Alteracao de dados do Pagador 25 - Sustar Protesto e Baixar Título 26 – Protesto automático 40 - Alteracao de Status Desconto Importante observar também que a linha 283: codInstrucao := copy(Linha,319,8); está correta conforme o manual posições 319 a 326 "Códigos de Complemento do Movimento". Grato.
  23. Boa tarde, testes realizados, a princípio tudo certo.
  24. JLuis

    Retorno Unicred ES CNAB 400

    Tive dificuldades no tratamento de rejeições no arquivo de retorno da Unicred ES CNAB 400 uma vez que a rotina CodMotivoRejeicaoToDescricao() não trata as rejeições e sim "Códigos de Tipo de Instrução Origem" o que me parece um tanto incoerente com o propósito da rotina. As posições lidas do arquivo para este fim também não estavam corretas com base no manual "GR - COB136 - Layout CNAB 400 - Retorno.pdf". Não sei se fiz bem criar uma nova rotina mas deixo a cargo dos revisores avaliar a melhor forma de implementar antes de subir para o SVN. Em anexo unit alterada. Desde já agradeço. ACBrBancoUnicredES.pas
×
×
  • 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.