Sie sind auf Seite 1von 24

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

MANUAL DE UTILIZAO PINPAD SEGURO

"Este documento possui informaes e tecnologia de propriedade exclusiva da Software Express, no podendo, a no ser quando de autorizao previa e escrita fornecida unicamente pela Software Express, ser reproduzido, utilizado ou divulgado por qualquer meio ou modo total ou parcialmente para outro fim que no seja o de servir de interface entre um sistema de processamento de dados e o SiTef".

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 1
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

NDICE
1. INTERFACES DE COMUNICAO COM O PINPAD SEGURO ................................ ............................. 3 2. INTERFACE PARA WINDOWS................................ ................................ ................................ ................... 3
2.1 ENTRYPOINTS ................................ ................................ ................................ ................................ ............... 3
2.1.1 SESolicitaSenhaDedicad o ................................ ................................ ................................ ................................ ...... 3 2.1.2 SEObtemSenha ................................ ................................ ................................ ................................ ...................... 4 2.1.3 SESolicitaConf ................................ ................................ ................................ ................................ ....................... 4 2.1.4 SEObtemCon f ................................ ................................ ................................ ................................ ........................ 5 2.1.5 SEMsgPadrao................................ ................................ ................................ ................................ ......................... 5 2.1.6 SESolicitaTrilha1_2 ................................ ................................ ................................ ................................ ............... 5 2.1.7 SESolicitaTrilhas ................................ ................................ ................................ ................................ ................... 6 2.1.8 SEObtemTrilha1_2................................ ................................ ................................ ................................ ................. 6 2.1.9 SEFinalizar ................................ ................................ ................................ ................................ ............................ 6

2.2 CONFIGURANDO O PINPAD NO WINDOWS ................................ ................................ ................................ .... 7


2.2.1 Arquivo con figurao d o PinPad - Windows ................................ ................................ ................................ ........... 7 2.2.2 PinPad Verifone - Windows ................................ ................................ ................................ ................................ ... 7 2.2.3 PinPad Dione - Windows................................ ................................ ................................ ................................ ........ 7 2.2.4 PinPad Schlumberger - Windows ................................ ................................ ................................ ............................ 8

2.3 ARQUIVOS NECESSRIO PARA APLICAES EM 16 BITS................................ ................................ .................. 8 2.4 ARQUIVOS NECESSRIO PARA APLICAES EM 32 BITS................................ ................................ .................. 8 2.5 EXEMPLO DE UTILIZAO EM VB ................................ ................................ ................................ .................. 9

3. INTERFACE PARA DOS ................................ ................................ ................................ ............................ 11


3.1 APIS DA TSR - SITPIN ................................ ................................ ................................ .............................. 11
3.1.1 CMD_SOLICITA_CONFIRMACAO ................................ ................................ ................................ ................... 11 3.1.2 CMD_OBTEM_CONFIRMACAO ................................ ................................ ................................ ....................... 12 3.1.3 CMD_FINALIZA_SOLICITACAO ................................ ................................ ................................ ..................... 12 3.1.4 CMD_SOLICITA_SENHA ................................ ................................ ................................ ................................ .. 12 3.1.5 CMD_OBTEM_SENHA ................................ ................................ ................................ ................................ ...... 13 3.1.6 CMD_MSG_PADRAO ................................ ................................ ................................ ................................ ........ 13 3.1.7 CMD_Solicita_Trilha1_2 ................................ ................................ ................................ ................................ ..... 13 3.1.8 CMD_Solicita_Trilhas ................................ ................................ ................................ ................................ ......... 14 3.1.9 CMD_Obtem_Trilha1_2................................ ................................ ................................ ................................ ....... 14

3.2 CONFIGURANDO O PINPAD PARA DOS ................................ ................................ ................................ ...... 15


3.2.1 PinPad Verifone - DOS ................................ ................................ ................................ ................................ ........ 15 3.2.2 PinPad Dione - DOS................................ ................................ ................................ ................................ ............. 16

