Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3031 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 pessoal,

    Estamos implementando correspondente bancário no nosso PDV. O componente ACBrTEF efetua todo o fluxo normalmente.

    Utilizamos o módulo SitCorban SE da instituição bancária Tribanco e o SitDemo 6.0.0.3.

    No momento, temos algumas dúvidas:

1) No caso do fluxo do TEF, quando entramos em pagamento de conta, digitamos os referidos valores que são pedidos para o primeiro boleto(valor de R$ 120,00). Após este procedimento aparece a mensagem conforme o segundo anexo abaixo.

    Se digitamos mais um boleto no valor de R$250,00, finalizamos o processo com o valor total de R$370,00. Na transação do TEF, observamos que no arquivo de resposta contêm apenas dados do último boleto, embora no arquivo do TEF apareça nos campos 121 e 607 indicação que temos dois boletos. Isso é o correto mesmo? Conforme o primeiro arquivo em anexo abaixo.

    Este questionamento se refere ao fato que estávamos pensando em obter todos os dados dos boletos apartir da resposta pendente do TEF, mas pelo que tenho de retorno, acredito que vamos ter que manipular os dados de todos os boletos inseridos apartir do evento 'TEFCliSiTefObtemCampo' de acordo com os valores da variável 'TipoCampo'.

2) Em relação ao troco, no caso do correspondente bancário, existe algum campo que retorne esta informação ou este é um tratamento que nós da automação que fazemos?

    Tentamos comunicação com a Software Express, mas até o momento não obtivemos nenhum retorno.

    Gostaríamos de saber se alguém já realizou esta implementação e poderia por gentileza nos esclarecer estes pontos.

    Desde já agradeço.

pagamento-boleto1.png

ACBr_CliSiTef_001.tef

  • Fundadores
Postado

Encontramos uma falha na coleta do Log do ACBrTEFD, que causa o erro de somente o último pagamento ser retornado pelo ACBrTEFD... Já estamos analisando a melhor maneira de corrigir o problema...

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

  • Consultores
Postado

Correção do problema está disponível no SVN: [12012]
Após alteração o componente irá armazenar as informações de cada boleto separadamente.
 

  • Curtir 2
Consultor SAC ACBr

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

 
  • 2 semanas depois ...
  • Membros Pro
Postado

Bom dia Daniel e Elias. Estamos terminando o lançamento de uma versão e já vou partir para os testes com a correção. Qualquer dúvida posto aqui. Desde já agradeço.

  • Membros Pro
Postado

Bom dia,

Estava efetuando alguns testes e estou tentando recuperar os dados, através da seguinte linha de código:

ACBrTEFD.RespostasPendentes[i].CorrespBancarios

Pela linha acima, a IDE do Delphi me mostra a opção 'TotalTitulos' e 'TotalTitulosNaoPago' normalmente, mas analisando o source do repositório, não aparece para mim, as opções:

CB.DataVencimento  := LeInformacao(600, wNumCB).AsDate;    { Data Vencimento do título - CB }
CB.ValorPago       := LeInformacao(601, wNumCB).AsFloat;   { Valor Pago do título - CB }
CB.ValorOriginal   := LeInformacao(602, wNumCB).AsFloat;   { Valor Original do título - CB }
CB.Acrescimo       := LeInformacao(603, wNumCB).AsFloat;   { Valor do Acréscimo - CB }
CB.Desconto        := LeInformacao(604, wNumCB).AsFloat;   { Valor do Desconto - CB }
CB.DataPagamento   := LeInformacao(605, wNumCB).AsDate;    { Data contábil do Pagamento - CB }
CB.NSUTransacaoCB  := LeInformacao(611, wNumCB).AsString;  { NSU da Transação CB }
CB.TipoDocumento   := LeInformacao(612, wNumCB).AsInteger; { Tipo Docto CB - 0:Arrecadação/ 1:Título/ 2:Tributo }
CB.NSUCancelamento := LeInformacao(623, wNumCB).AsString;  { NSU para cancelamento - CB }
CB.Documento       := LeInformacao(624, wNumCB).AsString;  { Linha Digitável/Código de Barras do documento pago}

Estou utilizando a classe correta? Ou eu teria que obter os valores de outro modo? Desde já agradeço.

  • Membros Pro
Postado

Boa tarde, no caso de passarmos um valor acima que o valor a ser pago, exemplo:

Boleto: R$80,00
Recebido: R$100,00

Troco:R$20,00

Pelo debug verifiquei que na unit 'ACBrTEFDCliSiTef.pas' na linha 1304, no source:

22 :
   begin
       if Mensagem = '' then
          Mensagem := CACBrTEFD_CliSiTef_PressioneEnter;

       DoExibeMsg( opmOK, Mensagem );
   end ;

Temos o retorno 'Troco: 20,00' exibido em tela.

Haveria algum modo de disponibilizar este valor para a aplicação para ser posteriormente guardado no banco de dados?

  • Fundadores
Postado

Não sei se compreendi a pergunta... (talvez você esteja fazendo correspondente bancário com 300 e informando os pagamentos no próprio SiTef)

O trecho de código acima, é para exibição genérica de mensagens... Ligue o Log em modo Debug e analise todos os campos retornados pelo SiTef

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

Exato Daniel, estou utilizando a seguinte instrução para habilitar o correspondente:

ACBrTEFD.TEFCliSiTef.OperacaoADM := 310;

Vou verificar no log se temos algum campo que retorne o troco neste caso. Agradeço.

  • Consultores
Postado

Nós utilizamos os comandos 312 e 313 que seriam de Pagamento Genérico.
- 312: Consulta para Pagamento Desvinculado (Genérico);
- 313: Pagamento Desvinculado (Genérico).

Basicamente funciona da seguinte forma:
- Chama comando 312 (Informa os Documentos a serem pagos);
- SiTef retorna valor no TipoCampo 609;
- Efetua os pagamentos em seu sistema;
- Chama comando 313 informando a Forma de Pagamento utilizada;

Dessa forma a parte de pagamento fica desvinculada do SiTef.

Esse manual explica detalhadamente como utilizar dessa maneira.

Interface Simplificada com a aplicação - Pagamento Genérico.pdf

  • Curtir 1
Consultor SAC ACBr

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

 
  • Membros Pro
Postado (editado)

Boa tarde,

Ainda dentro do correspondente bancário, observei o Daniel reportando em outro tópico que ao informar o código de barras, temos que utilizar o 0 ou 1, na frente do mesmo ao enviar para o fluxo do TEF. Pelo que li nos manuais, seria 0 para indicar que foi digitado e 1 para indicar que foi utilizado um scanner para ler a informação.

Infelizmente não entendi, qual seria a utilidade da distinção deste tipo de processo. Nos meus testes estou utilizando 0 sempre. Enviei um e-mail para a Software Express e ainda não recebi retorno.

Estou dando continuidade dentro deste tópico, caso seja necessário abro outro. Desde já agradeço.

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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