Callbacks
Callbacks
Aqui você encontrará mais detalhes sobre as callbacks e imagens de exemplo para ilustrar o funcionamento
Display Terminal
Apresenta a mensagem solicitada pelo Client, no parâmetro pMensagem. Esta função apresenta mensagens gerais do fluxo da execução, como por exemplo “INSIRA OU PASSE O CARTAO”, “AGUARDE...”, “SOLICITANDO AUTORIZACAO” etc.
Parâmetro solicitação | Formato | Descrição |
---|---|---|
pMensagem | A | Mensagem a ser apresentada no display do PDV |
Retorno: esta função não possui retorno.
Display Erro
Função utilizada para apresentar uma mensagem de erro no display, como por exemplo “CARTÃO INVÁLIDO”, “TENTE NOVAMENTE” entre outras. Se for um display gráfico, pode ser apresentado em vermelho para indicar a situação de erro. Em geral, é utilizado o mesmo local de apresentação da função Display Terminal, variando apenas a cor para indicar o erro. Isso entretanto pode ser desenvolvido da forma que melhor se adequar para a automação.
Parâmetro solicitação | Formato | Descrição |
---|---|---|
pMensagem | A | Mensagem de erro a ser apresentada no display do PDV |
Retorno: esta função não possui retorno.
Mensagem
Função utilizada para apresentar uma mensagem informativa na tela. É utilizada em algumas situações no fluxo das transações para apresentar dados ao usuário como por exemplo o valor da transação, alguma opção que foi recentemente selecionada ou ainda em alguns casos uma mensagem retornada pela rede autorizadora.
Parâmetro solicitação | Formato | Descrição |
---|---|---|
pMensagem | A | Mensagem a ser apresentada na tela |
Retorno: esta função não possui retorno.
Beep
Comando enviado para o PDV para que este emita um sinal sonoro. O comando não possui nenhum parâmetro.
Retorno: esta função não necessita de resposta
Entra Cartão
Comando para permitir que o operador digite o número do cartão.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada (em geral, é “DIGITE O NÚMERO CARTÃO”) |
Campo de Retorno | Formato | Descrição |
---|---|---|
pCartao | A | Número do cartão digitado pelo operador |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou o número do cartão |
-1 | A operação foi cancelada e o operador não conclui a digitação do número do cartão |
Observações:
• Neste campo, deverá ser permitido apenas a entrada de caracteres numéricos
• O tamanho máximo permitido para digitação será de 19 dígitos
• Deverá ser tomado o cuidado para que as informações de digitação do número do cartão não sejam armazenadas
de forma aberta e/ou completa em nenhum local. As regras de segurança definidas pelo PCI não permitem o registro dos números de cartão.
Entra Código de Barras
Comando para permitir que o operador digite o código de barras do documento. A digitação pode ser feita em 4 blocos de 12 dígitos, contendo os dígitos verificadores. O resultado é a concatenação de todos os caracteres digitados. Esta função deverá fazer as validações referentes ao pagamento de contas convênio, utilizada na transação de pagamento de contas da Cielo.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
Campo de Retorno | Formato | Descrição |
---|---|---|
pCodigoBarras | A | Código de barras digitado pelo operador |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou o número do cartão |
-1 | A operação foi cancelada e o operador não conclui a digitação |
-2 | O código de barras é inválido (os dígitos verificadores não estão corretos) |
-3 | A operação não é permitida (o primeiro dígito não é “8” – a transação de Pagamento de Contas Visanet permite somente pagamento de convênios, ou seja, códigos que começam com “8”) |
Observações:
• a implementação desta função é necessária somente se for utilizada a transação TransacaoPagamentoContasVisanet
Entra Código de Barras Lido
Comando para permitir que o operador passe o código de barras do documento no leitor. O resultado é a concatenação de todos os caracteres digitados. Esta função deverá fazer as validações referentes ao pagamento de contas convênio, utilizada na transação de pagamento de contas da Visanet.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
Campo de Retorno | Formato | Descrição |
---|---|---|
pCodigoBarrasLido | A | Código de barras obtido através do leitor. |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou o número do cartão |
-1 | A operação foi cancelada e o operador não conclui a digitação |
-2 | O código de barras é inválido (os dígitos verificadores não estão corretos) |
-3 | A operação não é permitida (o primeiro dígito não é “8” – a transação de Pagamento de Contas Visanet permite somente pagamento de convênios, ou seja, códigos que começam com “8”) |
Observações:
• a implementação desta função é necessária somente se for utilizada a transação TransacaoPagamentoContasVisanet
Entra Data de Validade
Comando para que o operador digite a data de validade do cartão no formato MMAA. Na tela, pode ser apresentado como MM/AA, mas no retorno a resposta não deverá conter os caracteres separadores.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
Campo de Retorno | Formato | Descrição |
---|---|---|
pDataValidade | A | Data de validade do cartão, no formato MMAA |
Retorno:
Retorno | Descrição |
---|---|
0 | A Data de validade foi digitada |
-1 | A operação foi cancelada |
Observações:
• deverá ser tomado o cuidado para que as informações da data de validade do cartão não sejam
armazenadas de forma aberta e/ou completa em nenhum local. As regras de segurança definidas
pelo PCI não permitem o registro dessas informações.
Entra Data
Comando para que o operador digite a data de validade do cartão no formato DDMMAA. Na tela, pode ser apresentado como DD/MM/AA, mas no retorno a resposta não deverá conter os caracteres separadores.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
Campo de Retorno | Formato | Descrição |
---|---|---|
pData | DD/MM/AA | Data no formato DD/MM/AA. Caso o usuário não tenha digitado nenhuma data (o usuário escolheu seguir em frente sem digitar), este campo deverá conter o valor “ / / “, ou seja, espaços mas com os caracteres separadores |
Retorno:
Retorno | Descrição |
---|---|
0 | O usuário pressionou enter, mesmo que a data não tenha sido digitada. Se a data não for digitada, o campo com a data de retorno deverá voltar com espaços e os caracteres separadores (“ / / “) |
-1 | A operação foi cancelada |
Observações:
• deverá ser tomado o cuidado para que as informações da data de validade do cartão não sejam
armazenadas de forma aberta e/ou completa em nenhum local. As regras de segurança definidas
pelo PCI não permitem o registro dessas informações.
Entra Código de Segurança
Comando para que o operador digite o código de segurança do cartão. O número mínimo de caracteres permitido é 3 e o máximo é passado na função.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
iTamanhoMaximo | N | Tamanho máximo permitido na digitação do código de segurança |
Campo de Retorno | Formato | Descrição |
---|---|---|
pCodigoSeguranca | A | Código de Segurança digitado pelo operador |
Retorno:
Retorno | Descrição |
---|---|
0 | O usuário digitou um código de segurança |
-1 | A operação foi cancelada |
Observações:
• o campo pCodigoSeguranca deverá ser tratado também como parâmetro de solicitação. Assim,
se algum valor estiver preenchido nesse campo, ele deverá ser apresentado no momento da
chamada. O objetivo deste tratamento é apresentar o CVV2 na situação em que ele deva ser
redigitado.• deverá ser tomado o cuidado para que as informações de digitação do código de
segurança não sejam armazenadas de forma aberta e/ou completa em nenhum local. Esse registro
é proibido pelas regras de segurança definidas pelo PCI.
Seleciona Opção
Comando para que seja apresentado ao operador um menu de opções e que assim seja selecionada uma dessas opções.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
pOpcoes | N | Opções a serem exibidas. As opções estão no seguinte formato: (X, AAAA), onde X é o caracter numérico que se digitado seleciona a opção e AAAA é a string a ser exibida no menu. Caso haja mais de uma opção, elas deverão ser separadas pelo caracter “#”. Exemplo: (1,"1-ILEGIVEL")#(5,"5-NAO POSSUI") - neste caso, são apresentadas na tela as opções “1-ILEGIVEL” e “5-NÃO POSSUI”. Se o operador digitar “5”, a função deverá retornar “2”, que é o índice da opção selecionada. |
Campo de Retorno | Formato | Descrição |
---|---|---|
pOpcaoSelecionada | N | Indice da opção selecionada. Na chamada, pode ser definido um valor default para a seleção. Assim, se vier um valor neste campo, deverá ser pré-selecionada a opção escolhida. A primeira opção tem o índice 1. |
Retorno:
Retorno | Descrição |
---|---|
0 | Uma opção foi selecionada |
-1 | A operação foi cancelada |
Entra Valor
Comando para que o operador entre com um valor numérico monetário, com 2 casas decimais.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
pValorMinimo | 12 N | Valor mínimo aceito para o campo |
pValorMaximo | 12 N | Valor máximo aceito para o campo |
Campo de Retorno | Formato | Descrição |
---|---|---|
pValor | 12 N | Valor digitado pelo operador. O campo deverá ter 2 casas decimais, sem separador. Por exemplo, 000000001234 equivale a R$ 12,34. Se na chamada este campo tiver um valor, ele deverá ser apresentado como o valor default |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou o valor |
-1 | A operação foi cancelada |
Entra Número
int EntraNumero(char *pLabel, char *pNumero, char *pNumeroMinimo, char *pNumeroMaximo, int iMinimoDigitos, int iMaximoDigitos, int iDigitosExatos)
Comando para que o operador entre com um valor numérico monetário, com 2 casas decimais.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
pValorMinimo | N | Valor mínimo aceito para o campo |
pValorMaximo | N | Valor máximo aceito para o campo |
iMinimoDigitos | N | Número minimo de digitos que o valor deverá possuir |
iMaximoDigitos | N | Número máximo de dígitos permitido |
pValorMaximo | N | Número de dígitos que o número deverá ter |
iDigitosExatos | N | Se diferente de zero, considerar a quantidade de digitos exatos a serem coletados |
Campo de Retorno | Formato | Descrição |
---|---|---|
pValor | N | Valor digitado pelo operador. Se na chamada este campo tiver um valor, ele deverá ser apresentado como o valor default |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou o número |
-1 | A operação foi cancelada |
Entra String
Comando para que o operador entre com uma string qualquer.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
pTamanhoMaximo | N | Tamanho máximo da string em caracteres |
Campo de Retorno | Formato | Descrição |
---|---|---|
pString | A | String digitada pelo usuário. Se na solicitação for informado um valor neste campo, ele deverá ser exibido como valor default. |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou a string |
-1 | A operação foi cancelada |
MensagemAdicional
Apresenta a mensagem adicional enviada pelo concentrador TEF.
Campo solicitação | Formato | Descrição |
---|---|---|
pMensagemAdicional | A | Mensagem adicional a ser apresentada no display do PDV. Esta função é utilizada para complementar operações, como por exemplo apresentar a descrição do produto selecionado durante a execução do fluxo da transação Visanet. |
Retorno: O retorno desta função deverá ser 0.
Imagem Adicional
Apresenta uma imagem ou informação relacionada à rede selecionada pelo Linx TEF durante a transação. Apesar do nome da função fazer referência à apresentação de uma imagem, ela pode ser utilizada para apresentar somente o nome da rede autorizadora Esta função tem objetivo apenas informativo. Se não for implementada, não afetará o fluxo das transações.
Campo solicitação | Formato | Descrição |
---|---|---|
iImagemAdicional | A | Código da rede autorizadora que está tratando a transação em questão. O valor -1 indica que deve ser removida a imagem ou apagada a mensagem . |
Retorno: O retorno desta função deverá ser 0.
Consulta AVS
int ConsultaAVS(char *cEndereco, char *cNumero, char *cApto, char *cBloco, char *cCEP, char *cBairro, char *cCPF)
Comando para que o operador entre com os dados da consulta AVS (transação de verificação de endereço).
Campo solicitação | Formato | Descrição |
---|---|---|
Endereço | 96 A | Endereço coletado |
Numero | 16 A | Número |
Apto | 8 A | Apartamento |
Bloco | 32 A | Descrição do bloco |
CEP | 8 N | Número do CEP |
Bairro | 32 A | Descrição do bairro |
CPF | 11 N | Número do CPF |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador digitou os dados |
-1 | A operação foi cancelada |
Mensagem Alerta
Apresenta uma mensagem de alerta enviada pelo concentrador TEF ao PDV. Não necessita de resposta, mas deverá esperar a confirmação da leitura pelo operador.
Campo solicitação | Formato | Descrição |
---|---|---|
pMensagemAlerta | A | Mensagem de alerta a ser apresentada ao operador do PDV. A diferença com relação a outras mensagens é que esta deverá aguardar a confirmação da leitura do operador. |
Retorno: O retorno desta função deverá ser 0.
Observações:
• Atualmente, esta função é utilizada no momento de se desfazer uma transação, onde é
apresentada uma mensagem indicando que a transação foi desfeita e o cupom deve ser retido. Por
ser uma situação importante, é necessária a confirmação de leitura pelo operador.
Preview Comprovante
Apresenta um comprovante na tela. Isto acontece principalmente em transações de simulação de planos de pagamento, onde é feita apenas uma apresentação do resultado na tela, sem impressão do comprovante na impressora.
Campo solicitação | Formato | Descrição |
---|---|---|
pComprovante | A | Comprovante a ser exibido na tela. |
Retorno:esta função não necessita de resposta, mas deverá aguardar a leitura dos dados por parte do operador, ou seja, deverá aguardar que o usuário tome alguma ação (pressione uma tecla, por exemplo).
Operação Cancelada
Retorna se a operação foi cancelada pelo operador. Esta função é chamada principalmente em operações com o pinpad, como por exemplo a passagem do cartão. Como essa passagem pode ser cancelada através da automação, se houver essa opção na automação e o usuário acioná-la enquanto o cartão estiver sendo lido, a operação será cancelada pelo client.
Retorno: esta função não necessita de resposta.
Observações:
• Essa função é chamada múltiplas vezes durante a transação, principalmente durante a leitura de
cartões. Quando a função retorna 1, o pinpad para a leitura e o Paykit chama a função seguinte
conforme o fluxo.
Seta Operação Cancelada
Indica qual o valor que a função OperacaoCancelada deve inicializar. Se, por exemplo, a função OperacaoCancelada está indicando que a operação foi cancelada e a função SetaOperacaoCancelada for chamada com o valor 1, então a função OperacaoCancelada começará a indicar que a operação não foi mais cancelada (o valor foi reinicializado). Se o usuário indicar novamente que a operação foi cancelada, então a função OperacaoCancelada voltará a indicar que a operação foi cancelada, retornando o valor verdadeiro na função. Na prática, esta função serve para reinicializar o indicador de que a operação foi cancelada.
Campo solicitação | Formato | Descrição |
---|---|---|
iCancelada | N | Indica se a operação foi cancelada
|
Retorno: O retorno desta função deverá ser 0.
Observações:
• A implementação deste método consiste apenas em setar a variável de global de controle de
operação cancelada para o valor do parâmetro.
Processa Mensagens
Indica para a automação executar processamento que esteja esperando o retorno de funções blocantes do client. Por exemplo, ao se passar o cartão no PinPad, o client fica aguardando a ação do operador. Para que a automação não fique “travada”, o client chama essa função para que ela execute procedimentos do tipo atualização de tela, horários e mensagens, processamento de teclado (para verificar se a operação foi cancelada). Esta função não possui parâmetros e também não tem retorno.
Seleciona Planos
int SelecionaPlanos(int iCodigoRede, int iCodigoTransacao, int iTipoFinanciamento, int
iMaximoParcelas, char *pValorMinimoParcela, int iMaxDiasPreDatado, char *pNumeroParcelas,
char *pValorTransacao, char *pValorParcela, char *pValorEntrada, char *pData)
Realiza a seleção dos planos de pagamento conforme os dados da transação.
Campo solicitação | Formato | Descrição |
---|---|---|
iCodigoRede | N | Código da transação. Este campo é informado pelo Client.
|
iCodigoTransacao | N | Indica se a operação foi cancelada
|
iTipoFinanciamento | N | Tipo do parcelamento. Este campo é informado pelo Client.
|
Campo de Retorno | Formato | Descrição |
---|---|---|
iNumeroParcelas | N | Número de parcelas. Informar 0 se o número de parcelas não foi definido. Este campo deve ser informado pelo PDV. |
pValorTransacao | N | Valor da transação. Este campo deve ser informado pelo PDV. |
ValorParcela | N | Valor da parcela. Este campo deve ser informado pelo PDV. |
ValorEntrada | N | Valor da entrada. Este campo deve ser informado pelo PDV. |
Data | DDMMAAAA | Data do débito (transações pré-datadas). Este campo deve ser informado pelo PDV. |
MaximoParcelas | N | Número máximo de parcelas. Este campo é informado pelo Client. |
ValorMinimoParcelas | N | Valor mínimo da parcela. Este campo é informado pelo Client. |
MaxiDiasPredatado | N | Número máximo de dias pré-datado. Este campo é informado pelo Client. |
Reservado | A | Uso futuro |
Retorno | Descrição |
---|---|
0 | O operador selecionou um plano |
-1 | Os planos não serão tratados |
-2 | A operação foi cancelada pelo usuario |
Seleciona Planos EX
Realiza a seleção dos planos de pagamento conforme os dados da transação. Os parâmetros
de solicitação e retorno são formados pelos campos abaixo, separados pelo caracter “|” (pipe).
Se houver valor passado no campo, deverá ser assumido como o valor padrão a ser oferecido
ao usuário. Os valores que serão tratados no retorno são ValorTransacao, TipoFinanciamento,
NumeroParcelas, ValorParcela, ValorEntrada, DataPreDatado e Plano. Os outros campos, embora
não sejam tratados pelo client na volta, deverão ser retornados.
Exemplo:
Solicitação: 61|8001|300|8|8|000000000000|00|0|0|000000000000|000000000000|00000000|
Retorno: 61|8001|300|8|8|000000000000|00|0|0|000000000000|000000000000|00000000|001|
Campo solicitação | Formato | Descrição |
---|---|---|
CodigoRede | N | Código da Rede no Linx TEF
|
CodigoTransacao | N | CodigoTransacao
|
ValorTransacao | N | Valor da transação (em centavos) |
NumeroMaximoParcelasS/Juros | N | Número máximo de parcelas permitido para o parcelamento loja (sem juros) |
NumeroMaximoParcelasC/Juros | N | Número máximo de parcelas permitido para o parcelamento ADM (com juros) |
ValorMinimoParcela | N | Valor mínimo permitido para a parcela |
MaximoDiasPreDatado | N | Número máximo de dias permitido para transação pré-datada |
iTipoFinanciamento | N | Tipo do parcelamento. Este campo é informado pelo Client.
|
NumeroParcelas | N | Número de parcelas |
ValorParcela | N | Valor da parcela (em centavos) |
ValorEntrada | N | Valor da entrada (em centavos) |
DataPreDatado | DDMMAAAA | Data para transações pré-datadas |
Plano | N | Código do plano |
Retorno:
Retorno | Descrição |
---|---|
0 | O operador selecionou um plano |
-1 | Os planos não serão tratados |
-2 | A operação foi cancelada pelo usuario |
Entra Valor Especial
Comando para que o operador entre com um valor numérico monetário, de acordo com as parametrizações.
Campo solicitação | Formato | Descrição |
---|---|---|
pLabel | A | Mensagem a ser apresentada |
pParametros | N | Parâmetros para a coleta do valor monetário:
|
Campo de Retorno | Formato | Descrição |
---|---|---|
pValor | 12 N | Valor digitado pelo operador. O campo deverá ser retornado sem separador. Se na chamada este campo tiver um valor, ele deverá ser apresentado como o valor default |
Retorno | Descrição |
---|---|
0 | O operador digitou o valor |
-1 | A operação foi cancelada |
Comandos
Comandos genéricos enviados do client Linx TEF. Quando necessário para executar uma transação, o Paykit poderá chamar este callback para que a automação execute alguma operação. Uma das situações onde isso é usado é na apresentação do QR Code para transações com carteiras digitais. Caso os comandos não sejam implementados, na medida do possível o client do Linx TEF tentará processar o comando. Por exemplo, caso o comando de apresentação de QR Code não seja implementado o Paykit exibirá uma tela com o QR Code mesmo que a integração seja feita com as telas da automação.
Campo solicitação | Formato | Descrição |
---|---|---|
pDadosEntrada | A | Dados de solicitação do comando. Os comandos são enviados no formato TLV, com código de comando com 3 bytes e tamanho com 6 bytes. O tamanho se refere ao tamanho dos dados e não ao tamanho total. Por exemplo, o comando para apresentação de um código QR Code fica assim: 001000030LINXeFuiMzDmu85TcYCimGcOeMvUwM Código de comando: 001 Tamanho: 000030 QRCode: LINXeFuiMzDmu85TcYCimGcOeMvUwM |
Campo de Retorno | Formato | Descrição |
---|---|---|
pDadosRetorno | N | Dados de retorno da solicitação |
Comandos:
Código | Descrição |
---|---|
001 | Apresentar QR Code. O campo de dados contém o QR Code que deve ser apresentado |
002 | Lista de wallets disponíveis para utilização no QR. Os nomes são separados por ; |
Retorno:
Retorno | Descrição |
---|---|
0 | O comando foi executado corretamente. |
-1 | O comando não foi implementado |
-2 | Ocorreu um erro ao executar o comando |
Solicita Confirmação
Comando que força uma interação do operador solicitando uma confirmação ou não de uma determinada situação, pode ser enviado um texto no parâmetro pMensagem para ser exibido.
Campo solicitação | Formato | Descrição |
---|---|---|
pMensagem | A | Mensagem a ser apresentada |
Retorno | Descrição |
---|---|
0 | SIM |
1 | NAO |