3.3 ARQUIVOS NECESSRIO PARA APLICAES DOS ................................ ................................ ......................... 16 3.4 PROCEDIMENTOS PARA APLICAES DOS ................................ ................................ ................................ ... 16 3.5 EXEMPLO DE UTILIZAO DA TSR PARA O PINPAD ................................ ................................ ................... 17

4. TABELA STATUS DE RETORNO ................................ ................................ ................................ .............. 23 5. PINPADS DISPONVEIS ................................ ................................ ................................ .............................. 24 6. BIBLIOGRAFIA................................ ................................ ................................ ................................ ............ 24

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 2
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

1. Interfaces de comunicao com o PINPAD Seguro


O PINPAD Seguro um dispositivo que aceita a entrada de s enhas pessoais, que por motivo de segurana criptografa os nmeros digitados e os envia a um dispositivo conectado. O PIN serve como uma assinatura eletrnica para as transaes de dbito. A interface fsica entre o PINPAD e o mdulo de controle feita atravs de uma porta serial definida pelo usurio.

2. Interface para Windows


Para facilitar o controle e obteno de s enhas criptografadas do PINPAD sob ambiente WINDOWS uma interface foi des envolvida, na for ma de uma DLL (Dinamic Link Library) nomeada SITPIN quando uso de executveis 16 bits e SITPIN32 quando executveis 32 bits. O modulo SITPIN incorpora todas as funes bsicas referentes a programao do PINPAD e sua interface fsica (Conectores). Atravs do SITPIN o usurio poder obter infor maes de senha criptografada ou mes mo mostrar mensagens informativas ao usurio.

2.1 Entrypoints
As APIs disponibilizadas pela DLL so: 2.1.1 SESolicitaSenhaDedicado Solicita a digitao da senha ao usurio, podendo ser enviada tambm uma mensagem especifica. Nome Trilha2 Mensagem Working Key Tipo alfanumrico alfanumrico alfanumrico Tam, 40 16 20 Descrio Domnio Trilha2 do carto Mensagem a ser mostrada no displa y do PIN Campo obtido atravs do s ervio 3 quando do retorno da transao de consulta de bins. Retorno da funo 00= OK E/S E E E

Status

alfanumrico

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 3
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 2.1.2 SEObtemSenha Obtm a senha criptografada digitada pelo usurio. Esta funo deve ser chamada at que o parmetro status retorne 00 ou um status de erro (Cdigo difer ent e de 00 e 99). Quando o status retornado for igual a 99 indicada que senha ainda no foi digitada pelo usurio. Um controle de timeout poder ser realizado enquanto a funo estiver retornando 99. Nome Senha Tipo alfanumrico Tam, 20 Descrio Domnio Tamanho senha (02) Senha Cript. (at 18).Quando enviar a senha ao SiTef excluir os dois bytes de tamanho. Retorno da funo 00 = OK 01a 98 erro 99 rechamar E/S S

Status

alfanumrico

S = =

2.1.3 SESolicitaConf Solicita ao usurio a confir mao de uma operao. Nome Mensagem Status Tipo alfanumrico alfanumrico Tam, 16 2 Descrio Domnio Mensagem a ser mostrada no displa y do PIN Retorno da funo 00 = OK 01a 98 erro 99 rechamar E/S E S = =

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 4
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 2.1.4 SEObtemConf Obtm do usurio a confir mao. Esta fun o deve ser chamada at que o parmetro status retorne 00 ou um erro ocorra (Status diferente de 00 e 99). Se des ejado um timeout poder ser controlado enquanto a funo estiver retornando 99. Nome Status Tipo alfanumrico Tam, 2 Descrio Retorno da funo Domnio E/S 00 = OK S 01 a 98 = erro 99 = rechamar

2.1.5 SEMsgPadrao Estabelece uma mensagem padro para o display do PINPAD. Esta mensagem continuar a ser mostrada quando o PINPAD no estiver sendo utilizado. Nome Mensagem Status Tipo alfanumrico alfanumrico Tam, 16 2 Descrio Domnio E/S Mensagem a ser E mostrada no displa y do PIN Retorno da funo 00 = OK S 01 a 99 = erro

