Ir para conteúdo
  • Cadastre-se

Eficaz Sistemas

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.

Eficaz Sistemas's Achievements

Apprentice

Apprentice (3/14)

  • Dedicated Rare
  • Collaborator Rare
  • First Post
  • Conversation Starter
  • One Year In

Recent Badges

5

Reputação

  1. Edit: Se o campo "_content" não existir, não estava pegando o valor pago na unit que enviei acima, abaixo está a correção. ACBrBoletoRet_Santander_API.pas
  2. a linha if (LJsonArray.ItemAsJSONObject[nIndiceOBJ].AsJSONArray['_content'].Count > 0) também está com problema, pois o retorno de um título Liquidado, não contém essa informação, logo não estava entrando no bloco do if (LJsonArray.ItemAsJSONObject[nIndiceOBJ].AsJSONArray['settlementData'].Count > 0) then Segue Anexo arquivo PAS com as correções ACBrBoletoRet_Santander_API.pas
  3. Não sei sugerir qual seria a correção ideal, do jeito que eu fiz (apresentado na imagem) resolveu pro meu caso, mas não sei se pode impactar negativamente outros
  4. Abaixo segue um exempo de retorno de uma consulta de título com situação 'ATIVO' feito no postman em produção: (apenas com os dados censurados) O Problema ocorre no seguinte bloco: Note que mesmo sem a informação do bankSlipData, as demais informações estão vindo na consulta, então devem ser preenchidas pois o título está ATIVO
  5. Criei a Variável local LPreencherDadosRetorno: Boolean e preenchi ela assim:
  6. Bom dia, a Unit ACBrBoletoRet_BancoBrasil_API possui o Seguinte problema na linha 164 Existe 1 rejeição, pois o boleto está registrado permitido pagamento com PIX, porém como ele foi recém enviado, ainda não foi pago. Como existe essa rejeição, a unit não está passando pelo bloco em que irá preencher as informações da consulta do título
  7. Olá, infelizmente não testei em Produção pois não temos os dados para isso no momento, os testes foram feitos somente via Homologação
  8. Essas foram todas as modificações que eu achei, fiz o teste em homologação assim e tudo parece OK, não tenho mais nenhuma alteração pendente e já encerrei a minha tarefa.
  9. Mais um detalhe, as linhas ARetornoWS.DadosRet.TituloRet.ValorPago := StrToFloatDef( Values['valor_pago_total_cobranca'].AsString, 0) / 100; tem que ser ARetornoWS.DadosRet.TituloRet.ValorPago := Values['valor_pago_total_cobranca'].AsNumber; A linha do jeito que está hoje, está fazendo com que o ValorPago fique zero. Segue anexo Unit com todas alterações: ACBrBoletoRet_Itau_API.pas
  10. Boa tarde, mais um detalhe que eu encontrei, na linha ARetornoWS.DadosRet.TituloRet.ValorDocumento := AJSonObject.Values['valor_titulo'].AsNumber; AJSonObject seria o objeto pai, o que faz com que o valor não seja encontrado : o correto seria: ARetornoWS.DadosRet.TituloRet.ValorDocumento := Values['valor_titulo'].AsNumber; Segue anexo novamene a unit com a alteração: ACBrBoletoRet_Itau_API.pas
  11. Edit: além disso, o campo "DataBaixa" está pegando o valor do campo settlementCreditDate, em vez do settlementDate. settlementCreditDate = Data que o valor caiu na conta bancária settlementDate = data que o título foi pago. a linha ARetornoWS.DadosRet.TituloRet.DataBaixa := StringToDateTimeDef(settlementData.Values['settlementCreditDate'].AsString, 0, 'yyyy-mm-dd'); tem que ser substituida por ARetornoWS.DadosRet.TituloRet.DataBaixa := StringToDateTimeDef(settlementData.Values['settlementDate'].AsString, 0, 'yyyy-mm-dd'); Segue anexo com a alteração realizada. ACBrBoletoRet_Santander_API.pas
  12. Boa tarde, estava fazendo alguns testes no banco Santander via API e notei que o campo ValorDocumento está recebendo valor da forma errada quando o tipo é ConsultaDetalhe atualmente está assim: É necessário que seja assim: Segue anexo a Unit com a alteração. ACBrBoletoRet_Santander_API.pas
  13. Edit: A unit do jeito que está no SVN, apenas está funcionando para registro, essa alteração que postei acima, fazia funcionar em ConsultaDetalhe mas parava de funcionar em Registro, a unit abaixo funciona das 2 formas ACBrBoletoRet_Itau_API.pas
  14. Como conversado, achei mais algumas alterações que foram necessárias na unit ACBrBoletoRet_Itau_API. A função LerRetorno está aparentemente errada, porém a LerListaRetorno está certa, como o retorno do banco, independente se é tpConsulta ou tpConsultaDetalhe, o retorno é um array Porém somente a função LerListaRetorno, tenta transformar em um array antes de começar a leitura. Já a função LerRetorno, tenta passar diretamente o valor sem transformar em um array antes, o que faz com que nunca seja lido valor nenhum. ACBrBoletoRet_Itau_API.pas Segue anexo minha unit depois das alterações necessárias
  15. Boa tarde, estou fazendo a homologação com o ITAU via API, e alguns detalhes precisaram ser alterados nas units do ACBR para que funcionasse. Na unit ACBrBoletoW_Itau_API foi necessário alterar 2 constantes, sendo elas a URL de homologação e o tipo de Authorization, segundo o manual https://devportal.itau.com.br/nossas-apis/itau-ep9-gtw-cash-management-ext-v2 C_URL_HOM = 'https://devportal.itau.com.br/sandboxapi/cash_management_ext_v2/v2'; tem que ser C_URL_HOM = 'https://sandbox.devportal.itau.com.br/itau-ep9-gtw-cash-management-ext-v2/v2'; C_AUTHORIZATION_HOM = 'x-sandbox-token'; tem que ser C_AUTHORIZATION_HOM = 'Authorization'; Sem essas alterações, estava retornando o erro de "Token inválida ou expirada", mesmo a token sendo gerada corretamente. Print da unit ACBrBoletoWS.Rest com as constantes erradas: Print da unit ACBrBoletoWS.Rest com as constantes corretas: Obs: Todos esses dados são fictícios gera Já na unit ACBrBoletoRet_Itau_API existe um erro de lógica na função "Ler Retorno", a atribuição da variável HTTPResultCode(Variável Global) para a variável ARetornoWS.HTTPResultCode está acontecendo dentro de um 'with' com o próprio ARetornoWS, então ele está atribuindo o valor dele à ele mesmo, em vez do valor da variável global. apenas removi essa linha de dentro do 'with' e meu problema foi resolvido
×
×
  • 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.