Ir para conteúdo
  • Cadastre-se

Osmar de Luca

Membros
  • Total de ítens

    41
  • Registro em

  • Última visita

Posts postados por Osmar de Luca

  1. Bom dia! Estou desenvolvendo a comunicao do TEF atraves da clisitef.so em android, já consegui fazer a comunição com o SITDEMO e o pinpad USB usando   JJCliSiTefI = interface; // br.com.softwareexpress.sitef.JCliSiTefI gostaria se saber se alguem que entende um pouco mais do que eu em android tem interesse em me ajudar a desenvolver o restante?

  2. Bom dia! todo mes envio varias notas em sequencia de nfse para prefeitura de cascavel, provedor IPM porem hoje esta acontecendo um caso inusitado, a primeira vai normal porem as outras de erro, ai fecho o sistema e abro novamente, e a primeira vai, mudou algo minha versao do acbr é de 10/2023, ja tentei esperar um tempo para ver ser nao era questao de timeout mas nada, como só posso mandar uma por vez no servico, limpo NotasFiscais.Clear e carrego outra.

    Aguarde Enviando...
    RPS: 2516
    Modo de Envio : Gerar NFSe
    Data de Envio : 19/03/2024
    Numero do Prot: 7493190324114210900197005562024037389533
    Numero da Nota: 901
    Link          : https://cascavel.atende.net/autoatendimento/servicos/consulta-de-autenticidade-de-nota-fiscal-eletronica-nfse/detalhar/1/identificador/7493190324114210900197005562024037389533
    Sucesso       : True

    Aguarde Enviando...
    RPS: 2517
    Modo de Envio : Gerar NFSe
    Sucesso       : False
    Erro(s): Código  : X999 Mensagem: Erro de Conexão: Erro Interno: 12152 Erro HTTP: 0
    URL: https://cascavel.atende.net/atende.php?pg=rest&service=WNERestServiceNFSe&cidade=padrao

     

  3. Bom dia RRIquema, então eu ja entendi como funciona porem não sei qual é a melhor abordagem para implimentar no ACBRTEFD.

    Mas funciona assim:

    fRetornoPINPADNovo : String; 

    Criei uma variavel global para salvar o retorno do pinpad.


    Abra uma transação com a operacao: 789

     if ExecutarTransacaoSiTef(789, 0) then
          ContinuarRequisicaoSiTef;

    no ContinuarRequisicaoSiTef verifique os retornos

     proximocomando for 0 e tipocampo=2971: 

    • fRetornoPINPADNovo := BinaryStringToString(Buffer);

    proximocomando=29

    •  tipocampo =  2967:
    •                         Resposta := '1E'; // Código hexadecimal do dado do portador: Veja Tabela
    •   tipocampo =  2968:
    •                          Resposta := '4'; // Tamanho Minimo do Campo 
    •   tipocampo =  2969:
    •                          Resposta := '4'; // Tamanho Maximo do campo
    •   tipocampo =  2970:
    •                           Resposta := '0'; // Tempo de Espera
       

    com isso consegui retornar os dados do pinpad.

    Fiz isso no ACBrTEFAPI.

    Da pra fazer igual no ACBrTEFD.

    Então se alguem se habilitar para poder adicionar nos fontes do TEF eu posso ajudar.

    chamar no Whatsapp 45-99971-5601

  4. Bom dia, concordo plenamente Renato, porém no codigo está assim:

          Codigo := ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('codigo'), tcStr);
          AMSG := ACBrStr(ObterConteudoTag(ANodeArray[I].Childrens.FindAnyNs('Mensagem'), tcStr));
          {
            Codigo = 00001 significa que o processamento ocorreu com sucesso, logo não
            tem erros.
          }

          if Codigo <> '00001' then
          begin

            ....

         end;

    Nesse caso teria que comparar assim:

          if Codigo <> '00001 - Sucesso' then
          begin

            ....

         end;

    • Curtir 1
  5. Não está seprando o codigo de retorno com a msg

    Está retornando do componente assim:

    Erro(s):
    Código  : 00027 - O valor total da NFSe não pode ser zero (0,00)..
    Mensagem: 
    Correção:

    deveria vir assim:

    Erro(s):
    Código  : 00027
    Mensagem:  O valor total da NFSe não pode ser zero (0,00)..

     

    ------------------------------
    Versão OpenSSL
    OpenSSL 1.1.1j  16 Feb 2021
    01.01.01.0AF
    C:\Windows\SYSTEM32\libcrypto-1_1.dll
    C:\Windows\SYSTEM32\libssl-1_1.dll
    ------------------------------
    Requisição
    Ambiente: 1
    Cidade  : Cascavel/PR
    Provedor: IPM Versão: 1.01
     
    Método Executado: Gerar NFSe
     
    Parâmetros de Envio
    Numero do Lote: 1
     
    Parâmetros de Retorno
    Data de Envio : 30/12/1899
    Numero do Prot: 
    Numero da Nota: 
    Link          : 
    Código Verif. : 
    Sucesso       : False
     
    Erro(s):
    Código  : 00027 - O valor total da NFSe não pode ser zero (0,00)..
    Mensagem: 
    Correção:

     

     

  6. Bom dia, estou com a seguinte situação, gerei os arquivos de chave privada e certificado

    quando seto as propriedades:

             Inter.ArquivoChavePrivada := 'D:\Sistemas\XW\PDV\Certificados\PIX.Inter.Certificado.key';
             Inter.ArquivoCertificado := 'D:\Sistemas\XW\PDV\Certificados\PIX.Inter.Certificado.crt';

    funciona certinho.

    quando coloco esses arquivos em Recursos e carrego na propriedades:

           Inter.ChavePrivada := fSysWin.LoadRecurse('PIX_INTER_KEY');
           Inter.Certificado := fSysWin.LoadRecurse('PIX_INTER_CRT');

     

    function TSystemWindows.LoadRecurse(Name: String): String;

     sl := TStringList.Create;
          Stream := TResourceStream.Create(hInstance, Name, RT_RCDATA);
          sl.LoadFromStream(Stream);

    da erro de certificado e chaveprivada!

    qual é a diferenca da ArquivoChavePrivada/ArquivoCertificado e ChavePrivada/Certificado.

    vi que na ChavePrivada/Certificado converte PEM para ConvertPEMToASN1 mas não consegui entender!

  7. Analisando os fontes do acbrtefapi constatei que ObtemDadoPinPadDireto sempre remete a mesma função da clisitef.dll

    xObtemDadoPinPadDiretoEx(PAnsiChar(ChaveAcesso), PAnsiChar(Identificador), PAnsiChar(EntradaCPF), Saida)
     

    tentei iniciar uma requisicao da seguinte maneira:
    -- 29/08 16:46:19:902 - *** IniciaFuncaoSiTefInterativo. Modalidade: 789 Valor: 0,00 Documento: 164619 Data: 20230829 Hora: 164619 Operador:  Restricoes: 
    -- 29/08 16:46:19:902 - BloquearMouseTeclado: SIM
    -- 29/08 16:46:19:902 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
    -- 29/08 16:46:20:145 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 29 TipoCampo = 2967 Buffer =  Tam.Min = 1 Tam.Max = 4
    -- 29/08 16:46:20:145 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
    -- 29/08 16:46:20:161 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 22 TipoCampo = -1 Buffer = Campo com formato invalido Tam.Min = 1 Tam.Max = 2
    -- 29/08 16:46:20:161 - CliSiTef DoExibeMsg: Oper: opmOK Mensagem: Campo com formato invalido

    Como posso tratar para inserir esses parametros na Requisicao? 

    image.png.25b3931fc2a42955503e576b7c7d63ad.png

  8. Boa tarde, utilizo a funcao obtem dados pinpad para o cliente digitar o codigo de operador com 4 digitos:

    EntradaCOD :=  '010404DIGITE O CODIGO                 CONFIRME CODIGO | xxxx            ';
    Retorno := xObtemDadoPinPadDiretoEx(PAnsiChar(ChaveAcesso), PAnsiChar(Identificador),
                  PAnsiChar(EntradaCOD), Saida);

    Porem em alguns pinpad com firmeware mais recentes não está aceitando!

    Conversando com a softwareexpress tem uma maneira mais recente de obter esses dados.

    "Osmar, boa tarde. Conforme conversamos em linha, informo que o erro apresentado se deve a versão da Firmware do Pinpad, pois nas novas versões é necessário seguir outro padrão no envio das funções. Modelo do Pinpad onde não apresentou o erro: [GERTEC|PPC-930;192MB C|1200.11808.VR0012 @|2.12002.14 200921|7200101907305095] Modelo do Pinpad onde apresentou erro: [GERTEC|PPC-930;192MB C|1400.12503.VR1115 @|2.12002.14 200921|7200102207027526] Conforme conversamos em linha, oriento o desenvolvimento da função dentro das novas normas para que o erro não seja apresentado. Atenciosamente, Sandra Silva"

    Nova maneira é usar:

     

    Função  Descrição
    789 Obtenção de dado aberto no pinpad. Disponível a partir da clisitef 7.0.115.34.rc15.

    Essa funcionalidade é iniciada através da função IniciaFuncaoSiTefInterativo() com o parâmetro Funcao (primeiro parâmetro de entrada da rotina) assumindo o valor 789 e os demais parâmetros com seus valores usuais.

    No processo de Continuação (ContinuaFuncaoSiTefInterativo()), serão solicitados (via comando 29) e entregues os campos descritos a seguir (“Descrição dos parâmetros”).

    Diferentemente da forma antiga (descrita em capítulo posterior), esta funcionalidade não possui rotinas de uso direto.

    alguém já teve viu algo assim?

    https://dev.softwareexpress.com.br/docs/clisitef-leitura-de-campo-aberto-no-pinpad/api_prototipo_das_funcoes

     

  9. Bom dia pessoal!

    estou com problema na transação de saque de pix.

    Não esta retornando o valor da transacao no retorno,  teria que retorna na linha 130. 

     

    000-000 = 31439
    001-000 = 0717170013ER
    002-000 = 220
    100-000 = 9999
    101-000 = Carteira Digital
    102-000 = Carteira Digital
    105-000 = 20230717112649
    106-000 = 60110042
    107-000 = Pix Saque
    121-000 = X SIMULACAO\x0AX 000000000000000\x0AC 1a VIA - CLIENTE\x0AX\x0AX DOCUMENTO = 000007170013\x0A          SiTef from Fiserv
    122-000 = X SIMULACAO\x0AX 000000000000000\x0AE 2a VIA - ESTABELECIMENTO\x0AX\x0AX DOCUMENTO = 000007170013\x0A          SiTef from Fiserv
    123-000 = 00
    131-000 = 00271
    133-000 = 170013
    134-000 = 00000000000007170013
    156-000 = Pix Saque
    157-000 = 000000000000000
    158-000 = ER
    161-000 = 0
    2010-000 = 00
    2620-000 = 111111111122222222223333333333444444444455555555556666666666
    4077-000 = 000007170013
    4153-000 = 01181521
    800-000 = DC0C45FAD8071F90AD2D31D62F84148993D45E2B
    899-100 = CRT
    899-101 = 41178
    899-102 = 112645
    899-103 = 0
    951-000 = 99
    952-000 = 000007170013

     

     

  10. sim erra somente o numero da pagina que eu estava passando 1 e é 0, porque no demo do acbr ta automatico 1 e nao me atentei pra isso.
    {"parametros":{"inicio":"2023-05-28T00:00:00.000Z","fim":"2023-05-30T23:59:59.999Z","locationPresente":false,"status":"CONCLUIDA","paginacao":{"itensPorPagina":10,"paginaAtual":1,"quantidadeDePaginas":1,"quantidadeTotalDeItens":2}}}

  11. Estou tentando consultar os PIX do inter porem nao retorna nada, e sim tem pix recebidos.

    {"parametros":{"inicio":"2023-05-28T00:00:00.000Z","fim":"2023-05-30T23:59:59.999Z","locationPresente":false,"status":"CONCLUIDA","paginacao":{"itensPorPagina":10,"paginaAtual":1,"quantidadeDePaginas":1,"quantidadeTotalDeItens":2}}}

    Encontrado: 0, Cobranças

    Alguem tem alguma ideia ou solucao?

     

  12. Boa tarde,

    Estou fazendo transacoes PIX com PSP Inter, porem quando consulto sempre me retorna que a transcacao está ativa, porem se tento pagá-la diz que ja expirou. Alguem sabe me dizer se é assim mesmo? tenho que tratar isso na minha aplicação? 

    {
        "chave": "13408130000100",
        "pixCopiaECola": "00020101021226930014BR.GOV.BCB.PIX2571spi-qrcode.bancointer.com.br/spi/pj/v2/be4fa8dd635341318ebafca4a02f017852040000530398654040.165802BR5901*6008CASCAVEL61088581006162070503***630419C2",
        "calendario": {
            "criacao": "2023-05-30T19:19:48.168Z",
            "expiracao": 60
        },
        "loc": {
            "id": 1608919,
            "tipoCob": "cob",
            "location": "https://spi-qrcode.bancointer.com.br/spi/pj/v2/be4fa8dd635341318ebafca4a02f0178",
            "criacao": "2023-05-30T19:19:48.151Z"
        },
        "valor": {
            "original": "0.16"
        },
        "txid": "6x9jzy6m0eodwcrn1h6wlhfh18jwzd1msbx",
        "revisao": 0,
        "location": "https://spi-qrcode.bancointer.com.br/spi/pj/v2/be4fa8dd635341318ebafca4a02f0178",
        "status": "ATIVA"
    }

  13. Bom dia, alguem pode me dar uma dica,

    entrei no site do banco, para tentar cadastrar o id e senha para o psp nao encontrei opcoes.

    eu tenho que ter a maquina pra conseguir o pessoal do banco nao responde.

×
×
  • 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.