Função para obtenção de informações de transação corrente:

A função ObtemInformacaoTransacaoCorrente deve ser utilizada para a obtenção de informações da transação corrente.

int DIRETIVA_CALLBACK ObtemInformacaoTransacaoCorrente(int iCodigoInformacao, 
    char *pValorInformacao)

Os campos das funções estão abaixo caracterizados.

CampoTamanhoDescrição
CodigoInformacao3N• [ 2 ] BIN do cartão (6 primeiros dígitos).

• [ 3 ] Valor da transação em centavos.

• [ 12 ] Código da transação.

• [ 25 ] Código da rede.

• [ 334 ] Código da bandeira.

• [ 899 ] Nome da bandeira.

• [ 950 ] Nome da rede.

Função para obter o caminho do diretório de cupons TEF

A função ObtemPathCupons deve ser utilizada para obter o path onde o TEF salvará os cupons ao final de cada transação.

int DIRETIVA_CALLBACK ObtemPathCupons(char *pPathCupons, int iPathLength)

Os campos estão abaixo caracterizados.

CampoTamanhoDescrição
pPathCuponsAPonteiro que recebe o retorno do path completo do diretório de cupons em caso de sucesso. Exemplo: C:\ClientLinxTEF\Cupons
iPathLength03NTamanho do buffer pPathCupons em bytes

Função para obter a Empresa, Loja, PDV, IP e Porta do servidor TEF configurados no client.

A função ObtemDadosConfigurados deve ser chamada sempre que a automação comercial necessitar recuperar os dados configurados no client. O método retornará os dados de Empresa, Loja, CNPJ, IP e Porta do servidor TEF.

int DIRETIVA_CALLBACK ObtemDadosConfigurados(char *pEmpresa, char *pLoja, char *pPDV, char *pCNPJ, char *pIPServidor,
                                             int iIpLength, char *pPorta)

Os campos estão abaixo caracterizados.

CampoTamanhoDescrição
pEmpresa04NPonteiro que recebe o retorno do numero da empresa em caso de sucesso.
pLoja04NPonteiro que recebe o retorno do numero da loja em caso de sucesso.
pPDV04NPonteiro que recebe o retorno do numero do PDV em caso de sucesso.
pCNPJ03NPonteiro que recebe o retorno do numero do CNPJ em caso de sucesso.
pIPServidorAPonteiro que recebe o retorno do IP do servidor em caso de sucesso.
ilpLength03NTamanho do buffer pIPServidor em bytes
pPorta05NPonteiro que recebe o retorno da porta do servidor em caso de sucesso.

Função para obter a Empresa e Loja retornados do TEF.

A função ObtemDadosEmpresaLojaTEF deve ser chamada sempre que a automação comercial necessitar coletar os dados de Empresa e Loja do TEF. O método retornará os dados de Empresa e Loja a partir do CNPJ informado.

int DIRETIVA_CALLBACK ObtemDadosEmpresaLojaTEF(char *pCNPJ, char *pCodigoEmpresa, char *pCodigoLoja)

Os campos estão abaixo caracterizados.

CampoTamanhoDescrição
pCNPJ14NPonteiro que contém o número do CNPJ para realizar a coleta do código de Empresa e Loja.
pCodigoEmrpesa04NPonteiro que recebe o retorno do numero da empresa em caso de sucesso.
pCodigoLoja04NPonteiro que recebe o retorno do numero da loja em caso de sucesso.

Função para obter a Empresa e Loja retornados do TEF.

A função ConsultaTransacao deve ser utilizada pela automação para consultar o status das transações.

int DIRETIVA_CALLBACK ConsultaTransacao(char *pNumeroEmpresa, char *pNumeroLoja, 
    char *pNumeroPDV, char *pSolicitacao, char *pResposta, char *pMensagemErro)

Os parâmetros da função estão abaixo caracterizados.

CampoTransaçãoDescrição
NumeroEmpresa04NNúmero da empresa
NumeroLoja6NNúmero da Loja
NumeroPDV4NNúmero do PDV
SolicitacaoPara realizar a consulta deverá então ser informada a data e o NSU da transação. No retorno, a estrutura será preenchida com os valores gravados na base de dados. A estrutura da solicitação quanto da resposta é a que segue:

• [ Data ] 8 N •

[ NSU ] 6 N

• [ Cupom ] 6 N

• [ Status ] 2 N - Indica se a transação está pendente. Uma transação pendente estará com o valor "77".

• [ CodigoResposta ] 4 N

• [ Valor ] 12 N - 10 Decimais e 2 Inteiros

• [ CodigoRede ] 4 N

• [ CodigoBandeira ] 4 N

• [ CodigoTransacao ] 4 N

• [ NumeroCartao ] 20 N

• [ Reservado ] 32 A
Resposta02NCódigo de resposta
MensagemErro20AMensagem de erro

Função para consultar status das transações pela automação

