Ir para conteúdo
  • Cadastre-se

dev botao

ACBrTEFDCliSitef + Cartão SigaCred


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

Recommended Posts

  • Membros Pro

Boa tarde pessoal,

Estamos tentando implementar o recebimento de fatura do cartão SigaCred no nosso PDV com o módulo da SigaCred disponibilizado pela Software Express. Instalamos o módulo e adicionamos as configurações adicionais e entramos no fluxo do TEF. Conseguimos enviar todos os dados da referida fatura. Mas não é pedido no fluxo as informações do pagamento. Em contato desde hoje de manhã com a Software Express, conseguimos a informação de que a maneira como este pagamento é realizado é desvinculado do fluxo da fatura, ou seja, temos que efetuar uma nova chamada para a função 'IniciaFuncaoSiTefInterativo' com os mesmos dados que obtivemos os dados da fatura, informando o código da forma de pagamento que escolhemos para finalizar corretamente a transação(Acredito que a função 1/2/3 - Especificação Técnica - Página 10- Versão 127).

Estive analisando o source da unit 'ACBrTEFDCliSiTef', e na chamada da função 'FazerRequisicao' temos o source com os respectivos dados que precisamos enviar com um código de função diferente no caso:

Result := xIniciaFuncaoSiTefInterativo( Funcao,
                                           PAnsiChar( ValorStr ),
                                           PAnsiChar( Documento ),
                                           PAnsiChar( DataStr ),
                                           PAnsiChar( HoraStr ),
                                           PAnsiChar( fOperador ),
                                           PAnsiChar( ListaRestricoes ) ) ;

Mas desconheço o modo de efetuar esta chamada, utilizando o componente ACBrTEFD.

Gostaria da ajuda de vocês. Desde já agradeço.

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Ela não foi programada para ser chamada diretamente... vc poderia usar um ADM ou CHQ, e informar a operação que deseja em "OperacaoADM" ou "OperacaoCHQ"

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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Daniel, bom dia.

Estava debugando os dados de entrada para  a função citada acima:

xIniciaFuncaoSiTefInterativo

Eu tenho que enviar no caso o mesmo número do documento para que o TEF associe com os dados da fatura, no caso o terceiro parâmetro de entrada. Não estou encontrando onde o mesmo é guardado para eu poder capturar e ao abrir o próximo fluxo informar novamente o mesmo Documento.

    with ACBrTEFD.TEFCliSiTef do
    begin
      OperacaoADM := 313; //Pagamento de conta genérico
      with ParametrosAdicionais do
      begin
        Clear;
        Add('1:3000;');
      end;
      ADM;
    end;

Estou tentando efetuar um teste simples em dinheiro de R$ 30,00.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Ligue no ACBrTEFD, o Log em modo Debug... Será gravado no Log, todas as informações retornadas pelo SiTef, com os respectivos códigos de índice..

  • Curtir 1
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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Daniel, um dos nossos clientes pediu para pagar fatura do cartão SIGACRED pelo PDV, conforme a abertura do chamado no fórum, entramos na opção de "Pagamento de Fatura SigaCred" e seguimos o fluxo do TEF, conforme o ACBrTEFD nos informa. O pessoal da Software Express insiste que o pagamento é desvinculado e temos que informar em separado, estamos nessa faz uma semana. Pelo fluxo que nos é passado, temos:

- Informa Valor Total
- Tipo do Cartão(Magnético/Digitado) -> Seria um cartão SIGACRED
- Opção do menu "Pagamento de Fatura"
- Número da fatura referente ao cartão SIGACRED que foi identificado acima

Só que assim que informamos o número da fatura, já entra no processo:

Aguarde, em processamento...(35)

Em seguida:

Transacao OK

E já temos a impressão dos relatórios gerenciais referentes ao código 121 e 122 e a transação é CONFIRMADA.

Pelo log, analisamos que a forma em que foi paga a fatura, foi:

-- 09/09 09:37:51:345 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 100 Buffer = 9900 Tam.Min = 0 Tam.Max = 0
-- 09/09 09:37:51:345 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 09/09 09:37:51:347 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 101 Buffer = Outro Tam.Min = 0 Tam.Max = 0
-- 09/09 09:37:51:347 - ContinuaFuncaoSiTefInterativo, Chamando: Continua = 0 Buffer = 
-- 09/09 09:37:51:349 - ContinuaFuncaoSiTefInterativo, Retornos: STS = 10000 ProximoComando = 0 TipoCampo = 102 Buffer = Outro Tam.Min = 0 Tam.Max = 0