2.1.6 SESolicitaTrilha1_2 Solicita ao usurio a leitura da trilha1 e da trilha2 do carto. Esta funo no per mitida para novas homologaes. Nome Status Tipo alfanumrico Tam, 2 Descrio Retorno da funo Domnio 00 = OK 01a 98 erro 99 rechamar E/S S = =

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 5
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 2.1.7 SESolicitaTrilhas Solicita ao usurio a leitura da trilha1 e da trilha2 do carto. Esta fun o obrigatria para as novas homologaes. Nome Modalidade Tipo Alfanumrico Tam, 1 Descrio Infor ma a modalidade da transao (dbito/crdito) Retorno da funo Domnio 1 Crdito 2 Dbito E/S E

Status

alfanumrico

00 = OK 01a 98 erro 99 rechamar

S = =

2.1.8 SEObtemTrilha1_2 Obtm a leitura realizada da trilha1 e da trilha2 do carto. Esta funo deve ser chamada at que o par metro status retorne 00 ou um erro ocorra (Status diferente de 00 e 99). Se desejado um timeout poder ser controlado enquanto a funo estiver retornando 99. Nome Trilha1 Trilha2 Status Tipo alfanumrico alfanumrico alfanumrico Tam, 80 40 2 Descrio Domnio Trilha1 Magntica do carto. Trilha2 Magntica do carto. Retorno da funo 00 = OK 01a 98 erro 99 rechamar E/S S S S = =

2.1.9 SEFinalizar Libera as interrupes e porta de comunicao com o PINPAD. Esta fun o dever ser utilizada sempre que o sistema finalizar uma operao que solicitar uma interven o do usurio. Sendo que, a n o finalizao dos mdulos de comunicao poder causar danos ao sistema. Esta fun o no necessita de parmetros.

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 6
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

2.2 Configurando o PINPAD no Windows


A configurao do PINPAD obtida a partir de um arquivo tipo (.INI). Este arquivo deve residir no diretrio raiz do sistema operacional (Ex. \WINDOWS). 2.2.1 Arquivo configurao do PinPad - Windows Nome do Arquivo : PPVISA.INI Contedo para Int erface de 32 bits: [General] Driver32= path\(dll do fabricante do Pin) BINFile=path\ppvisa.bin [VFN] Config = PortaSerialxxxxxxxxxx [DIO] Port=1 SAM=1 [SLB] Port=2 SAM=1

2.2.2 PinPad Verifone - Windows Utilizar seo [VFN] Portaserial = nmero da porta serial do microcomputador (1 a n) Xxxxxxxxx = 201 quando verso do PinPad for inferior a 000825 EEVC quando verso do PinPad for de 000825 a 0001120 CHIP quando a verso do PinPad for 0001121 ou superior. Caso n o seja especificado assume-se o default 1CHIP. 2.2.3 PinPad Dione - Windows Utilizar seo [DIO] Port = nmero da porta serial do microcomputador (1 a n) SAM = nmero do slot onde se encontra instalado o modulo SAM
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 7
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 2.2.4 PinPad Schlumberger - Windows Utilizar seo [SLB] Port = nmero da porta serial do microcomputador (1 a n) SAM = nmero do slot onde se encontra instalado o modulo SAM

2.3 Arquivos necessrio para aplicaes em 16 bits


Arquivo\PinPad SITPIN.DLL PPVISA.INI PPVISA.BIN PPW16.DLL PPDIOW16.DLL PPSLBW16.DLL PPVFNW16.DLL DIONE X X X X X SCHLUMBERGER X X X X X X VERIFONE X X X X

2.4 Arquivos necessrio para aplicaes em 32 bits


Arquivo\PinPad SITPIN32.DLL PPVISA.INI PPVISA.BIN PPW32.DLL PPDIOW32.DLL PPSLBW32.DLL PPVFNW32.DLL DIONE X X X X X SCHLUMBERGER X X X X X X VERIFONE X X X X

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 8
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

