Академический Документы
Профессиональный Документы
Культура Документы
Classificação: Restrito
Revisor (suporte e
Lincoln Pavelski
adequação):
Histórico de Modificação:
Inclusão de funcionalidade de
02/09/2019 1.2 Antonio Carlos Oliveira personalizar ou remover o texto de
descanso no PinPAD (*obs.:Removendo
texto de Personalização, retornará a
Referência: 05 – Documento Técnico
Grupo: 03 – Desenvolvimento de Sistemas
Assunto: 01 – Especificação Técnica do Sistema PinTEF
Tipo: III – MPO – Manual de Política Operacional
Código: 05.03.01- III
{\"Modo\":\"Desenv\",
\"Canal\":\"47\",
\"Loja\":\"12345678\",
\"Terminal\":\"87654321\",
\"Reservado\":\"000000\",
19/09/2019 1.3 Antonio Carlos Oliveira
\"DadosAdicionais\":\"\"}
Para:
\'{\"Modo\":\"Desenv\",
\"Canal\":\"47\",
\"Loja\":\"12345678\",
\"Terminal\":\"87654321\",
\"Reservado\":\"000000\",
\"DadosAdicionais\":\"\"}\'
Mudança ForcaCargaTabela()
Chamando ForcaCargaTabela,
receberá:
{"response":0,"Mensagem":"Solicitacao
de Carga de Tabela","Estado":0},
chamando novamente receberá a
mensagem anterior ou:
{"response":0,"Mensagem":"Efetuado
Solicitacao de Carga de
07/01/2020 1.5 Antonio Carlos Oliveira Tabela","Estado":1}
{"response":0,"Mensagem":"Carga de
Tabela Recebida","Estado":2}
{"response":0,"Mensagem":"Carga de
Tabela Carregada no
PinPad","Estado":3}
{"response":0,"Mensagem":"
TABELAS ATUALIZADAS
","Estado":4}
03 – Parcelado Administradora
Tef 2.0
Remoção API-REST ForcaCarga Tabela
SUMÁRIO
1 Visão Geral ................................................................................................... 7
2 Escopo ........................................................................................................ 7
4 Conceituação ................................................................................................. 7
5 Objetivo....................................................................................................... 8
1 Visão Geral
1.1. Este documento e seus anexos definem as diretrizes a serem seguidas relativas ao processo de Integração TEF com
automação de vendas a serem utilizados pelos parceiros comerciais da PINbank.
1.2. A elaboração e a atualização deste documento e de seus anexos são de responsabilidade do Departamento de
Dessenvolvimento, Área Técnica – Autorizadores TEF.
Este documento, de estrutura modular, é composto de uma parte principal e de seus anexos. O documento
principal contém as definições e regras gerais. Os anexos são as definições e regras para temas, ou áreas
específicas, conforme estabelecido no presente instrumento para permitir melhorias, adequações e
atualizações progressivas e independentes. DLL/SO. Integração
2 Escopo
2.1. Este documento define as regras e procedimentos gerais para a integração de soluções de automação de vendas de
parceiros comerciais, com o Sistema PinTEF da PINbank.
4 Conceituação
4.1. A este documento aplicam-se as seguintes conceituações:
Automação de Vendas/KIOSK – Aplicação que tem a necessidade de efetuar transações TEF para registro de
pagamento da transação de venda.
DLL/SO – Biblioteca para in.tegração junto a automação de vendas que efetua as transações TEF (Linux/
Windows).
API-REST – Acrônimo de Representational State Transfer. É um estilo de arquitetura de software que define
um conjunto de restrições a serem usadas para criar serviços da web. Os serviços da Web que estão em
conformidade com o estilo arquitetural REST, denominado serviços da Web RESTful, fornecem
interoperabilidade entre sistemas de computador na Internet. Os serviços Web RESTful permitem que os
sistemas solicitantes acessem e manipulem representações textuais de recursos da Web usando um conjunto
uniforme e predefinido de operações sem estado. Mensagem trocada entre a aplicação PinTEF e as DLL/SO
ou utilizada diretamente pela automação de vendas/kiosk.
PINTEF.EXE -Programa que tem por missão ouvir as chamadas API-REST e repassa-las a DLL ou Gateway
5 Objetivo
4.1. Definir regras claras e objetivas para a integração de automação de vendas de parceiros comerciais com o sistema
PinTEF da PINbank.
6 Documentos de Referência
01.01.01 - Política de Elaboração de Instrumentos Normativos.
01.01.02 - Política de Segurança da Informação
01.01.10 – Política de Segurança Para a Aquisição, Desenvolvimento e Manutenção de Sistemas
7 Disposições Gerais
7.1 Esta política será atualizada sempre que necessário, de modo a refletir as necessidade da PINbank.
7.1.1 As atualizações poderão ocorrer no todo ou por partes, tendo em vista a modularidade definida pelo
documento “01.01.01 - Política de Elaboração de Instrumentos Normativos.”
7.1.2 Toda atualização ensejará a atualização do número de versão da política, que é dado na forma
“N.nn”.
7.1.3 As atualizações nos anexos (módulos) gerarão incremento na numeração da parte “nn”, e as
alterações no documento principal gerarão incremento em “N”.
7.2 As alterações nesta política poderão ser feitas por determinação do Comitê Gestor da Segurança da
Informação.
8 Disposições Finais
8.1 Este documento e seus anexos devem ser amplamente divulgados, de acordo com o termo de confidencialidade
previamente assinado, entre todas as partes interessadas, sendo elas, mas não se limitando à colaboradores,
prestadores de serviço, estagiários e parceiros comerciais que atuem na integração de automação de vendas com o
sistema PinTEF da PINbank.
8.2 Este documento e seus anexos deverão estar disponíveis, para acesso ou download, a qualquer tempo, através
dos meios adequados.
2 Objetivo
2.1 Fornecer diretrizes e exemplos para que desenvolvedores de automação comercial possam integrar seus sistemas
com o PinTEF da PINbank, permitindo o uso das transações de pagamento utilizando o Gateway PINbank.
3 Disposições Gerais
Autor Data: Homologador Versão:
Antonio Carlos Oliveira 07/01/2020 Lincoln Pavelski 1.5
Classificação: Vigência Revisor Página: 9 de 25
Restrito 12 meses Anderson Cicotoste
Referência: 05 – Documento Técnico
Grupo: 03 – Desenvolvimento de Sistemas
Assunto: 01 – Especificação Técnica do Sistema PinTEF
Tipo: III – MPO – Manual de Política Operacional
Código: 05.03.01- III
3.1.1.1 Esta é a primeira chamada para a biblioteca CliTefAPI. O objetivo desta chamada é configurar os
parâmetros de conexão com o Gateway de Pagamento.
function ConfiguraTEF (_sJSON: pChar; _SzJSON: integer): integer stdcall ; external 'CliTefAPI.dll';
extern "C" unsigned long __declspec(dllexport) __stdcall ConfiguraTEF (char* _sJSON, int _SzJSON);
* (PChar contém uma string JSON conforme exemplo abaixo)
3.1.1.1.1 Entrada
Campo Tipo Descrição
Modo Texto(15) Literal “Desenv” ou “Producao”, esta chave indicara ao TEF usar
o IP de Desenvolvimento ou de Produção
Canal Texto(3) identificador do Canal do Estabelecimento
3.1.1.1.2 Saída
Campo Descrição
Modo Campo em “echo” (rebate a mensagem)
Campo Descrição
Terminal Campo de identificação de Terminal adquirente,
3.1.2.1 Esta chamada para a biblioteca tem objetivo de iniciar uma transação TEF, dependendo do código de
função passado como parametro será iniciado uma funcionalidade.
3.1.2.1.1 Ex.: Pagamento com Cartão de Credito, Cancelamento de Pagamento efetuado com Conta
Digital, etc.
3.1.2.1.2 Interface REST (Método POST)
3.1.3.1 Esta chamada para a biblioteca CliTefAPI. Tem por objetivo identificar a funcionalidade de TEF, bem
como passar os valores iniciais para a sua execução.
function IniciaFuncaoTEF (_sJSON: pChar; _SzJSON: integer): integer stdcall ; external 'CliTefAPI.dll';
extern "C" unsigned long __declspec(dllexport) __stdcall IniciaFuncaoTEF (char* _sJSON, int _SzJSON);
* (PChar contém uma string JSON conforme exemplo abaixo)
3.1.3.1.1 Entrada
Campo Descrição
Funcao Campo echoado
response
3.1.9 Tabela Retornos/Mensagens de
de Autorizador/Switch/Gateway (Uso
internacionalização Equivalente do POS A920)
BodyInicia.json
{"Funcao" : 3,"Valor" : "10000","CupomFiscal" : "87654321","DataHoraFiscal" :
"20180404153200","Operador" : "Junior","DadosAdicionais" : "\"\""}
3.1.4.1 A chamada tem por objetivo a continuidade da coleta de informação necessária a execução do TEF, e uma vez
que possua as informações necessárias para sua execução será enviado a mensagem ao gateway de pagamento para
a sua efetivação.
3.1.4.1.1 Entrada
3.1.4.1.2 Saída
BodyContinua.json
{"Continua":0,"Buffer":""}
3.1.5.1 Última rotina a ser invocada e tem a premissa de confirmar ou não a transação solicitada, bem como
complementar informações quanto a pagamento em outras formas e valores para efeito de conciliação.
3.1.5.1.1 Entrada
3.1.5.1.2 Saída
BodyFinaliza.json
{"Confirma" : 0, "CupomFiscal" : "87654321","DataHoraFiscal" : "20180404160400","DadosAdic" :
""}
3.2.1 Esta interface legada foi desenvolvida para ser utilizada em substituição, possuindo praticamente a mesma
assinatura, no entanto sugerimos validar os valores/tipos dos campos e funcionalidades utilizados na interface JSON
function ConfiguraTEFLeg (_sIP : pChar, _sLoja : pChar, _Terminal : pChar, _sReservado: integer,
_sDadosAdicionais : pChar) : integer stdcall ; external 'CliTefAPI.dll';
function IniciaFuncaoTEFLeg (Longint _Funcao, _Valor : pChar, _CupomFiscal : pChar, _DataFiscal : pChar,
_HoraFiscal : pChar, _Operador : pChar, _DadosAdicionais : pChar) : integer stdcall ; external 'CliTefAPI.dll';
extern "C" unsigned long __declspec(dllexport) __stdcall ConfiguraTEFLeg (const char* _sIP, const char* _sLoja,
const char* _Terminal, short _sReservado, const char* _sDadosAdicionais);
extern "C" unsigned long __declspec(dllexport) __stdcall IniciaFuncaoTEFLeg (const long _Funcao, const char* _Valor,
const char* _CupomFiscal, const char* _DataFiscal, const char* _HoraFiscal, const char* _Operador, const char*
_DadosAdicionais);
extern "C" unsigned long __declspec(dllexport) __stdcall ContinuaFuncaoTEFLeg (int* _Comando, long* _TipoCampo,
short* _TamanhoMin, short* _TamanhoMax, char* _sBuffer, int _TamBuffer, int _Continua);
extern "C" unsigned long __declspec(dllexport) __stdcall FinalizaFuncaoTEFLeg (short _Confirma, const char*
_CupomFiscal, const char* _DataFiscal, const char* _HoraFiscal, const char* _DadosAdicionais);
Código Descrição
0 Menu de Pagamentos
3 Pagamento com cartão Crédito
2 Pagamento com cartão Débito
200 Menu de Cancelamentos
210 Cancelamento pagamento cartão Crédito
211 Cancelamento pagamento cartão Débito
Código Descrição
0 Retorno a ser utilizado para automação
1 Mensagem do Cliente
2 Mensagem do Operador
3 Mensagem para Ambos
21 Menu de Seleção
23 Pinpad em Operação, se automação desejar pode ser interrompido
29 Automação deverá retornar um campo de tamanho entre mínimo e máximo e retornar ao
modulo TEF(Sem coleta ao operador)
30 Automação deverá retornar um campo de tamanho entre mínimo e máximo e retornar ao
modulo TEF(Coleta junto ao Operador)
Código Descrição
100 Modalidade de pago
XX GRUPO NN SUB-GRUPO
00 Cheque 00 À Vista
01 Crt.Débito 01 Pré-Datado
02 Crt.Crédito 02 Parcelado Estabelecimento
03 Voucher 03 Parcelado Administradora
04 Fidelidade 99 Outro Tipo de Pago
98 Dinheiro
00 Outro Cartão
102 Texto Descritivo da Transação
105 Data/Hora da Transação retornada do autorizador
121 Comprovante via Cliente
122 Comprovante via Caixa
131 Índice da Instituição Autorizadora
CÓD. INSTITUIÇÃO
01 Stone
02 Adiq
134 NSU do Host
136 Bin do Cartão
505 Numero de Parcelas
1003 Nome do Portador do Cartão
1012 Data vencimento do Cartão AAMM
1190 Embosso Cartão (4 últimos dígitos)
2333 Identificação da Transação
5057 Moeda Corrente
5058 Aplicativo Chip
Sem Erro
0
Disposições Finais
2.1 Funcionamento básico.
2.1.1 A automação de Vendas/Kiosk deverá iniciar chamando o procedimento “ConfiguraTEF” com os parâmetros
devidos e verificar o seu retorno, se o seu retorno foi “0” a configuração foi efetuada com sucesso permitindo a
continuidade do processo, em caso de erro , valor diferente de “0.
2.1.2 No caso do retorno com sucesso “0”, será necessário agora a execução do procedimento “IniciaFuncaoTEF” com
os devidos parâmetros, e verificar o seu retorno, se o mesmo foi “10000” a iniciação da funcionalidade foi efetuada
com sucesso permitindo sua continuidade, em caso contrário a funcionalidade será encerrada.
2.1.3 Após a execução da iniciação da função, será necessário a chamada continuada do procedimento
“ContinuaFuncaoTEF” enquanto seu retorno for igual a “10000” e efetuar os tratamentos pertinentes. Se o retorno
for igual a “0” a transação TEF esta aguardando a sua confirmação ou cancelamento e para isto deve-se utilizar o
procedimento final “FinalizaFuncaoTEF”.
2.3 Conforme a figura acima que exemplifica o fluxo do processo do sistema PinTEF da PINbank, após o “Retorno = 0” da
função “ContinuaFuncaoTEF()”, que significa sucesso, a automação comercial deverá tratar a impressão do cupom
retornado pelo PinTEF.
2.3.1 No caso de sucesso, a automação deverá chamar a rotina “FinalizaFuncaoTEF()”, com o o valor “1”, que significa
a confirmação do sucesso da impressão do cupóm e consequentemente confirmação da transação TEF.
2.3.2 No caso de falha, a automação comercial deverá chamar a rotina “FinalizaFuncaoTEF()”, com o o valor “0”, que
significa a não impressão do cupom e consequentemente o cancelamento da transação TEF.