Só que em nenhum momento do fluxo, informamos ou até mesmo foi pedido a forma de recebimento do PDV em que foi recebida esta fatura.

Estou anexando o log completo do fluxo e também o arquivo da transação pendente. Se puder nos ajudar em alguma sugestão, seria de grande auxílio.

Desde já agradeço.

Teste-Implantação-SIGACRED.TXT

TEF-Dados-SIGACRED.TXT

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

No caso, no fluxo enviamos as informações da identificação do cartão e da fatura que queremos pagar da SIGACRED. Em seguida, de acordo com um contato com a Software Express, após o procedimento do fluxo teríamos que informar a forma de recebimento em que foi efetuado este pagamento de fatura.

Por exemplo, no fluxo acima, inserimos um cartão SIGACRED e informamos o número da fatura do mesmo. Em seguida, em algum momento teríamos que informar a forma de recebimento utilizada no caixa(no caso do PDV) para controle financeiro nosso.

No TipoCampo 100, que seria a forma utilizada por nós para quitar a fatura, está indo sempre 9900, ou seja, 'Outro tipo de Cartão' e 'Á vista', mas em nenhum momento no fluxo, foi perguntado para inserirmos estes dados.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mas o "100-000 = 9900", é algo que o SiTef está devolvendo para você... referente a transação que ele acabou de realizar...

Pelo que você descreveu, você deveria iniciar um novo comando (ver manual), enviando a maneira de pagamento...

 

 

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.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Eu recebi esta documentação deles na página 3 fala sobre o fluxo seguido pelo ACBrTEFD, depois não encontrei mais nada a respeito de como efetuar o pagamento. Algo que percebi é que na tabela está no final "Retorna os serviços: D, I, H e Z.", não sei se ajuda em algo.

Interface PDV_SigaCred.doc

Editado por Intelliware
Link para o comentário
Compartilhar em outros sites

  • Consultores

Olá, 

Utilizo algo parecido para efetuar recebimento de Correspondente Bancário. Acho que pode ajudar:

Para iniciar a transação, altero a operação CHQ para '312' (Consulta Pagamento Genérico). Após informar todos os dados dessa transação, o SiTEF aguarda o pagamento, então eu chamo novamente o CHQ, porém dessa vez com Operação '313' (Pagamento Genérico), informando os dados do pagamento em "ACBrTEFD1.TEFCliSiTef.Restricoes"

Segue um trecho do código para exemplo:
 

  // Altera OperacaoCHQ para "Consulta Pagamento Genérico" 
  ACBrTEFD1.TEFCliSiTef.OperacaoCHQ := 312; 

  // Chama SiTEF informando valor zero no CHQ para pular "VerificarTransacaoPagamento" 
  ACBrTEFD1.CHQ(0, '00|CB', IntToStr(wDocumento));

  // Pega valor à ser pago 
  wValorStr := ACBrTEFD1.RespostasPendentes[ACBrTEFD1.RespostasPendentes.Count-1].LeInformacao(609).AsString;

  // Nesse momento deve ser efetuado o pagamento no Caixa... 

  // Chamando o SiTEF para confirmar o Pagto. (Utilizando Dinheiro) 
  // Usa property Restricoes(ParamAdic.) para enviar Dados do Pagamento 
  ACBrTEFD1.TEFCliSiTef.Restricoes  := '{DadosPagamento=1:'+wValorStr+'}';

  // Altera OperacaoCHQ para "Pagamento Genérico" 
  ACBrTEFD1.TEFCliSiTef.OperacaoCHQ := 313;

  // Chama SiTEF novamente, com o mesmo Documento Vinculado(Nesse caso o COO da venda) 
  ACBrTEFD1.CHQ(0, '00|CB', IntToStr(wDocumento));

 

  • Curtir 5
Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Administradores

Bom dia.

Este tópico é muito antigo e por isso será fechado, favor criar um novo.

Att.

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2069 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...