Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 391 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Boa tarde, estou fazendo a integração com o Sled Troco Digital, e no roteiro de homologação quando eu informo no PinPad o CPF esta pedido para eu fazer a validação do mesmo, mas não estou conseguindo capturar esses dados;

no Sled é passado como CadSE e a chamado do CPF ja é do próprio módulo, no Manual a baixo segue um padrão para capturar as entradas e saidas do pinpad, não sei se o mesmo esta implementado no componente;

segue link

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

  • Fundadores
Postado

Até onde eu lembro (faz muito tempo que usei esse comando), para usar esse comando de captura "aberto", você precisará de uma chave fornecida pela Sw.Express... Essa chave é calculada com seu CNPJ e do Cliente final...

Isso se deve porque com esse comando, você poderia implementar um verdadeiro "chupa cabras" e simular uma digitação de senhas, ao usuário...

O CDP usa comandos pré-definidos na biblioteca, e isso diminui os riscos

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • 3 semanas depois ...
  • Membros Pro
Postado (editado)

boa tarde, alguém teria uma ideia de como posso resolver esse problema que estou enfrentando;

Exemplo:

estou fazendo uma vanda de 15,00 estou dando 20,00 esta sobrando 5,00 quando vou usar esse troco no Troco digital eu chamo a Carteira Digital mas estou recebendo a mensagem.

Operação TEf deve ser limitada ao Saldo restante a pagar.

dessa forma eu não consigo lançar o troco digital sendo que o mesmo so funciona através de carteira digital.

 

Editado por brajan
  • Membros Pro
Postado

bom dia, sim tem, usamos clisitef, nos testes funciona tudo certo, se passar o valor como forma de pagamento sem saldo restante, o problema é que o valor a ser passado para esse módulo é justamente o o troco, como os valor da venda ja deu o valor pago o componente não deixa chamar a CRT dando a mensagem que informei a cima.

  • Membros Pro
Postado

bom dia,

Estou passando OperacaoCRT = 122

e CRT(valor, 01) -> a forma de pagamento não importa o código sempre da o mesmo problema

  • Membros Pro
Postado

bom dia, d

Em 18/10/2023 at 10:52, Daniel Simoes disse:

Tente fazer como ADM mudando OperacaoADM=122, pois nesse caso, o ACBrTEFD não tentará tratar fazer as validações de pagamento

Bom dia, Dessa forma funcionou, porem pela minha aplicação esta dando uma mensagem de solicitação de parcelas, mas pelo Demo não esta dando essa mensagem, estou fazendo a verificação de onde possa esta ocorrendo o problema

  • Membros Pro
Postado

Não, no meu caso a minha aplicação a requisição o QtdParcelas está restornando = 1, gerando uma mensagem de alerta.

Mas quando eu faço pelo Demo esse problema não ocorre

  • Membros Pro
Postado

Não, no meu caso a minha aplicação a requisição o QtdParcelas está restornando = 1, gerando uma mensagem de alerta.

O problema esta neste bloco no ACBrTEFCliSitefComum

// leitura de parcelas conforme nova documentação
    // 141 e 142 foram removidos em Setembro de 2014
    Parcelas.Clear;
    if (QtdParcelas > 0) then
    begin
      wValParc := RoundABNT((ValorTotal / QtdParcelas), -2);
      wTotalParc := 0;

      for I := 1 to QtdParcelas do
      begin
        Parc := TACBrTEFRespParcela.Create;
        if I = 1 then
        begin
          Parc.Vencimento := LeInformacao(140, I).AsDate;
          Parc.Valor := LeInformacao(524, I).AsFloat;
        end
        else
        begin
          Parc.Vencimento := IncDay(LeInformacao(140, I).AsDate, LeInformacao(508, I).AsInteger);
          Parc.Valor := LeInformacao(525, I).AsFloat;
        end;

        // caso não retorne os dados acima prencher com os defaults
        if Trim(Parc.NSUParcela) = '' then
          Parc.NSUParcela := NSU;

        if Parc.Vencimento <= 0 then
          Parc.Vencimento := IncDay(DataHoraTransacaoHost, I * 30);

        if Parc.Valor <= 0 then
        begin
          if (I = QtdParcelas) then
            wValParc := ValorTotal - wTotalParc
          else
            wTotalParc := wTotalParc + wValParc;

          Parc.Valor := wValParc;
        end;

        Parcelas.Add(Parc);
      end;
    end;

O QtdParcelas esta retornando 1 porem as outras infromações adicionais estão retornando vazio como por exemplo o

oLeInformacao(140, I).AsDate, assim dando erro 

  • Fundadores
Postado

Realmente a biblioteca responde como se houvesse uma parcela

Citar

-- 19/10 15:59:18:783 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 505 Buffer = 01 Tam.Min = 0 Tam.Max = 0

Poderíamos fazer algum WorkAround nos fontes do ACBr... mas parece ser um erro no retorno deles...

Eu precisaria de um Log com um parcelamento válido, para saber qual outra informação poderia ser usada, para desprezar o campo 505

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado

Bom dia, para o Sled não gera parcelas. 

Por exemplo sobrou o troco de 20,00 ele valor é lançado uma única vez, lançando sempre o valor do troco total.

não sei o motivo que está retornando essa parcela 1, mas 

  • 2 semanas depois ...
×
×
  • 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.