Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Olá pessoal estou de volta aos foruns do ACBr depois de um tempão sumido! :)

Galera e em especial Sr. Daniel, gostaria de saber se alguém tem a receita do bolo para uso do ACBrTEFD+MultiplosCartões?

Estou usando a mais rescente versão do ACBrTEFD, configuro tudo para multilpos cartões mas, não esta funcionando.

Veja os passos:

1- Efetuo a Venda (R$100,00)

2- Subtotalizo a Venda (Total: R$100,00)

3- Efetuo um pagamento em dinheiro no valor de R$20,00

ACBrECF1.EfetuaPagamento( '01', 20.00, '' , false );

4- Efetuo um pagamento em cartão no valor de R$40,00

ACBrTEFD1.Inicializar(TACBrTEFDTipo(ecfTEFTipo));

ecfTEFUsouCartao := ACBrTEFD1.CRT( 40.00, '02', ACBrECF1.NumCOO);

ACBrTEFD1.DesInicializar(TACBrTEFDTipo(ecfTEFTipo));

--->Até aqui todo bem e falta somente R$40,00

5- Efetuo um novo pagamento no valor de R$40,00 com outro cartão

ACBrTEFD1.Inicializar(TACBrTEFDTipo(ecfTEFTipo));

ecfTEFUsouCartao := ACBrTEFD1.CRT( 40.00, '02', ACBrECF1.NumCOO);

ACBrTEFD1.DesInicializar(TACBrTEFDTipo(ecfTEFTipo));

--->Aqui acontece um ERRO, ao invés de prosseguir o pagamento, O cupom é cancelado.

quando vou Conectar novamente no ACBrTEFD ele avisa que tem Transações Pendentes.

Então o que estou fazendo errado?

Como devo proceder para usar multiplos cartões?

Vejam o código abaixo:

ACBrTEFD1.Inicializar(TACBrTEFDTipo(ecfTEFTipo));

ecfTEFUsouCartao := ACBrTEFD1.CRT( 40.00, '02' ACBrECF1.NumCOO);

ACBrTEFD1.DesInicializar(TACBrTEFDTipo(ecfTEFTipo));

:::>Faço esses procedimento quantas vezes forem necessárias até que a soma dos valores Pagos sejam igual ao Total a Pagar. no meu exemplo acima efetuo esse procedimento nos passos 4 e 5.

PS: ecfTEFTipo é uma variavel que recebe os valores: {0=NãoUsaTef;1=TefDial;2=TefDisc;3=HiperTef;4=CliSiTef;5=TefGpu;6=VeSPague} no meu caso uso mais o 1 e 3

B_7St5x2XsnXSyx9R4iNEmoSRQdLEBMhwnIv9KNgI6FJa1xGANyIyUn2QkuqAYpDFJ2dQb-WfsiFmSUbXBPMz1PMkA=s512
  • Consultores
Postado

Você não deve ficar "inicializando" e "desinicializando" não. Remove esses métodos aí e testa. Não sei se vai corrigir, mas vai ficar mais rápido. hehehe

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado

ACBrTEFD1.Inicializar(TACBrTEFDTipo(ecfTEFTipo));

ecfTEFUsouCartao := ACBrTEFD1.CRT( 40.00, '02' ACBrECF1.NumCOO);

ACBrTEFD1.DesInicializar(TACBrTEFDTipo(ecfTEFTipo));

Amigo eu uso o código acima, porque foi a única forma que achei para efetuar venda com operadoras diferentes, por exemplo:

Se eu vender no Cartão usando VISANET e depois tentar fazer uma nova venda usando o HIPERCARD não estava funcionando

ou seja, se eu vender como visa net tenho que sair do sistema e entrar novamente para poder vende para HIPERCARD.

Pelo menos não achei outra forma. e isso mesmo usando multi-cartões, também não funciona.

B_7St5x2XsnXSyx9R4iNEmoSRQdLEBMhwnIv9KNgI6FJa1xGANyIyUn2QkuqAYpDFJ2dQb-WfsiFmSUbXBPMz1PMkA=s512
Postado

Olá pessoal fiz algumas mudanças e acho que deu certo agora.

Ao invés de usar:

ACBrTEFD1.Inicializar(TACBrTEFDTipo(ecfTEFTipo));

ecfTEFUsouCartao := ACBrTEFD1.CRT( 40.00, '02' ACBrECF1.NumCOO);

ACBrTEFD1.DesInicializar(TACBrTEFDTipo(ecfTEFTipo));

Agora eu inicializo o TEF na inicialização do sistema.

Nas vendas agora faço assim:

ACBrTEFD1.ATV(TACBrTEFDTipo(ecfTEFTipo));

ACBrTEFD1.CRT( ValorPago, '02', ACBrECF1.NumCOO);

Isso antes de cada pagamento com cartão.

Mas, agora a questão é, será que vai funcionar quando por exemplo eu mudar da VISANET para HIPERCARD por exemplo.

Porque o cliente pode pagar com 2 cartões um Visa e o outro HiperCard.

Bom amanhã vou num cliente testar. depois eu vou postar aqui.

B_7St5x2XsnXSyx9R4iNEmoSRQdLEBMhwnIv9KNgI6FJa1xGANyIyUn2QkuqAYpDFJ2dQb-WfsiFmSUbXBPMz1PMkA=s512
  • Fundadores
Postado

A ideia do TEFD foi justamente esta... ele parece ser o único componente existente para TEF que comporta simultaneamente Multiplos GPs...

Cada classe utilizada é instanciada na criação, do componente... Ou seja, SIM, vc poderia usar TEF_DIAL e TEF_HIPER na mesma transação...

(mas isso nunca será testado pelas homologadoras)

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.

Postado

Eu inicializo antes do CRT, de acordo com a rede que pego a partir da forma de pagamento, e desinicializo ao final da impressão dos comprovantes.

Na abertura do PDV eu faço um loop para inicializar e desinializar cada rede (que esteja cadastrada no meu banco) para poder tratar as transações pendentes.

Só limitei em duas transações TEF + dinheiro, para evitar problemas na homologação.

Márcio D. Carvalho

Márcio D. Carvalho

  • Este tópico foi criado há 4926 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.