2.5 Exemplo de utilizao em VB


Declaraes Public Declare Sub SESolicitaSenhaDedicado Lib "c: \winnt\sitpin32.dll" Alias "_SESolicitaSenhaDedicado" (ByVal Trilha2Pin As String, ByVal MsgEnvPin As String, ByVal work As String, ByVal Status As String) Public Declare Sub SEObtemSenha Lib "c: \winnt\sitpin32.dll" Alias "_SEObtemSenha" (ByVal SenhaPin As String, ByVal Status As String) Public Declare Sub SESolicitaConf Lib "c:\winnt\sitpin32.dll" Alias "_SESolicitaConf" (ByVal MsgPin As String, ByVal Status As String) Public Declare Sub SEObtemConf Lib "c: \winnt\sitpin32.dll" Alias "_SEObtemConf" (ByVal Status As String) Public Declare Sub SEMsgPadrao Lib "c:\winnt\sitpin32.dll" (ByVal MsgEnv As String, ByVal Status As String) Public Declare Sub SEObtemTrilha1_2 Lib "c: \winnt\sitpin32.dll" (ByVal Trilha1Pin As String, ByVal Trilha2Pin As String, ByVal Status As String) Public Declare Sub SESolicitaTrilha1_2 Lib "c: \winnt\sitpin32.dll" (ByVal Status As String) Public Declare Sub SEFinalizar Lib "c: \winnt\sitpin32.dll" ()

Exemplo da Leitura da Trilha2 Sub le_cartao_magnetico() status_cartao_mag = String(2, " ") result = 0 HoraInicial = Timer Do Until status_cartao_mag = "00" SESolicitaTrilha1_2 status_cartao_mag If (status_cartao_mag = "99") Or (status_cartao_mag < "00") Then HoraAtual = Timer If HoraAtual - HoraInicial > TimeOut Then testa_retorno_pin Exit Sub End If
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 9
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ Else testa_retorno_pin If status_cartao_mag = "00" Then Exit Do Else Exit Sub End If End If Loop Trilha1_cartao_mag = String(80, " ") Trilha2_cartao_mag = String(40, " ") status_cartao_mag = String(2, " ") result = 0 HoraInicial = Timer mensagem_display = "PASSE O CARTO" Do Until status_cartao_mag = "00" SEObtemTrilha1_2 trilha1_cartao_mag, trilha2_cartao_ma g, status_cartao_mag If (status_cartao_mag = "99") Then HoraAtual = Timer If HoraAtual - HoraInicial > TimeOut Then testa_retorno_pin Exit Sub End If Else mensagem_display = "" testa_retorno_pin Exit Do End If Loop End Sub

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 10
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

3. Interface para Dos


Visando facilitar a programao da interface com o PINPAD no ambient e DOS, foi des envolvida uma TSR, que efetua o controle e a obten o de senhas criptografadas. O nome da TSR SITPIN. O modulo SITPIN incorpora todas as funes bsicas referentes a programao do PINPAD e sua interface fsica (Conectores). Atravs do SITPIN o usurio poder obter infor maes de senha criptografada ou mes mo mostrar mensagens infor mativas ao usurio. A int erface fsica entre o PINPAD e o mdulo de controle feita atravs de porta serial definida pelo usurio.

3.1 APIs da TSR - SITPIN


SITPIN disponibiliza APIs para as seguintes funes : Solicitao de confir mao do usurio, Obtm confir mao do usurio, Finaliza solicitao ao usurio, Solicitao de senha ao usurio, Obtm senha ao usurio, Envia mensagem padro, Solicita leitura da trilha2, Obtm leitura da trilha2.

