Skip to content

Outras Transações

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

A função atualmente disponibilizada é:

int DIRETIVA_CALLBACK ObtemInformacaoTransacaoCorrente(int iCodigoInformacao, 
    char *pValorInformacao)

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

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.
pValorInformacao 1024A Valor da informação solicitada pelo codigo da informação fornecido.

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

A função atualmente disponibilizada é:

int DIRETIVA_CALLBACK ObtemPathCupons(char *pPathCupons, int iPathLength)

A função ObtemPathCupons deve ser utilizada para obter o path onde o Paykit salvará os cupons ao final de cada transação. Método disponível a partir da versão: 8.22.21.00 do paykit.

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 atualmente disponibilizada é:

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

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. Método disponível a partir da versão: 8.22.21.00 do paykit.

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 14N 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.
iIpLength 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 atualmente disponibilizada é:

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

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. Método disponível a partir da versão: 8.22.21.00 do paykit.

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.
pCodigoEmpresa 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.

Transação Pagamento Private Label Completa

int DIRETIVA_CALLBACK TransacaoPagamentoPrivateLabelCompleta(char *pValorTransacao, 
    char *pNumeroCupom, char *pNumeroControle, char *pIndicadorDigitacao, char *pCodigoBarras, 
    char *pNumeroCartao, char *pCodigoRede, char *pPermiteAlteracao, char *pReservado)

Quando a automação comercial necessitar fazer um pagamento de título deve ser usada a solicitação de transação de pagamento private label completa, através da chamada à função TransacaoPagamentoPrivateLabelCompleta.

Os campos estão abaixo caracterizados.

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
IndicadorDigitacao 01N [ 0 ] Código de Barras Lido

[ 1 ] Código de Barras digitado
CodigoBarras 47A Código de Barras
NumeroCartao 19A Número do cartão
CodigoRede 04N Código da Rede que será enviada a transação. Ex: 0007 para Redecard.
PermiteAlteracao 01A [ S ] Permite alterar valores informados (exceto ValorTransacao)

[ N ] Não permite alterar valores informados
Reservado 255A Campo Reservado

[Posição] Campo

[01..01] Valor 1 se operação de pagamento com cartão de crédito ou 2 com cartão de débito.

Consulta Private Label

int DIRETIVA_CALLBACK TransacaoConsultaPrivateLabel(char *pValorTransacao, char *pNumeroCupom,
                                                    char *pNumeroControle)

Para a transação acima, pode-se utilizar a função ConfirmaCartaoCredito . Após a execução desta, deve-se chamar a função FinalizaTransacao , assim como é feito nas transações de cartões de débito, crédito e voucher.

Consulta parcelas

int DIRETIVA_CALLBACK TransacaoConsultaParcelas(char *pNumeroControle)

Para a transação acima, pode-se utilizar a função ConfirmaCartaoCredito . Após a execução desta, deve-se chamar a função FinalizaTransacao , assim como é feito nas transações de cartões de débito, crédito e voucher.

Consulta Saldo

int DIRETIVA_CALLBACK TransacaoConsultaSaldo(char *pNumeroCupomVenda, char *pNumeroControle)

Consulta Saldo Completa

int DIRETIVA_CALLBACK TransacaoConsultaSaldoCompleta(char *pNumeroCupomVenda, char *pNumeroControle, 
                                                     char *pTipoCartao, char *pPermiteAlteracao, 
                                                     char *pReservado)

Consulta Planos

int DIRETIVA_CALLBACK TransacaoConsultaPlanos(char *pValorTransacao, char *pNumeroControle, 
                                              char *pReservado, char *pPlanos)

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

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

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

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

Campo Tamanho Descrição
NumeroEmpresa 4N Número da empresa
NumeroLoja 4N Número da loja
NumeroPDV 4N Número do PDV
Solicitacao 102A Deve ser informada a data e o NSU da transação. A estrutura da solicitação é:

[ Data ] 8 N - Formato YYYYMMDD

[ NSU ] 6 N

