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 é:
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
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
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
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
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
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 é:
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 | |
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ções PBM
int DIRETIVA_CALLBACK ConsultaParametrosPBM(char *pNumeroCupom, char *pQuantidadeRedes,
char *pDadosRedes, char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaProdutosPBM(char *pNumeroCupom, char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado, char *pAutorizacao,
char *pDadosCRM, char *pTipoVenda, char *pValorTotalMedicamentos,
char *pValorVista, char *pValorCartao, char *pCodigoCredenciado,
char *pQuantidadeMedicamentos, char *pMedicamentos, char *pReservado,
char *pNumeroControle, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaPBM(char *pValorTotalMedicamentos, char *pNumeroCupom, char *pRedePBM,
char *pTrilha1, char *pTrilha2, char *pDigitado, char *pAutorizacao,
char *pNSUConsulta, char *pDadosCRM, char *pTipoVenda,
char *pValorVista, char *pValorCartao, char *pCodigoCredenciado,
char *pRegraNegocio, char *pQuantidadeMedicamentos, char *pMedicamentos,
char *pReservado, char *pNumeroControle, char *pNumeroControleRede,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoElegibilidadePBM(char *pNumeroCupom, char *pRedePBM, char *pMatricula,
char *pDadosElegibilidade, char *pNumeroControle,
char *pNumeroControleRede, char *pNomeCliente,
char *pNomeMedico, char *pInformaDependente,
char *pListaDependentes, char *pReservado,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoPreAutorizacaoPBM(char *pNumeroCupom, char *pRedePBM,
char *pAutorizacaoElegibilidade,
char *pDadosFarmaceutico, char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pNumeroControle,
char *pNumeroControleRede, char *pReservado,
char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaParametrosPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pQuantidadeRedes,
char *pDadosRedes, char *pMensagemOperador)
int DIRETIVA_CALLBACK ConsultaProdutosPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pTrilha1, char *pTrilha2, char *pDigitado,
char *pAutorizacao, char *pDadosCRM,
char *pTipoVenda, char *pValorTotalMedicamentos,
char *pValorVista, char *pValorCartao,
char *pCodigoCredenciado, char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pReservado,
char *pNumeroControle, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pValorTotalMedicamentos, char *pNumeroCupom,
char *pRedePBM, char *pTrilha1, char *pTrilha2,
char *pDigitado, char *pAutorizacao, char *pNSUConsulta,
char *pDadosCRM, char *pTipoVenda, char *pValorVista,
char *pValorCartao, char *pCodigoCredenciado,
char *pRegraNegocio, char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pReservado, char *pNumeroControle,
char *pNumeroControleRede, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoCancelamentoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pTrilha1, char *pTrilha2,
char *pDigitado, char *pReservado,
char *pNumeroControle,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoAberturaVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pReservado, char *pPedirDadosComplementares,
char *pDadosComplementares,
char *pInfoDadosComplementares,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoVendaProdutoPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pMedicamento, char *pReservado,
char *pPedirDadosComplementares,
char *pDadosComplementares,
char *pInfoDadosComplementares,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoFechamentoVendaPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pRedePBM, char *pTrilha1,
char *pTrilha2, char *pDigitado,
char *pConfirmacao, char *pReservado,
char *pAutorizacao, char *pNumeroControle,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoElegibilidadePBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pMatricula, char *pDadosElegibilidade,
char *pNumeroControle, char *pNumeroControleRede,
char *pNomeCliente, char *pNomeMedico,
char *pInformaDependente, char *pListaDependentes,
char *pReservado, char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoPreAutorizacaoPBM_TeleMarketing(char *pNumeroEmpresa, char *pMultiLoja,
char *pNumeroLoja, char *pNumeroPDV,
char *pNumeroCupom, char *pRedePBM,
char *pAutorizacaoElegibilidade,
char *pDadosFarmaceutico,
char *pQuantidadeMedicamentos,
char *pMedicamentos, char *pNumeroControle,
char *pNumeroControleRede, char *pReservado,
char *pMensagemOperador)
int DIRETIVA_CALLBACK TransacaoCancelamentoPreAutorizacaoPBM_TeleMarketing(char *pNumeroEmpresa,
char *pMultiLoja,
char *pNumeroLoja,
char *pNumeroPDV,
char *pMatricula,
char *pReservado,
char *pNumeroControle,
char *pMensagemOperador)
As transações com a rede "PBM Funcional", onde retorna os parâmetros da rede "DadosRedes=[49000PBM Funcional SS ]", significa que a mesma necessita do "Código de Autorização”" e "Número do Cartão", conforme estrutura retornado neste parâmetro.
Ainda sobre a rede “PBM Funcional”, referente ao "Número do Cartão", o mesmo deve ser solicitado ao operador "campo com 17 dígitos", e enviado no parâmetro " pTrilha2 " contendo somente os 17 dígitos coletados pelo operador.
As solicitações de transação de Consulta das Redes Parametrizadas, de Consulta de Produtos, Transação de Venda PBM, Confirmação de Venda PBM, Reimpressão de Venda PBM e Cancelamento de Venda PBM são realizadas através das chamadas às funções ConsultaParametrosPBM , ConsultaProdutosPBM , TransacaoVendaPBM , ConfirmaVendaPBM , TransacaoReimpressaoVendaPBM e TransacaoCancelamentoVendaPBM.
O NumeroControle , incluído na resposta da função de consulta de produtos, deverá ser armazenado pelo sistema de automação, pois na função de venda este número deverá obrigatoriamente, ser utilizado, para informar o número da consulta em que os produtos foram obtidos. No caso do NumeroControle obtido no retorno da função de venda, deverá ser armazenado pelo sistema de automação para efetivar a confirmação da venda.
Após a impressão do comprovante pela automação comercial, sendo esta com sucesso, deve-se realizar a confirmação da transação através da função ConfirmaVendaPBM informando o número do NSU da transação que deseja confirmar. Em seguida, para encerrar a operação deve ser chamada a função FinalizaTransacao, documentada nesta página..
Através da função TransacaoReimpressaoVendaPBM poderá ser reimpresso o comprovante da última venda PBM emitida com sucesso. Caso a função seja executada com sucesso, o arquivo ULTIMOPBM.PRN será disponibilizado no diretório parametrizado para os cupons.
As funções de Consulta de Parâmetros e Consulta de Produtos devem ser acionadas antes de iniciar-se uma venda, pois ao efetuar a venda o operador deverá optar por utilizar um produto da rede selecionada ou por um produto da própria loja. Esta “seleção” é importante para determinar se o sistema de automação comercial deverá chamar a função de venda PBM ou não. No caso de efetuar uma venda PBM, todos os parâmetros obtidos através da função de consulta PBM deverão ser passados na função de venda, de acordo com a quantidade vendida. Estes dados deverão estar coerentes com os dados da consulta, caso contrário, a venda corre o risco de não ser aprovada pela rede PBM selecionada.
Através da função TransacaoCancelamentoVendaPBM pode-se efetuar o cancelamento de uma venda PBM. O NumeroControle da venda a ser cancelada deve ser informado. Além disso, se a rede PBM exigir, poderá ser necessário a leitura do cartão do beneficiário para efetuar o cancelamento.
Os campos estão abaixo caracterizados.
Campo | Tamanho | Descrição |
---|---|---|
MultiLoja | 01 P | 01 Caracter [‘S’,’N’] |
NumeroEmpresa | 04 P | 04 inteiros |
NumeroLoja | 04 P | 04 inteiros |
NumeroPDV | 03 P | 03 inteiros [001…356] |
InfoDadosComplementares | 64 A | Informação de coleta de campos opcionais da tela de abertura de venda PBM. Os parâmetros dos 2 campos têm o seguinte formato: • TAAMMXX...XXTAAMMXX...XX • T : tipo do campo - N (numérico), A (alfanumérico) ou F (opção sim ou não - Y/N) • AA : tamanho mínimo do campo (1 até 50) • MM : tamanho máximo do campo (1 até 50) • X : nome do campo para apresentação na tela (até 20 bytes) Os dois campos são opcionais. Se nenhum campo estiver preenchido, não haverá a coleta. Exemplo: • N0808CEP N1111CPF DO PORTADOR • Neste exemplo, haverá a captura de 2 campos, sendo que o primeiro é o CEP com 8 dígitos (N=numérico) e o segundo o CPF com 11 dígitos. |
DadosComplementares | 128A | Dados complementares coletados conforme os campos da estrutura InfoDadosComplementares . No exemplo acima, os dados poderiam ficar: • 08999999991199999999999, isto é, CEP 99999999 com 8 dígitos e CPF 99999999999 com 11 dígitos. |
PedirDadosComplementares | 01 A | Se a função retornar erro, analisar este campo para verificar se é necessário coletar os dados complementares e chamar novamente a função. • [ S ] Coletar dados complementares • [ N ] Não coletar dados complementares |
ValorTotalMedicamentos | 12N | Valor total dos medicamentos do cupom na venda ou valor total dos medicamentos retornados na consulta |
NumeroCupom | 06N | Número do cupom (fiscal ou não fiscal) |
QuantidadeRedes | 02N | Quantidade de redes cadastradas |
DadosRedes Formato: Numero[05] Nome[20] ColetaCartao[01] ColetaAutorizacao[01] Filler[13] |
560P | Parâmetro que retorna os dados das redes cadastradas. Os campos ColetaCartao e ColetaAutorizacao indicam qual informação deve ser coletada pelo sistema de automação comercial. Podem ser retornados até 14 redes no formato especificado Especificação de alguns campos : Campo ColetaCartao = • [ S ] Coletar cartão • [ N ] Não coletar cartão Campo ColetaAutorizacao = • [ S ] Coletar número de autorização • [ N ] Não coletar número de autorização |
RedePBM | 05N | Código da rede PBM selecionada |
Trilha1 | 76A | Trilha1 do cartão |
Trilha2 | 37A | Trilha2 do cartão |
Digitado | 01N | • [ 0 ] Indica que a trilha2 do cartão foi obtido através de leitura em pinpad criptografado • [ 1 ] Indica que a trilha2 do cartão foi digitado |
Autorização | 12N | Número da autorização coletado pelo sistema de automação |
NSUConsulta | 06N | Número de controle obtido na consulta de produtos |
DadosCRM Formato: CRM[12] UF_CRM[02] |
14P | Dados de identificação do CRM consultado |
DadosElegibilidade Formato: CodigoOperadorVita[09] PlanoSaude[06] NumeroDependente[02] TipoProfissional[01] UF_CRM_CRO[02] NumeroCRM_CRO[09] DataReceita[06] DescontoEmFolha[01] |
30P | Deve ser coletado pelo sistema de automação os dados da estrutura.Especificação de alguns campos : • Campo CodigoOperadorVita = • Campo PlanoSaude = Código do plano de saúde • Campo TipoProfissional = [ 0 ] CRM [ 1 ] CRO • Campo DescontoEmFolha = [ S ] Sim [ N ] Não |
NomeCliente | 40P | Retornado pela função TransacaoElegibilidadePBM |
NomeMedico | 40P | Retornado pela função TransacaoElegibilidadePBM |
InformaDependente | 01P | • [ S ]Sim [ N ]Não Importante : se a função retornar status 11, verificar se foi retornado “S” neste parâmetro. Neste caso, chamar a função novamente informando o número do dependente na estrutura do parâmetro DadosElegibilidade |
ListaDependentes Formato: Número do dependente[02] Nome do dependente[40] |
504P | Lista de até 12 registros |
AutorizacaoElegibilidade | 12P | Deve ser informado a Autorização retornada na transação de elegibilidade |
DadosFarmaceutico Formato: UF_CRF[02] NumeroCRF[12] |
14P | |
TipoVenda | 01N | • [ 0 ]Vista [ 1 ] Cartão |
ValorVista | 12N | Valor a pagar à vista para consulta e valor pago à vista para a função de venda |
ValorCartão | 12N | Valor a pagar com cartão para consulta e valor pago com cartão para a função de venda |
CodigoCredenciado | 15N | Código do credenciado |
RegraNegocio | 08N | Código da regra de negócio (ePharma) |
QuantidadeMedicamentos | 02N | Quantidade de medicamentos retornados no campoMedicamentos para a função de consulta e quantidade de medicamentos vendidos para a função de venda |
Medicamentos Formato: DataReceita[08] IDCRM_CRO[01] CRM[12] UF_CRM[02] TipoMedicamento[02] Código[13] Descrição[15] CondicaoVenda[01] PrecoMaxConsumidor[08] PrecoFabricaUnitario[08] PrecoUnitarioVendaCons[08] PrecoAquisicaoUnitario[08] PrecoRepasseVarejo[08] MotivoRejeicao[02] QtdReceitada[04] QtdAutorizadaSolicitada[04] Referencia[02] IndicadorVenda[01] TipoEmbalagem[01] Desconto[05] Controle[10] Reembolso[08] Comissão[05] UsoContinuo[01] Filler[05] |
*P | Dados dos medicamentos fornecidos para o sistema de automação na função de consulta e dados dos medicamentos vendidos da rede selecionada para a função de venda. Podem ser retornados (pela função de consulta) ou informados (para a função de venda) até o número de medicamentos informado no campo QuantidadeMedicamentos. • * o tamanho deste buffer deve ser calculado da seguinte forma: QuantidadeMedicamentos * 142 • 142 = tamanho da estrutura de dados para um medicamento Especificação de alguns campos : • Campo IDCRM_CRO = [ 0 ] CRM [ 1 ] CRO • Campo TipoMedicamento = • [ 01 ] Medicamento • [ 02 ] Manipulação • [ 03 ] Manip. Especial • [ 04 ] Perfumaria • Campo CondicaoVenda = • [ 0 ] obrigatório utilizar preço fábrica • [ 1 ] permite vender com preço inferior • Campo IndicadorVenda = • [ 0 ] produto venda cartão • [ 1 ] produto venda vista • Campo TipoEmbalagem = unitário ou parcial • Campo Controle = campo para uso restrito • Campo UsoContinuo = [ S , N ] Observações : • [ 1 ] os campos Reembolso e Comissão foram incluídos pois são retornados pela VidaLink • [ 2 ] o campo UsoContinuo é utilizado pela PreSaude • [ 3 ] no campo QtdAutorizadaSolicitada deve ser informado a quantidade solicitada para a PrevSaude ou quantidadeautorizada para as demais PBMs. |
Reservado | 128P | Campo reservado TransacaoAberturaVendaPBM_TeleMarketing : esta função retornará neste parâmetro o número da autorização para esta transação. Tamanho de 12 bytes. |
Confirmacao | 01A | Indica se a transação de venda de produtos PBM deve ser confirmada ou não. • [ S ] Confirmar a operação • [ N ] Não confirmar a operação |
NumeroControle | 06 N | NSU (número seqüencial único) |
NumeroControleRede | 12 N | NSU da Rede Autorizadora (número seqüencial único retornado pela rede que aprovou a venda) |
MensagemOperador | 64 P | Mensagem retornada pelo Linx TEF indicando o motivo da recusa da transação. Deve ser apresentada ao operador quando a transação for rejeitada |
02 I | • [ 00 ] Transação autorizada • [ 11 ] Transação não efetuada |
Obs.: todos campos que contém diversos parâmetros devem ser passados conforme seus respectivos tamanhos. Os campos numéricos devem vir com zeros à esquerda (sem ponto ou vírgula), enquanto que os alfanuméricos devem vir com espaços à direita.
[ 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. Apresentar ao usuário o conteúdo do campo MotivoRejeicao (retornado pela operadora). No campo MensagemOperador contém a mensagem retornada pelo Linx TEF.
Observação : Para cada conjunto de chamadas as funções de TeleMarketing ( ConsultaParametrosPBM_TeleMarketing , ConsultaProdutosPBM_TeleMarketing, TransacaoVendaPBM_TeleMarketing, TransacaoAberturaVendaPBM_Telemarketing, TransacaoVendaProdutoPBM_TeleMarketing, TransacaoFechamentoVendaPBM_TeleMarketing ) deve ser informado um número de PDV diferente (obedecendo a faixa de PDVs definida na especificação dos parâmetros). Isto é necessário para que o Linx TEF possa diferenciar as transações que estão ocorrendo simultaneamente. Um exemplo de ocorrência desta situação é na utilização desta função através de um servidor Web, que pode ter vários usuários realizando acesso simultâneo.
Observação para transações de pré-venda SevenPDV : a autorização das redes tratadas pela PBM SevenPDV deve seguir o seguinte fluxo de chamadas de funções:
TransacaoAberturaVendaPBM_TeleMarketing : função para abrir a venda. Se no retorno a função indicar que devem ser pedidos dados complementares, deverá ser analisado o campo de retorno pInfoDadosComplementares para buscar a definição dos campos a serem coletados. A seguir, a função TransacaoAberturaVendaPBM_TeleMarketing deverá ser chamada novamente com a informação dos dados complementares. Caso a tela de coleta dos dados complementares do portador for exibida mas o operador não entrou com os dados, a palavra VAZIO deverá ser informada no campo pDadosComplementares .
TransacaoVendaProdutoPBM_TeleMarketing : transação para incluir o produto na autorização que está sendo feita simultaneamente à venda. Na estrutura do medicamento, deverão ser informados os campos Codigo , PrecoMaxConsumidor , PrecoUnitarioVendaCons , QuantidadeAutorizada e TipoEmbalagem. Os campos retornados na estrutura de medicamento são retornados os campos QuantidadeAutorizada , PrecoMaxConsumidor , PrecoUnitarioVendaCons , PrecoRepasseVarejo , Desconto e MotivoRejeicao.
TransacaoFechamentoVendaPBM_TeleMarketing : função para finalizar a venda PBM. Se a venda foi finalizada com sucesso, deverá passar o parâmetro pConfirmaçao com o valor "S". Neste caso, ao final da execução da função será disponibilizado o comprovante da operação para ser impresso. Se a venda não deve ser finalizada, passar no parâmetro o valor "N".
Observação : para transações de telemarketing em ambientes com múltiplas threads simultâneas, deverá ser utilizada a DLL DPOSDRVTM.DLL.
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
Cancelamento Padrão
Forçar Atualização de Tabelas
Observação: Essa função é encontrada no PayKit a partir da versão 8.22.21.0400
Exibir Imagem no Pinpad
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
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
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 |