3.1.1 CMD_SOLICITA_CONFIRMACAO Solicita ao usurio a confir mao de uma operao. Nome Mensagem Status Tipo alfanumrico alfanumrico Tam, 16 2 Descrio Domnio Mensagem a ser mostrada no displa y do PIN Retorno da funo 00= OK E/S E S

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 11
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 3.1.2 CMD_OBTEM_CONFIRMACAO Obtm do usurio a confirmao de uma operao. Esta funo deve ser chamada at que o parmetro status retorne 00 ou um status de erro (status diferente de 00 e 99). Se des ejado um timeout poder ser controlado enquanto a funo estiver retornando 99. Nome Status Tipo alfanumrico Tam, 2 Descrio Retorno da funo Domnio 00 = OK 01a 98 erro 99 rechamar E/S S = =

3.1.3 CMD_FINALIZA_SOLICITACAO Esta fun o no necessita de parmetros e existe apenas para manter compatibilidade com verses anterior es.

3.1.4 CMD_SOLICITA_SENHA Solicita ao usurio a digitao da senha. Nome Trilha2 Mensagem WorkingKey Tipo alfanumrico alfanumrico alfanumrico Tam, 40 32 20 Descrio Domnio Trilha 2 do carto Mensagem a ser apres entada no display do PINPAD Chave de criptografia obtida no servio 3 do SiTef. Retorno da funo 00 = OK 01 a 98 = erro E/S E E E

Status

alfanumrico

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 12
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 3.1.5 CMD_OBTEM_SENHA Obtm a senha digitada pelo usurio, de for ma criptografada. Esta fun o deve ser chamada at que o parmetro Status retorne OK ou um cdigo de erro diferente de 99. Se des ejar um timeout, este dever s er controlado pela aplicao, ficando em loop de chamadas da funo enquanto no existirem dados ou at ultrapassar o tempo estipulado. Nome Senha Tipo alfanumrico Tam, 20 Descrio Domnio E/S Tamanho senha (02) S Senha Cript. (at 18). Quando enviar a senha ao SiTef excluir os dois bytes de tamanho. Retorno da funo 00 = OK S 01 a 99 = erro

Status

alfanumrico

3.1.6 CMD_MSG_PADRAO Estabelece uma mensagem padro para o display do PINPAD. Esta mensagem continuar a ser mostrada quando o PINPAD no estiver sendo utilizado. Nome Mensagem Status Tipo alfanumrico alfanumrico Tam, 16 2 Descrio Domnio E/S Mensagem a ser E mostrada no displa y do PIN Retorno da funo 00 = OK S 01 a 99 = erro

3.1.7 CMD_Solicita_Trilha1_2 Solicita ao usurio a leitura da trilha1 e da trilha2 do carto. Esta funo no per mitida para novas homologaes. Nome Status Tipo alfanumrico Tam, 2 Descrio Retorno da funo Domnio 00 = OK 01a 98 erro 99 rechamar E/S S = =

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 13
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 3.1.8 CMD_Solicita_Trilhas Solicita ao usurio a leitura da trilha1 e da trilha2 do carto. Esta fun o obrigatria para as novas homologaes. Nome Modalidade Tipo Alfanumrico Tam, 1 Descrio Infor ma a modalidade da transao (dbito/crdito) Retorno da funo Domnio 1 Crdito 2 Dbito E/S E

Status

alfanumrico

00 = OK 01a 98 erro 99 rechamar

S = =

3.1.9 CMD_Obtem_Trilha1_2 Obtm a leitura realizada da trilha1 e da trilha2 do carto. Esta funo deve ser chamada at que o par metro status retorne 00 ou um erro ocorra (Status diferente de 00 e 99). Se desejado um timeout poder ser controlado enquanto a funo estiver retornando 99. Nome Trilha1 Trilha2 Status Tipo alfanumrico alfanumrico alfanumrico Tam, 80 40 2 Descrio Domnio Trilha1 Magntica do carto. Trilha2 Magntica do carto. Retorno da funo 00 = OK 01a 98 erro 99 rechamar E/S S S S = =

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 14
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

3.2 Configurando o PINPAD para DOS


