Inicialização do Módulo TEF Stone
A função InicializaDPOS deve ser executada em cada abertura de dia de movimento (dia fiscal), servindo para indicar à DLL do sistema TEF que os processos de inicialização de dia devem ser realizados.
int DIRETIVA_CALLBACK InicializaDPOS()
Finalização do Módulo TEF Stone
A função FinalizaDPOS deve ser executada em cada fechamento de dia de movimento (dia fiscal), servindo para indicar à DLL do sistema TEF que os processos de finalização de dia devem ser realizados.
int DIRETIVA_CALLBACK FinalizaDPOS()
Identificar Automação comercial:
O PDV deverá realizar chamada à função IdentificacaoAutomacaoComercial toda vez que for inicializado.
int DIRETIVA_CALLBACK IdentificacaoAutomacaoComercial(char *pNomeAutomacao, char *pVersaoAutomacao,
char *pReservado)
Campo | Tamanho | Descrição |
---|---|---|
NomeAutomacao | 20A | Nome (Fabricante) da automação |
VersaoAutomacao | 20A | Versão da automação |
Reservado | 256A | Campo reservado. O segundo byte informa se a automação está integrada com QR Code ('1' se sim, '0' se não). O terceiro byte informa se, durante uma transação de cancelamento, trata-se de cancelamento de QR Code ('1' se sim, '0' se não) |
Configurando desfazimento
A função ConfiguraModoDesfazimento
, que permite que a automação determine o modo no qual o client TEF deverá proceder, através do argumento iModoDesfazimento
. Os valores que podem ser passados no argumento são os seguintes:
Valor | Modo | Descrição |
---|---|---|
0 | Automático | Modo atualmente utilizado, onde o desfazimento é realizado através da chamada da função FinalizaTransacao (default) |
1 | Explícito | As transações são desfeitas somente se for chamada a função DesfazCartao (exceto no caso de queda de energia) |
int DIRETIVA_CALLBACK ConfiguraModoDesfazimento(int iModoDesfazimento)
Abaixo são apresentados os passos de uma venda considerando a utilização do modo explícito:
Passos: | Realizador por: Automação comercial | Realizados por: TEF Client |
---|---|---|
1 | Automação é inicializada | - |
1.1 | Automação verifica a versão do client através da função VersaoDPOS para certificar-se de que o client instalado possui a função ConfiguraModoDesfazimento | - |
1.2 | Se sim, automação configura o modo de desfazimento para o modo explícito através da função ConfiguraModoDesfazimento | Inicializa o modo de desfazimento para o modo solicitado pelo automação |
1.3 | Verifica se houve queda de energia e se tem transações TEF pendentes da última venda | |
1.4 | Se sim, informa ao client através da função DefineParametroTransacao (parâmetro 1021) a ocorrência de queda de energia e realiza chamada à função FinalizaTransacao | - |
1.5 | - | Se a automação indicar a ocorrência de queda de energia, faz o desfazimento das transações pendentes da última venda |
2 | Inicia a venda ao consumidor final | - |
3 | Seleciona a forma de pagamento TEF | - |
3.1 | Faz chamada a função do TEF de acordo com o tipo da transação selecionada(crédido, débito, voucher, frota, ...) | - |
3.2 | - | Executa a transação de pagamento TEF |
3.3 | - | Se aprovada, retorna sucesso e o comprovante para a automação, senão retorna erro |
4 | Faz as devidas validações e contabiliza o pagamento | |
4.1 | Se o pagamento for parcial, volta para o passo (3) | |
4.2 | Se a transação não for autorizado ou se for autorizada, mas houver alguma inconsistência em relação a solicitação, não contabiliza e volta para o passo (3) | |
5 | No final da venda, após realizar o pagamento do valor total, emite os comprovantes e solicita ao TEF a confirmação (função ConfirmaCartao) das transações contabilizadas e o desfazimento (função DesfazCartao ) das transações não contabilizadas (não confirmadas) | |
5.1 | Realiza a confirmação das transações solicitadas pelo automação | |
5.2 | Realiza o desfazimento das transações solicitadas pelo automação | |
6 | Após confirmar ou desfazer as transações, finaliza a venda junto ao TEF através da função FinalizaTransacao | Limpa a lista de transações realizadas na venda |
7 | Volta para o passo (2) |