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) | 