A função ConsultaTransacao deve ser utilizada pela automação para consultar o status das transações.

int DIRETIVA_CALLBACK ConsultaTransacao(char *pNumeroEmpresa, char *pNumeroLoja, 
    char *pNumeroPDV, char *pSolicitacao, char *pResposta, char *pMensagemErro)

Os parâmetros da função estão abaixo caracterizados.

CampoTamanhoDescrição
NumeroEmpresa4NNúmero da empresa
NumeroLoja6NNúmero da Loja
NumeroPDV4NNúmero do PDV
SolicitacaoPara realizar a consulta deverá então ser informada a data e o NSU da transação. No retorno, a estrutura será preenchida com os valores gravados na base de dados. A estrutura da solicitação quando da resposta é a que segue:

• [ Data ] 8 N •

[ NSU ] 6 N

• [ Cupom ] 6 N

• [ Status ] 2 N - Indica se a transação está pendente. Uma transação pendente estará com o valor "77".

• [ CodigoResposta ] 4 N

• [ Valor ] 12 N - 10 Decimais e 2 Inteiros

• [ CodigoRede ] 4 N

• [ CodigoBandeira ] 4 N

• [ CodigoTransacao ] 4 N

• [ NumeroCartao ] 20 N

• [ Reservado ] 32 A
Resposta02NCódigo de resposta
MensagemErro20AMensagem de erro

Transação Consulta Cadastro CPF Completa

Quando a automação comercial necessitar de verificação dos destinatários de um emissor deve ser usada a solicitação de transação de consulta de cadastro CPF completa, através da chamada à função TransacaoConsultaCadastroCPFCompleta. Os parâmetros destas funções são os seguintes:

ValorTransacao
NumeroCupom
NumeroControle
TipoOperacao
DocEmissor
PermiteAlteracao
Reservado (_)

int DIRETIVA_CALLBACK TransacaoConsultaCadastroCPFCompleta(char *pValorTransacao, char *pNumeroCupom,
                                                           char *pNumeroControle, char *pTipoOperacao,
                                                           char *pDocEmissor, char *pPermiteAlteracao,
                                                           char *pReservado)

O preenchimento dos parâmetros indicados com (_) é opcional. Caso o sistema de automação não possua estas informações, devem ser preenchidos com zeros ou espaços, conforme o tipo do campo.

Na resposta da chamada à função será preenchido o campo NumeroControle, o DocEmissor e será devolvido o status, indicando o resultado da transação.

[ 00 ] indica que não existiram restrições para a efetivação da transação.

[ 11 ] indica que existiram restrições para a efetivação da transação. O sistema de automação deve retornar à rotina de recebimento de valores, pois a transação solicitada não foi autorizada, não sendo válida como forma de pagamento.

O NumeroControle, incluído na resposta, deverá ser armazenado pelo sistema de automação, pois na função de confirmação este número será, obrigatoriamente, utilizado.

Caso a transação seja autorizada, será disponibilizado no diretório parametrizado para os cupons um arquivo contendo o comprovante da operação a ser impresso pela automação. O nome desse arquivo tem o formato NNNNNN.PPP, onde NNNNNN é o NumeroControle e PPP é o número do terminal configurado.

Os campos estão abaixo caracterizados.

DescriçãoTamanhoObservação
ValorTransacao12N10 inteiros 2 decimais
NumeroCupom06NNúmero do cupom (Fiscal ou não fiscal)
NumeroControle06NNSU (número sequencial único)
TipoOperacao01N[1] Nacional;
[2] Internacional
DocEmissor11ANúmero do Documento do Emissor (CPF ou passaporte)
PermiteAlteracao01A[S] Permite alterar valores informados (exceto ValorTransacao)
[N] Não permite alterar valores informados

Obter Identificação do PinPad

A função LeIdentificacaoPinpad deve ser chamada quando o automação comercial deseja obter as informações do pinpad, tais como: fabricante, modelo, versão, etc. Estes dados serão retornados no parâmetro pDados com o layout especificado abaixo:

int DIRETIVA_CALLBACK LeIdentificacaoPinPad(char *pDados)

PosiçãoDescriçãoFormatoObservações
001-020Nome do FabricanteA20
021-039Modelo / versão do hardwareA19Formato “xxx...xxx;mmm”, onde “xxxx” é o nome do equipamento e “mmm” a capacidade de memória (“512KB”, “1MB”, “2MB”, ...)
040Se o pinpad suporta cartão com chip sem contatoA1Este campo deve conter a letra “C”, caso contrário um espaço em branco
041-060Versão do software básico/firmwareA20Formato livre
061-064Versão da especificaçãoA4Formato “V.VV” (neste caso, fixo “1.08”)
065-080Versão da aplicação básicaA16Formato “VVV.VV AAMMDD” (com 3 espaços à direita)
081-100Número de série do pinpadA20Com espaços à direita