[ Reservado ] 88 A
Resposta 102A Estrutura preenchida com os valores gravados na base de dados. A estrutura da resposta será:

[ Data ] 8 N - Formato YYYYMMDD

[ 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

[ Resolução Pendencia ] 3 N
      • 000 - PDV
      • 001 - Web
      • 002 - Resolução de pendencias PDV
      • 003 - WebService
[ Reservado ] 29 A
MensagemRetorno 64A Mensagem de retorno do TEF, os dois primeiros bytes contém o codigo da resposta

Saque

int DIRETIVA_CALLBACK TransacaoSaque(char *pValorTransacao, char *pNumeroCupom, 
                                     char *pNumeroControle)

Para a transação acima, pode-se utilizar a função ConfirmaCartaoCredito . Após a execução desta, deve-se chamar a função FinalizaTransacao , assim como é feito nas transações de cartões de débito, crédito e voucher.

Saque Completa

int DIRETIVA_CALLBACK TransacaoSaqueCompleta(char *pValorTransacao, char *pNumeroCupom, 
                                             char *pNumeroControle, char *pTipoTransacao, 
                                             char *pPlanoPagamento, char *pNumeroParcelas, 
                                             char *pPermiteAlteracao, char *pReservado)

Transação de Primeira Compra

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

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
TipoOperacao 02A [ AV ] À vista

[ FL ] Financiamento Lojista

[ FA ] Financiamento Administradora
NumeroParcelas 02N Número de parcelas (00 – 99)
ValorParcela 12N 10 inteiros, 2 decimais
ValorEntrada 12N 10 inteiros, 2 decimais
ValorTaxaServico 12N 10 inteiros, 2 decimais
PermiteAlteracao 01A [ S ] Permite alterar valores informados (exceto ValorTransacao)

• [ N ] Não permite alterar valores informados
Reservado 158A [ Especificação ]
[ 1..1 ] Uso restrito. Fixo “0”

[ 2..4 ] Uso restrito. Fixo “000”

[ 5..7 ] Plano de pagamento utilizado no PDV

[ 8..8 ] Valor [ 0 ] indica pagamento com Cartão de Crédito;[ 1 ] indica pagamento com Crachá. [ 3 ] indica pagamento com cartão Qualidade [ 4 ] indica pagamento com cartão MettaCard

[ 9..9 ] Flag indicando se há dados de cartão (Crachá) [ 0]Não [ 1 ]Sim

[10] Opção para Pagamento de fatura

• 0->Indica que não é pagamento de fatura

• 1->Código de Barras digitado

• 2->Código de Barras lido óticamente

• 3->CPF (11 caracteres)

• 4->Cartão (não deve passar o número do cartão, colocar tamanho dos dados zerado)

• 5->Outros(até 40 caracteres)

[11..12] Tamanho dos dados da opção de pagamento de fatura

[13..59] Dados do pagamento de fatura

[60..126] Uso restrito.

[127..138] Valor da taxa de embarque

[139..139] Tipo de Venda (0-Normal; 1-Promocional)

[ Especificação do Retorno ]
Código possíveis :

[ 01 ] Dados Correspondente Bancário

[ 02 ] Dados Correspondente Bancário

[ 03 ] Dados Correspondente Bancário

[ 04 ] Dados Correspondente Bancário

[ 05 ] Dados Venda Crachá

[ 06 ] Dados Correspondente Bancário

[ 07 ] Dados Correspondente Bancário

[ Especificação dos Dados Venda Crachá ]

[ 01..09 ] CodigoAutorizacao

[ 10..59 ] NomeFuncionario

[ 60..71 ] ValorDesconto

[ 72..76 ] PercentualDesconto

Primeira Compra

int DIRETIVA_CALLBACK TransacaoPrimeiraCompra(char *pValorTransacao, 
    char *pNumeroCupom, char *pNumeroControle);

Primeira Compra Completa

int DIRETIVA_CALLBACK TransacaoPrimeiraCompraCompleta(char *pValorTransacao, char *pNumeroCupom,
    char *pNumeroControle, char *pTipoOperacao, char *pNumeroParcelas, char *pValorParcela,
    char *pValorTaxaServico, char *pPermiteAlteracao, char *pReservado);

Pré Autorização Crédito

int DIRETIVA_CALLBACK TransacaoPreAutorizacaoCartaoCredito(char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoConfirmacaoPreAutorizacao(char *pNumeroControle)

Para a transação acima, pode-se utilizar a função ConfirmaCartaoCredito . Após a execução desta, deve-se chamar a função FinalizaTransacao , assim como é feito nas transações de cartões de débito, crédito e voucher.

Informações Débito Parcelado

procedure ObtemInfTransacaoDebitoParcelado(pDados: Pchar);

A função ObtemInfTransacaoDebitoParcelado retorna informações sobre as parcelas da última transação de débito parcelado realizada. Essa informação está disponível apenas para as transações cujas parcelas sejam disponibilizadas pela rede autorizadora.

Os dados da transação são retornados na área que deve ser previamente alocada e passada como parâmetro. A estrutura retornada está caracterizada abaixo.

Campo Tamanho Descrição
Número de parcelas 04B Número de parcelas. O tipo do dado retornado é inteiro, em formato binário, representação little endian. Por exemplo, o valor de 5 parcelas será retornado como 0x05 0x00 0x00 0x00
Data Parcela 1 08N Data da parcela, no formato DDMMAAAA
Valor Parcela 1 12N 10 inteiros, 2 decimais
Data Parcela n 08N Data da parcela, no formato DDMMAAAA
Valor Parcela n 12N 10 inteiros, 2 decimais

Estatística

int DIRETIVA_CALLBACK TransacaoEstatistica(char *pNumeroControle)

Consulta Cadastro CPF

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

Transação Consulta Cadastro CPF Completa

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

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

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.

Ao final da venda para encerrar a operação deve ser chamada a função FinalizaTransacao, documentada nesta página.

Os campos estão abaixo caracterizados.

Descrição Tamanho Observação
ValorTransacao 12 N 10 inteiros, 2 decimais
NumeroCupom 06 N Número do cupom (fiscal ou não fiscal)
NumeroControle 06 N NSU (número seqüencial único)
TipoOperacao 01 N [1] Nacional;
[2] Internacional
DocEmissor 11 A Número do Documento do Emissor (CPF ou passaporte)
PermiteAlteracao 01 A [S] Permite alterar valores informados (exceto ValorTransacao)
[N] Não permite alterar valores informados

Transação Atualização de Parâmetros do Cartão

int DIRETIVA_CALLBACK TransacaoAtualizacaoParametrosCartao(char *pNumeroControle)

A solicitação da transação de atualização de parâmetros do cartão é realizada através da chamada à função TransacaoAtualizacaoParametrosCartao e serve para que a Rede Adquirente envie informações para serem atualizadas no cartão. Para esta função deve-se enviar o seguinte parâmetro:

NumeroControle

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

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.

Esta transação não é financeira, ou seja, não deve gerar cupom fiscal.

Resgate de Prêmio

A função atualmente disponibilizada é:

int DIRETIVA_CALLBACK TransacaoResgatePremio(char *pNumeroCupom, char *pNumeroControle)

A função TransacaoResgatePremio permite que seja feito o resgate de prêmios da plataforma promocional da Cielo. É uma função a ser utilizada na modalidade de recebimento e não como forma de pagamento. Não existem parâmetros específicos para a função e todo o controle de prêmios a serem exibidos é feito pelo Linx TEF.

Essa transação não gera comprovante e portanto ele não precisa ser impresso.

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

Campo Tamanho Descrição
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)

Transações de Pontos

int DIRETIVA_CALLBACK TransacaoAcumuloPontos(char *pValorTransacao, char *pNumeroCupom, 
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pPermiteAlteracao, char *pReservadoAcumulo, 
    char *pNumeroControle, char *pSaldoPontos)

int DIRETIVA_CALLBACK TransacaoResgatePontos(char *pValorTransacao, char *pNumeroCupom, 
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pProdutos, char *pPermiteAlteracao, char *pReservadoResgate, 
    char *pNumeroControle, char *pSaldoPontos)
int DIRETIVA_CALLBACK TransacaoConsultaPontos(char *pValorTransacao, char *pNumeroCupom, 
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pProdutos, char *pPermiteAlteracao, 
    char *pReservadoConsulta, char *pNumeroControle, char *pSaldoPontos)

int DIRETIVA_CALLBACK TransacaoExtratoPontos(char *pValorTransacao, char *pNumeroCupom, 
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pProdutos, char *pPermiteAlteracao, 
    char *pReservadoExtrato, char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoRelatorioPontos(char *pParametrosRelatorio, 
    char *pPermiteAlteracao, char *pReservadoRelatorio,  char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoConsultaProdutosResgate(char *pValorTransacao, char *pNumeroCupom,
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pProdutos, char *pPermiteAlteracao, 
    char *pReservadoConsultaProdutosResgate, char *pNumeroControle)
int DIRETIVA_CALLBACK TransacaoResgateProdutos(char *pValorTransacao, char *pNumeroCupom, 
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pProdutos, char *pPermiteAlteracao, char *pReservadoResgate, 
    char *pNumeroControle, char *pSaldoPontos)
int DIRETIVA_CALLBACK TransacaoEstornoAcumuloPontos(char *pValorTransacao, char *pNumeroCupom,
    char *pTipoDocumentoCliente, char *pDocumentoCliente, char *pTipoDocumentoAtendente, 
    char *pDocumentoAtendente, char *pDataEstorno, char *pNSUEstorno, char *pPermiteAlteracao, 
    char *pReservadoEstorno, char *pNumeroControle)

A solicitação de transações de pontos são feitas com as funções TransacaoAcumuloPontos, TransacaoResgatePontos, TransacaoConsultaPontos e TransacaoRelatorioPontos.

Os campos estão abaixo caracterizados.

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais Transação de resgate de pontos - Dependendo da Forma
de resgate utilizada, indicada no campo ReservadoResgate, o campo
Valortransacao será tratado de diferentes formas:

• Se FormaResgate [V] o campo indica o valor a ser resgatado em
R$ com 2 casas decimais;

• Se FormaResgate [P] o campo indica quantidade de pontos com 12 inteiros
e 0 decimais;

• Se FormaResgate [C] o campo indicará o valor total da compra e será utilizado
como limite máximo de valor para resgate dos Cupons/Vales/Vouchers.
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
TipoDocumentoCliente 01A Tipo do documento do cliente

[F] CPF

[J] CNPJ

[C] Cartão

[I] Código interno
DocumentoCliente 37N Documento do cliente, conforme tipo informado acima
TipoDocumentoAtendente01 01A Tipo do documento do atendente

[F] CPF

[J] CNPJ

[C] Cartão

[I] Código interno
DocumentoAtendente 37N Documento do atendente, conforme tipo informado acima
PermiteAlteracao 01A Permite alteração pelo usuário dos parâmetros informados. Caso o parâmetro
seja “Não”, o Paykit irá assumir os valores passados nos parâmetros sem
solicitar a alteração.

[S] Sim

[N] Não
ReservadoAcumulo 255P Parâmetros adicionais

• QuantidadePromocoes |CodigoPromocao1;QuantidadeItensPromocao|...|
CodigoPromocaoN;QuantidadeItensPromocaoN

Exemplos:

• 2|3;4|1;3
NumeroControle 06N NSU (número seqüencial único)
Produtos N A Lista de produtos, no formato:

• QuantidadeProdutos| CodigoProduto1;QuantidadeItensProduto1 |...| CodigoProdutoN ;QuantidadeItensProdutoN

Exemplos:

• 2|1;1|2;3

• 3|2;1|5;1|5;2
ReservadoResgate 255P Parâmetros adicionais FormaResgate

[V] Resgate por valor

[P] Resgate por quantidade de pontos

[C] Resgate por vales

Exemplos

V

P
ReservadoConsulta 255P Parâmetros adicionais TipoConsulta TipoConsulta

[S] Saldo

[E] Extrato

Exemplos:

S

E
ParametrosRelatorio 255P Parâmetros no formato:• TipoRelatorio |PeriodoRelatorio

• Tipo do Relatório

[G] Geral

[P] Período

PeriodoRelatorio

• AAAAMMDD ; AAAAMMDD – Período Inicial;Período Final

Exemplos:

P|20150310;20150311

G|;

Obs.: no relatório geral, o período é desconsiderado
ReservadoRelatorio 255P Reservado para uso futuro
DataEstorno 08N Data da transação de acúmulo original
NSU Estorno 06N NSU do estorno
Reservado Estorno 255P Reservado para uso futuro
SaldoPontos 12N Saldo de pontos

Plataforma Promocional CIELO

Para tratar essa funcionalidade é necessário que a automação comercial realize implementações específicas, chamando algumas funções que numa situação normal de pagamento não são utilizadas. Os passos para realizar este tratamento são os seguintes:

Chamar a função IdentificacaoAutomacaoComercial para informar ao Linx TEF que a automação está preparada para tratar as situações especiais que poderão ocorrer quando a rede autorizadora um desconto na transação.

Na resposta da chamada da transação financeira ( TransacaoCartaoCredito , por exemplo), verificar as informações do log estendido para identificar se a rede autorizadora respondeu a transação com um desconto. Se houve desconto, deverá ser tratada a parte fiscal (gerar o desconto no cupom). Para obter essa informação, verificar a documentação sobre a função ObtemLogUltimaTransacao , especificamente sobre o Log Estendido. Esta verificação deve ser feita somente se a rede autorizadora da transação é uma rede do Linx TEF, pois para as transações feitas com redes no Linx TEF 5 o log estendido não é gerado.

Implementar a chamada à função TransacaoResgatePremio , para fazer o resgate dos prêmios.

Transação Cheque

int DIRETIVA_CALLBACK TransacaoCheque(char *pValorTransacao, char *pNumeroCupom, char *pNumeroControle,
                                      char *pQuantidadeCheques, char *pPeriodicidadeCheques, 
                                      char *pDataPrimeiroCheque, char *pCarenciaPrimeiroCheque)

A solicitação de transação com cheque é realizada através da chamada à função TransacaoCheque , com a passagem dos seguintes parâmetros opcionais:

QuantidadeCheques

PeriodicidadeCheques

DataPrimeiroCheque

CarenciaPrimeiroCheque

Se for retornado um comprovante a ser impresso, a confirmação e a finalização da transação serão necessárias. Para saber se um comprovante foi retornado, após a execução com sucesso da função deverá ser pesquisado no diretório de liberação de cupons o arquivo correspondente ao número de controle retornado na função.

Na resposta da chamada à função será devolvido o , indicando o resultado da transação.

Os campos estão abaixo caracterizados.

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
QuantidadeCheques 02N Quantidade de cheques da transação
PeriodicidadeCheques 03N Periodicidade, em dias, entre os cheques. [ 000 ] indica periodicidade variável (livre) a ser coletada.
DataPrimeiroCheque 08N Data do depósito do primeiro cheque, no formato <ddmmaaaa>
CarenciaPrimeiroCheque 03N Carência, em dias, para o depósito do primeiro cheque
02I [ 00 ] Transação autorizada [ 11 ] Transação não autorizada

[ 00 ] indica que não existiram restrições para a efetivação da transação e que os cheques envolvidos foram impressos com sucesso.

[ 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.

Cheque Completa

int DIRETIVA_CALLBACK TransacaoChequeCompleta(char *pValorTransacao, char *pNumeroCupomVenda, 
                                              char *pNumeroControle, char *pQuantidadeCheques, 
                                              char *pPeriodicidadeCheques, char *pDataPrimeiroCheque, 
                                              char *pCarenciaPrimeiroCheque, char *pTipoDocumento, 
                                              char *pNumeroDocumento, char *pQuantidadeCheques, 
                                              char *pSequenciaCheque, char *pCamaraCompensacao, 
                                              char *pNumeroBanco, char *pNumeroAgencia, 
                                              char *pNumeroContaCorrente, char *pNumeroCheque, 
                                              char *pDataDeposito, char *pValorCheque, 
                                              char *pDataNascimentoCliente, char *pTelefoneCliente, 
                                              char *pCMC7, char *pPermiteAlteracao, char *pReservado)

Quando a automação comercial necessitar de detalhes mais precisos da transação, de cheque, pode ser usada a solicitação de transação com cheque completa, através da chamada à função TransacaoChequeCompleta. Os parâmetros opcionais dessa função são os seguintes:

QuantidadeCheques

PeriodicidadeCheques

DataPrimeiroCheque

CarenciaPrimeiroCheque

TipoDocumento

NumeroDocumento

QuantidadeCheques

SequenciaCheque

CamaraCompensacao

NumeroBanco

NumeroAgencia

NumeroContaCorrente

NumeroCheque

DataDeposito

ValorCheque

DataNascimentoCliente

TelefoneCliente

CMC7

PermiteAlteracao

Reservado

Se for retornado um comprovante a ser impresso, a confirmação e a finalização da transação serão necessárias. Para saber se um comprovante foi retornado, após a execução com sucesso da função deverá ser pesquisado no diretório de liberação de cupons o arquivo correspondente ao número de controle retornado na função.

Na resposta da chamada à função será devolvido o , indicando o resultado da transação.

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
QuantidadeCheques 02N Quantidade de cheques da transação
PeriodicidadeCheques 03N Periodicidade, em dias, entre os cheques. O valor [ 000 ] indica periodicidade variável (livre) a ser coletada.
DataPrimeiroCheque 08N Data do depósito do primeiro cheque, no formato <ddmmaaaa>
CarenciaPrimeiroCheque 03N Carência, em dias, para o depósito do primeiro cheque
TipoDocumento 01N • [ 1 ] CPF

• [ 2 ] CNPJ
NumeroDocumento 14N CPF ou CNPJ
QuantidadeCheques 02N Quantidade de cheques da transação ( obrigatório para consulta de múltiplos cheques )
SequenciaCheque 02N Número de seqüência do cheque ( obrigatório para consulta de múltiplos cheques )
CamaraCompensacao 03N Câmara de compensação
NumeroBanco 03N Número do banco
NumeroAgencia 04N Número da agencia
NumeroContaCorrente 10N Número da conta-corrente
NumeroCheque 07N Número do cheque com Dígito verificador
DataDeposito 08N <ddmmaaaa>
ValorCheque 12N 10 inteiros, 2 decimais
DataNascimentoCliente 08N <ddmmaaaa>
TelefoneCliente 12A Telefone somente com caracteres numéricos
CMC7 50A Conteúdo da trilha CMC-7
PermiteAlteracao 01A [ S ] Permite alterar valores informados (exceto ValorTransacao) [ N ] Não Permite alterar valores informados
Reservado 51A [ Especificação ] [ 01..01 ] Reservado [ 02..13 ] Valor máximo permitido para a transação [ 14..14 ] [ S ] Consultar Cheque [ N ] Não consultar [ 15..15 ] Dígito C1 do cheque coletado [ 16..16 ] Dígito C2 do cheque coletado [ 17..17 ] Dígito C3 do cheque coletado [ 18..23 ] Cliente Desde, no formato
02I • [ 00 ] Transação autorizada

• [ 11 ] Transação não autorizada

[ 00 ] indica que não existiram restrições para a efetivação da transação e que os cheques envolvidos foram impressos com sucesso.

[ 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.

Habilitando a Consulta de Múltiplos Cheques

Para realizar a consulta de múltiplos cheques em uma mesma transação com a rede verificadora, é necessário que o Paykit esteja parametrizado para efetuar tal procedimento. Esta parametrização deve ser realizada no Linx TEF e é armazenado no arquivo CHEQUE.TEF. Este arquivo deverá ser copiado para o diretório do Paykit. Além disso, só é permitido a consulta de múltiplos cheques para cheques da mesma conta. Se for realizado recebimentos de cheque de contas diferentes, será enviado para a rede uma transação de consulta para cada cheque, independente da parametrização definida.

Este tipo de consulta é válido somente quando o automação comercial realiza a consulta através da chamada da função TransacaoChequeCompleta informando os campos referentes à seqüência e a quantidade de cheques. A consulta do(s) cheque(s) será enviada ao Linx TEF após a coleta do último cheque (campo pSequenciaCheque igual ao campo pQuantidadeCheques ). Para isto, o automação comercial deverá realizar uma chamada da função TransacaoChequeCompleta para cada cheque a ser processado, acumulando o campo pSequenciaCheque até atingir a quantidade de cheques informado (campo pQuantidadeCheques ).

Observação : a consulta de múltiplos cheques está limitado em 24 cheques na mesma transação de consulta com a rede.

Importante : esta funcionalidade depende da instituição verificadora cadastrada. Nem todas possuem este recurso. Portanto, deve-se consultar a rede se há disponibilidade deste serviço.

Consultando Cheques Garantidos

int DIRETIVA_CALLBACK ConsultaChequesGarantidos(char *pTipoDocumento, char *pNumeroDocumento, 
                                                char *pDataInicialConsulta, char *pDataFinalConsulta, 
                                                char *pNumeroControle)

Para realizar a consulta dos cheques que foram garantidos pela rede autorizadora, deve-se realizar chamada à função ConsultaChequesGarantidos . Esta função só está disponível caso a garantia de cheques esteja habilitada. Esta parametrização deve ser realizada no Linx TEF e é armazenado no arquivo CHEQUE.TEF. Este arquivo deverá ser copiado para o diretório do Paykit. A seguir, estão detalhados os parâmetros utilizados na chamada da função.

Campo Tamanho Descrição
TipoDocumento 01N • [ 1 ] CPF

• [ 2 ] CNPJ
NumeroDocumento 14N CPF ou CNPJ
NumeroControle 06N NSU (número seqüencial único)
DataInicialConsulta 08N DDMMAAAA
DataFinalConsulta 08N DDMMAAAA
02I • [ 00 ] Transação autorizada

• [ 11 ] Transação não autorizada

[ 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.

Especificação Solicita Funções

Os campos estão abaixo caracterizados.

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
TipoCartao 01N Indica o tipo de cartão que deseja consultar o saldo [ 1 ] Crédito [ 2 ] Débito [ 3 ] Private [ 4 ] CPF (1) [ 5 ] CNPJ (¹)
TipoTransacao 01N • [ 0 ] Consulta Saque [ 1 ] Saque
TipoOperacao 01N • [ 1 ] Nacional [ 2 ] Internacional
DocEmissor 11A Número do Documento do Destinatário (CPF ou passaporte)
DocDestinatario 11A Número do Documento do Destinatário (CPF ou passaporte)
CodigoPIN 11A Número do Documento recebido via SMS
PlanoPagamento 03N Código do plano de pagamento
NumeroParcelas 02N Número de parcelas
PermiteAlteracao 01A [ S ] Permite alterar valores informados (exceto ValorTransacao) [ N ] Não permite alterar valores informados
Reservado 158A [ Especificação – TransacaoCancelamentoPagamento ]
• [ 1..1 ] Valor

• - [ 0 ] indica cancelamento de pagamento feito com Cartão;

• - [ 1 ] indica cancelamento de pagamento feito com Crachá;

• - [ 2 ] indica cancelamento de pagamento débito Wappa;

• - [ 3 ] indica cancelamento de pagamento feito com cartão Qualidade

• - [ 4 ] indica cancelamento de pagamento feito com cartão MettaCard

• - [ 5 ] indica cancelamento de pagamento feito com cartão Ecopag

• - [ Q ] indica cancelamento de pagamento feito com QR Code

• [ 2..9 ] Data da transação a ser cancelada, no formato AAAAMMDD

[ Especificação do Retorno ]

• Código possíveis :

• [ 01 ] Dados Venda Crachá

[ Especificação dos Dados Venda Crachá ]

• [ 01..09 ] CodigoAutorizacao

• [ 10..59 ] NomeFuncionario

• [ 60..71 ] ValorDesconto

• [ 72..76 ] PercentualDesconto

[Especificação dos Dados – Operação Saque]

• [ 01 ] Número da Rede Autorizadora

[ Especificação dos Dados – Operação Consulta Saldo ][ 01..01 ]Indicador de consulta com crachá
• - [0] para consulta norma

• - [1] para consulta com crachá

• [ 02..15 ] CPF ou CNPJ do cliente (espaços a direita se CPF)
02I • [ 00 ] Transação autorizada

• [ 11 ] Transação não efetuada
Planos 1..999A [ Especificação dos Dados – Consulta Planos ]
• [ 01..008 ] Data Nascimento Portador do Cartão(DDMMAAAA)

• [ 09..058 ] NomePortador do Cartão

• [ 59..059 ] Fixo P-indicador de Consulta de Planos

• [ 60..999 ] Planos (para cada código de processamento o bloco abaixo se repetira)

• [ N06 ] CodigoProcessamento

• [ N05 ] DataPrimeiraParcela(AADDD ** )

• [ N01 ] FlagJuros

• [ N01 ] FlagPulaCiclo

Os campos descritos abaixo podem repetir para demonstrar a quantidade de parcelas do tipo de plano:
• [ N02 ] NumeroDaParcela

• [ N08 ] ValorPrimeiraParcela
• [ N08 ] ValorDemaisParcelas
• [ N05 ] TaxaJuros

• [ N05 ] CETAnual
• [ N01 ] “;”(FinalizadorDeCodigoProcessamento)

** quantidade de dias do ano informado até a data atual

[ 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.

Funções para Vale Gás

As seguintes funções foram desenvolvidas para realizar o processamento do Vale Gás.

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

Campo Tamanho Descrição
ValorTransacao 12N 10 inteiros, 2 decimais
NumeroCupom 06N Número do cupom (fiscal ou não fiscal)
NumeroControle 06N NSU (número seqüencial único)
NumeroValeGas 15N 15 inteiros
MensagemOperador 64P Mensagem de retorno do Linx TEF

Transação Vale Gás

int DIRETIVA_CALLBACK TransacaoeValeGas(char *pValorTransacao, char *pNumeroCupom,
    char *pNumeroControle, char *pNumeroValeGas)

Consulta Tabelas Vale Gás

int DIRETIVA_CALLBACK ConsultaTabelasValeGas(char *pNumeroControle, char *pMensagemOperador)

Cancelamento Padrão

int DIRETIVA_CALLBACK CancelamentoPadrao(char *pNumeroControle)

Forçar Atualização de Tabelas

int DIRETIVA_CALLBACK ForcaAtualizacaoTabelasPinpad()

Observação: Essa função é encontrada no PayKit a partir da versão 8.22.21.0400

Exibir Imagem no Pinpad

int DIRETIVA_CALLBACK ExibeImagemPinPadPayKit(char *pcNomeArquivo)
Campo Tamanho Descrição
pcNomeArquivo A Caminho para o arquivo da imagem

Observação: Essa função é encontrada no PayKit a partir da versão 8.22.21.0005

Apagar Imagem do Pinpad

int DIRETIVA_CALLBACK ApagaImagemPinPadPayKit()

Observações:
1. Essa função é encontrada no PayKit a partir da versão 8.22.21.0005
2. É de suma importância que este método seja chamado ao final da utilização da exibição da imagem no QR.

Obter Identificação do PinPad

int DIRETIVA_CALLBACK LeIdentificacaoPinPad(char *pDados)

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:

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