Pesquisar na Comunidade
Showing results for tags 'credisis'.
Encontrado 1 registro
-
Olá pessoal. Eu postei uma dúida sobre como recuperar o xml de rettorno da API de boleto da Credisis lá no Discord, porque o pessoal do banco disse que eles enviam o boleto completo com qrcode no xml de retorno em base64. Mas olhando o xml de retorno, eu percebi que nele também vem uma tag chamada "pixCopiaCola" que vem com o mesmo link do qrcode do boleto que vem no xml. Ou seja, no xml de retorno está vindo o boleto em base64 com o qrcode e o link deste mesmo qrcode em uma tag separada. Então ao invés de usar o boleto que vem do Credisis, eu resolvi mudar a estratégia e apenas recuperar o link do pix para salvar no meu banco de dados. Vasculhei os códigos do componente para achar onde ele grava as tags de retorno e cheguei no arquivo ACBrBoletoRet_Credisis.pas. Então eu incluí neste arquivo está linha aqui: ARetornoWS.DadosRet.IDBoleto.URL := Leitor.rCampo(tcStr, 'pixCopiaCola'); O trecho de código ficou dessa forma aqui: function TRetornoEnvio_Credisis.LerRetorno(const ARetornoWS: TACBrBoletoRetornoWS): Boolean; var lXML: String; TipoOperacao : TOperacao; begin TipoOperacao := ACBrBoleto.Configuracoes.WebService.Operacao; ARetornoWS.HTTPResultCode := HTTPResultCode; ARetornoWS.JSONEnvio := EnvWs; ARetornoWS.Header.Operacao := TipoOperacao; Result := True; lXML := StringReplace(Leitor.Arquivo, 'ns1:', '', [ rfReplaceAll ]); lXML := StringReplace(lXML, C_URL_Retorno, '', [ rfReplaceAll ]); Leitor.Arquivo := lXML; Leitor.Grupo := Leitor.Arquivo; try if Leitor.rExtrai(1, 'gerarBoletosResponse') <> '' then begin ARetornoWS.DadosRet.ControleNegocial.OriRetorno := Leitor.rCampo(tcStr, 'idWeb'); ARetornoWS.DadosRet.ControleNegocial.NSU := Leitor.rCampo(tcStr, 'numeroSequencial'); ARetornoWS.DadosRet.IDBoleto.NossoNum := Leitor.rCampo(tcStr, 'nossonumero'); ARetornoWS.DadosRet.IDBoleto.LinhaDig := Leitor.rCampo(tcStr, 'linhaDigitavel'); ARetornoWS.DadosRet.IDBoleto.CodBarras := Leitor.rCampo(tcStr, 'codigoBarras'); ARetornoWS.DadosRet.IDBoleto.URL := Leitor.rCampo(tcStr, 'pixCopiaCola'); ARetornoWS.DadosRet.TituloRet.DataLimitePagto := Leitor.rCampo(tcDat, 'dataLimitePagamento'); ARetornoWS.CodRetorno := Leitor.rCampo(tcStr, 'code'); ARetornoWS.DadosRet.Excecao := Leitor.rCampo(tcStr, 'message'); end else begin if Leitor.rExtrai(1, 'buscarBoletosResponse') <> '' then begin If Leitor.rExtrai(2, 'item') <> '' then begin ARetornoWS.DadosRet.ControleNegocial.OriRetorno := Leitor.rCampo(tcStr, 'idWeb'); ARetornoWS.DadosRet.TituloRet.Sacado.CNPJCPF := Leitor.rCampo(tcStr, 'cpfCnpj'); ARetornoWS.DadosRet.IDBoleto.NossoNum := Leitor.rCampo(tcStr, 'nossonumero'); ARetornoWS.DadosRet.TituloRet.NumeroDocumento := Leitor.rCampo(tcStr, 'documento'); ARetornoWS.DadosRet.TituloRet.Parcela := Leitor.rCampo(tcInt, 'parcela'); end; end; end; except Result := False; end; end; Gostaria de saber se alguém pode validar isso pra mim, se está correto. Eu não tenho como testar aqui porque estou sem dados de alguma conta pra fazer um boleto.
