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.
Campo | Tamanho | Descrição |
---|---|---|
CodigoInformacao | 3N | • [ 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.
Campo | Tamanho | Descrição |
---|---|---|
pPathCupons | A | Ponteiro que recebe o retorno do path completo do diretório de cupons em caso de sucesso. Exemplo: C:\ClientLinxTEF\Cupons |
iPathLength | 03N | Tamanho 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.
Campo | Tamanho | Descrição |
---|---|---|
pEmpresa | 04N | Ponteiro que recebe o retorno do numero da empresa em caso de sucesso. |
pLoja | 04N | Ponteiro que recebe o retorno do numero da loja em caso de sucesso. |
pPDV | 04N | Ponteiro que recebe o retorno do numero do PDV em caso de sucesso. |
pCNPJ | 03N | Ponteiro que recebe o retorno do numero do CNPJ em caso de sucesso. |
pIPServidor | A | Ponteiro que recebe o retorno do IP do servidor em caso de sucesso. |
ilpLength | 03N | Tamanho do buffer pIPServidor em bytes |
pPorta | 05N | Ponteiro 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.
Campo | Tamanho | Descrição |
---|---|---|
pCNPJ | 14N | Ponteiro que contém o número do CNPJ para realizar a coleta do código de Empresa e Loja. |
pCodigoEmrpesa | 04N | Ponteiro que recebe o retorno do numero da empresa em caso de sucesso. |
pCodigoLoja | 04N | Ponteiro 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.
Campo | Transação | Descrição |
---|---|---|
NumeroEmpresa | 04N | Número da empresa |
NumeroLoja | 6N | Número da Loja |
NumeroPDV | 4N | Número do PDV |
Solicitacao | Para 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 | |
Resposta | 02N | Código de resposta |
MensagemErro | 20A | Mensagem 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.
Campo | Tamanho | Descrição |
---|---|---|
NumeroEmpresa | 4N | Número da empresa |
NumeroLoja | 6N | Número da Loja |
NumeroPDV | 4N | Número do PDV |
Solicitacao | Para 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 | |
Resposta | 02N | Código de resposta |
MensagemErro | 20A | Mensagem 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ção | Tamanho | Observação |
---|---|---|
ValorTransacao | 12N | 10 inteiros 2 decimais |
NumeroCupom | 06N | Número do cupom (Fiscal ou não fiscal) |
NumeroControle | 06N | NSU (número sequencial único) |
TipoOperacao | 01N | [1] Nacional; [2] Internacional |
DocEmissor | 11A | Número do Documento do Emissor (CPF ou passaporte) |
PermiteAlteracao | 01A | [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ção | Descrição | Formato | Observações |
---|---|---|---|
001-020 | Nome do Fabricante | A20 | |
021-039 | Modelo / versão do hardware | A19 | Formato “xxx...xxx;mmm”, onde “xxxx” é o nome do equipamento e “mmm” a capacidade de memória (“512KB”, “1MB”, “2MB”, ...) |
040 | Se o pinpad suporta cartão com chip sem contato | A1 | Este campo deve conter a letra “C”, caso contrário um espaço em branco |
041-060 | Versão do software básico/firmware | A20 | Formato livre |
061-064 | Versão da especificação | A4 | Formato “V.VV” (neste caso, fixo “1.08”) |
065-080 | Versão da aplicação básica | A16 | Formato “VVV.VV AAMMDD” (com 3 espaços à direita) |
081-100 | Número de série do pinpad | A20 | Com espaços à direita |