Funções de Confirmação e desfazimento de transações:
A função ConfirmaCartao é utilizada pelo sistema de automação para solicitar ao TEF Stone a confirmação de uma transação que foi aprovada.
int DIRETIVA_CALLBACK ConfirmaCartao(char *pNumeroControle)A função DesfazCartao é utilizada pelo sistema de automação para solicitar ao sistema TEF Stone o desfazimento de uma transação que foi aprovada.
int DIRETIVA_CALLBACK DesfazCartao(char *pNumeroControle)A função FinalizaTransacao é utilizada pelo sistema de automação para solicitar ao sistema TEF Stone a finalização da operação de venda. É necessário que a automação chame este método após a confirmação ou desfazimento da transação, para efetivação da ação selecionada anteriormente. O comportamento desta função dependerá do modo de desfazimento que estiver configurado pela função ConfirmaCartao.
int DIRETIVA_CALLBACK FinalizaTransacao()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) |
