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