3.2.1 PinPad Verifone - DOS A configurao dever ser realizada no arquivo CONFIG.SYS DEVICE[HIGH] = PPFVN.SYS [/Config=<strcfg>] [/Esc=<scancode>] onde: <strcfg> = string de configuracao do PIN-pad no for mato "pmmm.." p = porta s erial do PIN-pad (1 ou 2). mmm.. = verso do emulador carregado no PIN-pad: "CHIP" = quando vers o do PinPad for 001121 ou superior "EEVC" = quando verso do PinPad for de 000825 0001120 "201" = quando verso do PinPad for inferior a 000825 <scancode> = "scan code" de uma tecla a ser utilizada para cancelamento das funcoes blocantes. Exemplo com o PinPad conectado a COM2, com verso para CHIP e tecla de cancelamento [F1]: DEVICE = PPFVN.SYS /Config=2CHIP /Esc=59

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 15
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ 3.2.2 PinPad Dione - DOS A configurao dever ser realizada no arquivo CONFIG.SYS DEVICE[HIGH] = PPDIO.SYS [/Port=<port#>] [/SAM=<slot#>] [/Esc=<scanc ode>] onde: <port#> = numero da porta serial (1 ou 2, default=1) <slot#> = numero do soquete do SAM VISA (1 a 3, default=1) <scancode> = "scan code" de uma tecla a ser utilizada para cancelamento das funes blocantes. Exemplo com o PinPad conectado a COM2 e tecla de cancelamento [F1] : DEVICE = PPDIO.SYS /Port=2 /SAM=3 /Esc=59

3.3 Arquivos necessrio para aplicaes DOS


Arquivo\PinPad SITPIN.EXE PPDIO.SYS PPVFN.SYS DIONE X X VERIFONE X X

3.4 Procedimentos para aplicaes DOS


Carregar o programa PPxxx.SYS no arquivo CONFIG.SYS confor me PinPad a ser utilizado; Executar o programa SITPIN.EXE.

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 16
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

3.5 Exemplo de utilizao da TSR para o PINPAD


Programa Teste.c #include <stdlib.h> #include <dos.h> #include "trata.h" typedef unsigned long ulong; static char far *lpParam; int PinMsgPadrao ( ); int PinConfir macao ( ); int PinSenha (char *pSenha, char *pWorkingKey ); void EnviaCmdTsr ( int iCmd, void *pDadosApi); ulong ReadTime(); void W_NSeconds (ulong l); void W_NMiles ecs (ulong l); /*----------------------------- PROTOTYPES ---------------------------------*/ void main ( void) { int i ; char Senha [22] ,WorkingKey [25] ; PinMsgPadrao ( ); i = PinConfir macao ( ); switch (i) { case 0: printf ("\n O usuario confir mou"); break; case 9: printf ("\n o usuario cancelou"); break; default: printf ("\n Erro na solicitacao %d ", i);
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 17
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ } strcpy (WorkingKey, "99123456789012345678"); i = PinSenha ( Senha, WorkingKey ); if (i == 0 ) { Senha[20] = 0; printf ("\nSenha ->%s", Senha); } } int PinMsgPadrao ( ) { DADOSAPI_MSG_PADRAO ApiMsgPadrao ; strncpy (ApiMsgPadrao.inMsg, "Software Express", 16); EnviaCmdTsr ( CMD_MSG_PADRAO, &ApiMsgPadrao); printf ("\nstatus eh ->%c%c", ApiMsgPadrao.Status[0], ApiMsgPadrao.Status[1]); return ( (ApiMsgPadrao.Status[0] - '0') + (ApiMsgPadrao.Status[1] - '0') ); } int PinConfir macao ( ) { DADOSAPI_CONFIRMACAO ApiConfir macao; DADOSAPI_OBTEM_CONF ApiObtemC onf; int i= 0 ; /* * Inicializando os parametros da chamada */ strns et (ApiConfir macao.inMsg, ' ', sizeof (ApiConfir macao.inMsg)); strncpy (ApiC onfir macao.inMsg, "Confir ma ", 16); EnviaCmdTsr ( CMD_SOLICITA_CONFIRMACAO, &ApiConfir macao); /* * Aguardando a Mensagem Por aproximadamente 30s */
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 18
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ do { EnviaCmdTsr (CMD_OBTEM_CONFIRMACAO, &ApiObtemC onf); W_NSeconds (1L); i ++; } while ((strncmp(ApiObtemC onf.Status, "99", 2) == 0) && ( i < 30)); EnviaCmdTsr ( CMD_FINALIZA_SOLICITACAO, " "); /* retornos * 00 -> confir macao do usuario * 09 -> Cancelamento * 99 -> Contitua Pesquisa , nada foi retornado pelo pinpad * xx -> Erro ver tabela de erros */ printf ("\nstatus eh ->%c%c", ApiObt emC onf.Status[0], ApiObtemC onf.Status[1]); return ((ApiObtemC onf.Status[0] - '0') + (ApiObtemC onf.Status[1] - '0')); } int PinSenha (char *pSenha, char *pWorkingKey ) { DADOSAPI_SENHA ApiSenha; DADOSAPI_OBTEM_SENHA ApiObt emSenha; int i= 0 ; /* * Inicializando os parametros da chamada */ strns et (ApiSenha.inMsg, ' ', sizeof (ApiSenha.inMsg)); strncpy (ApiSenha.inMsg, "Infor me A Senha SiTef ", TAM_MSG32); strcpy (ApiSenha.inTrilha2, "4341123456789012=1203 01010000000000000"); memcpy (ApiSenha.inWorkingKey, pWorkingKey, TAM_WORKINGKEY);

EnviaCmdTsr ( CMD_SOLICITA_SENHA, &ApiSenha); /* * Aguardando a Mensagem Por aproximadamente 30s */ do {


Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 19
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ EnviaCmdTsr (CMD_OBTEM_SENHA, &ApiObtemSenha); W_NSeconds (1L); i ++; // status = 99 continua pesquisa } while ((strncmp(ApiObtemSenha.Status, "99", 2) == 0) && ( i < 30)); EnviaCmdTsr ( CMD_FINALIZA_SOLICITACAO, " "); if (strncmp(ApiObt emSenha.Status, "00", 2) == 0) memcpy (pSenha, ApiObtemSenha.Senha, TAM_SENHA); else mems et (pSenha, '0', TAM_SENHA); /* retornos * 00 -> Usuario infor mou a senha * 99 -> Contitua Pesquisa , nada foi retornado pelo pinpad * xx -> Erro ver tabela de erros */ printf ("\nstatus eh ->%c%c", ApiObt emSenha.Status[0], ApiObtemSenha.Status[1]); return ((ApiObtemSenha.Status[0] - '0') + (ApiObtemSenha.Status[1] - '0')); } void EnviaCmdTsr ( int iCmd, void *pDadosApi) { struct SREGS sregs; union REGS regs; lpParam = pDadosApi; regs.x.bx = FP_OFF (lpParam); sregs.es = FP_SEG (lpParam); regs.x.ax = iCmd; int86x (INT_PIN, &regs, &regs, &sregs); } ulong ReadTime() { ulong milleseconds; union REGS r; r.h.ah = 0x2c; int86 (0x21,&r,&r);
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 20
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ milles econds = (long) r.h.dl * 10; // dl :centesimos milles econds += (long) r.h.dh * 1000; // dh :segundos milles econds += (long) r.h.cl * 60000L; // cl :minutos milles econds += (long) r.h.ch * 3600000L; // ch :horas return ( milles econds ); } void W_NSeconds (ulong l) { ulong TimeTow; TimeTow = ReadTime () + (l * 1000L) ; /* readtime retorna em miles egundos*/ while (ReadTime () < TimeTow); }

void W_NMiles ecs (ulong l) { ulong TimeTow; TimeTow = ReadTime () + l ; /* ReadTime retorna em miles egundos*/ while (ReadTime () < TimeTow); } Include Trata.h #ifndef _TRATA_H #define _TRATA_H #define INT_PIN #define #define #define #define #define #define #define #define #define #define /*
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

0x65

CMD_CONFIGURA 1 CMD_FINALIZA_SOLICITACAO 2 CMD_SOLICITA_SENHA 3 CMD_SOLICITA_CONFIRMAC AO 4 CMD_SOLICITA_TRILHA1_2 6 CMD_SOLICITA_TRILHAS 7 CMD_OBTEM_SENHA CMD_OBTEM_CONFIRMACAO CMD_OBTEM_TRILHA1_2 CMD_MSG_PADRAO 13 14 16 20

Pgina - 21
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ * De finica o das estruturas da API * */ #define TAM_MSG32 32 #define TAM_MSG16 16 #define TAM_STAT US 2 #define TAM_SENHA 20 #define TAM_TRILHA1 80 #define TAM_TRILHA2 40 #define TAM_WORKINGKEY 20 typedef struct { char inMsg [TAM_MSG16]; char Status [TAM_STAT US]; } *LPDADOSAPI_MSG_PADRAO, DADOSAPI_MSG_PADRAO; typedef struct { char Status [TAM_STAT US]; } *LPDADOSAPI_OBTEM_CONF, DADOSAPI_OBTEM_CONF; typedef struct { char Senha [TAM_SENHA]; char Status [TAM_STAT US]; } *LPDADOSAPI_OBTEM_SENHA, DADOS API_OBTEM_SENHA; typedef struct { char inMsg [TAM_MSG16]; char Status [TAM_STAT US]; } *LPDADOSAPI_CONFIRMAC AO, DADOSAPI_CONFIRMAC AO; typedef struct { char inTrilha2 [TAM_TRILHA2]; char inMsg [TAM_MSG32]; char inWorkingKey[TAM_WORKINGKEY]; char Status [TAM_STATUS]; } *LPDADOSAPI_SENHA, DADOS API_SENHA; typedef struct
Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 22
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[ { unsigned char inPorta ; unsigned char tpPinPad; char Status [TAM_STAT US]; } *LPDADOSAPI_CONFIG, DADOSAPI_CONFIG; #endif

4. Tabela Status de retorno


Cdigo 00 01 02 03 05 08 09 12 13 14 15 16 17 18 50 51 52 99 Descrio Solicitao atendida Erro ao inicializar o PINPAD Erro ao inicializar a porta de comunicao. Possivelment e, a porta de comunicao esta sendo utilizada ou alocada para outro recurso. Erro ao inicializar as funes do PINPAD O cdigo da rede solicitada no corresponde a uma Masterkey disponvel per mitida. Aconteceu um erro de comunicao com o PINPAD ao solicitar a s enha. Tent e outra vez. Usurio pressionou a tecla CLEAR. Falha na comunicao com o PINPAD. Erro ao iniciar a leitura do carto. O PINPAD no dispe de leitor de cartes. Porta de comunicao invlida. Tipo de PINPAD invalido. PINPAD no configurado. Rede invlida. Arquivo externo ausente (dll, etc..) Erro ao acessar o PinPad Erro na capturar de Trilha/Chip Aps a solicitao de uma entrada do usurio, o modulo de PINPAD fica aguardando os dados obtidos do usurio pelo PINPAD. Com este cdigo de resposta o modulo indica ao programa cliente que o PINPAD ainda no repassou os dados obtidos do usurio. Sendo assim, o programa cliente poder decidir s e continuar a aguardar os dados chamando a mes ma funo novamente ou se cancelara a solicitao devido um timeout ou deciso do usurio.

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 23
NOVEMBRO/2001

SiTef - \Soluo inteligente para Transferncia Eletrnica de Fundos[

5. PINPADs disponveis
Modelo DIONE SCHLUMBERGER VERIFONE Modelo Solo 2005 Magic 1800 SC552

6. Bibliografia
Visa Chip Migration Biblioteca para PinPad Especificao Detalhada (JAN/2001)

Especificao Tcnica Uso PinPad com CHIP - Verso 3.00 2001, Software Express Informtica
Tel.: (011) 3024-5353 e_mail: suporte@softwareexpress.com.br

Pgina - 24
NOVEMBRO/2001

Das könnte Ihnen auch gefallen