Vous êtes sur la page 1sur 29

EASYTEF TEAM

DOCUMENTAO EASYTEFDISCADO VERSO DO DOCUMENTO 2.1

2010

SUMRIO

1. 2. 3. 4.

INTRODUO .....................................................................................................1 PRIMEIROS PASSOS .........................................................................................2 INSTALANDO E TESTANDO INFRA-ESTRUTURA PARA TEF DISCADO ........4 EASYTEFDISCADO.............................................................................................5 4.1. Instalao da verso COM (VB, VB.NET, C# e etc.) ....................................5 4.2. Instalao da verso sem cdigo fonte para Delphi e C++ Builder...............6 4.3. Instalao da verso com cdigo fonte para Delphi e C++ Builder...............6 4.4. Propriedades.................................................................................................7 4.4.1. autoVerificarTEF ....................................................................................7 4.4.2. autoAtivarGerenciador ...........................................................................8 4.4.3. formMsgOperador..................................................................................8 4.4.4. gerenciador ............................................................................................9 4.4.5. imprimirComprovante.............................................................................9 4.4.6. multiplosCartoes ....................................................................................9 4.4.7. numeroDeCartoes................................................................................10 4.4.8. operacaoTEFAtual ...............................................................................10 4.4.9. timeOutGerenciador.............................................................................10 4.4.10. transacaoAprovada..............................................................................11 4.4.11. transacaoNegada.................................................................................11 4.4.12. valorCampoXXX-XXX ..........................................................................11 4.4.13. usouCartaoDebito ................................................................................11 4.4.14. usouCartaoCredito...............................................................................12 4.5. Mtodos ......................................................................................................12 4.5.1. cancelarVenda .....................................................................................12 4.5.2. cancelarVenda .....................................................................................13 4.5.3. confirmacaoVendaImpressaoCupom...................................................13 4.5.4. consultarCheque..................................................................................13 4.5.5. fazerRequisicaoAdministrativa.............................................................14 4.5.6. gerenciadorInstalado ...........................................................................15 4.5.7. gerenciadorAtivo ..................................................................................15 4.5.8. imagemCupomTef ...............................................................................15 4.5.9. imprimirCupomECF .............................................................................15 4.5.10. imprimirCuponsECF.............................................................................15 4.5.11. mostrarExcecoesECF (Delphi / C++ Builder).......................................16 4.5.12. naoConfirmacaoVendaImpressaoCupom ............................................16 4.5.13. pagarNoCartao ....................................................................................16 4.5.14. solicitarPagamentoContas ...................................................................17 4.5.15. tratarConsultaCheque..........................................................................18 4.5.16. tratarCupomFiscal................................................................................18 4.6. Eventos .......................................................................................................19 4.6.1. OnAbrirComprovanteNaoFiscalVinculado ...........................................20 4.6.2. OnEfetuarFormaPagamento ................................................................20 4.6.3. OnEfetuarFormaPagamentoDescricaoForma......................................20 4.6.4. OnEncerrarCupomFiscal .....................................................................21 4.6.5. OnFecharComprovanteNaoFiscalVinculado ........................................21 4.6.6. OnFecharRelatorioGerencial ...............................................................21 4.6.7. OnGerarIdentificacao...........................................................................21

4.6.8. OnGuilhotinar2aViaCupomTEF ...........................................................21 4.6.9. OnImpressoraTemPapel ......................................................................22 4.6.10. OnImprimirRelatorioGerencial..............................................................22 4.6.11. OnIniciarFechamentoCupomFiscal......................................................22 4.6.12. OnTerminarCancelamentoMultiplosCartoes ........................................22 4.6.13. OnTerminarFechamentoCupom ..........................................................23 4.6.14. OnUsarComprovanteNaoFiscalVinculado ...........................................23 4.6.15. OnSubTotalizarCupom ........................................................................23 4.6.16. OnValorPersonalizadoReq ..................................................................24 5. LTIMOS PASSOS ...........................................................................................25 5.1. O processo de certificao..........................................................................25 5.2. Instalao em seu cliente............................................................................25

1. INTRODUO Parabns, desenvolvedor de automao comercial, por adquirir o

componente EasyTEFDiscado, a maneira mais fcil, rpida e de baixo custo de aprovar sua Aplicao Comercial (AC) no processo de certificao TEF discado. Este documento no apenas explica os mtodos, eventos e propriedades do componente, mas tambm traz nossa base de conhecimento no processo de certificao, o que aumenta ainda mais suas chances de certificar sua AC. Uma AC que faz pagamentos via cartes de dbito e crdito por TEF discado rene pelo menos trs conhecimentos especficos: A AC em si, TEF discado e Impressora Fiscal (ECF). O EasyTEFDiscado trabalha diretamente com o conhecimento relacionado ao TEF discado e traz mtodos e eventos que ajudam na parte de ECF. Desta forma, o conhecimento sobre a AC e ECF no so cobertos pelo componente, ficando a cargo do programador conhecer estas outras reas.

2009 EasyTEF Team Todos os direitos reservados.

2. PRIMEIROS PASSOS Para as redes padro de carto, existem apenas duas empresas certificadoras habilitadas pelas redes de carto no Brasil: SevenPDV e Software Express. Ambas esto localizadas na cidade de So Paulo. Para a rede Banrisul, a homologao feita na cidade sede do banco, Porto Alegre-RS. O primeiro passo a ser tomado para comear a programar o TEF Discado em sua AC cadastrar-se nos sites das empresas certificadoras, cujos endereos eletrnicos de cadastro so respectivamente: http://www.sevenpdv.com.br/new/conteudo/dnld.htm http://www.softwareexpress.com.br/tefdial. Para Banrisul, acessar: http://www.banrisul.com.br/BOB/link/BOBW09HW_banricompras_produto_d etalhe_novo.asp?secao_id=1462 Aps o cadastro, voc dever fazer o download do Gerenciador Padro (GP), dos mdulos para pagamento via Carto de Dbito e Crdito (Amex, Redecard, Visanet) e dos documentos complementares, ou seja, baixe todo o contedo de download da pgina ps-cadastro. Para a rede Banrisul, o site possui os links para download de todos os programas e documentos necessrios, sem necessidade de cadastro prvio. Para ter acesso ao mdulo da REDECARD e os documentos adicionais, ser necessrio entrar em contato com a Software Express e cadastrar-se com eles, ento ser enviado o mdulo e os documentos via email. O mesmo serve para as redes Hipercard e Tecban. Depois de terminar a implementao do TEF discado em sua AC com o EasyTEFDiscado, ser necessrio o envio dos cupons fiscais, resultados dos roteiros de teste, e aprovao dos mesmos por parte da certificadora. Agende, ento, a certificao em uma dessas duas empresas. Para as redes Hipercard e Tecban, a certificao feita somente pela Software Express. necessrio viajar a So Paulo para certificar seu software. Para a rede Banrisul, preciso viajar para Porto Alegre RS. importante estudar o Guia Tcnico do Gerenciador Padro - Guia Tcnico da Soluo TEF Discado / Dedicado para entender como o EasyTEFDiscado

2009 EasyTEF Team Todos os direitos reservados.

interage com o GP, via troca de arquivos texto, e para entender o significado de algumas das propriedades do componente. Os Certificados de Compatibilidade do seu software com TEF discado devem ser preenchidos, assinados pelo dono da Software House e ter firma reconhecida em cartrio para sua AC constar na lista de ACs certificadas para TEF discado.

2009 EasyTEF Team Todos os direitos reservados.

3. INSTALANDO E TESTANDO INFRA-ESTRUTURA PARA TEF DISCADO Depois de baixar os gerenciadores das redes e os mdulos de cada rede, primeiro deve-se instalar os gerenciadores e depois cada mdulo em qualquer ordem. Voc tambm dever adquirir trs equipamentos para continuar o desenvolvimento: um Fax/Modem (de preferncia da marca Trellis com chipset prprio para TEF discado), e o PinPad, dispositivo que ser usado para passar os cartes e digitar a senha pessoal. necessrio tambm ter uma Impressora Fiscal. A marca Trellis foi citada porque, na hora da certificao, o tempo de discagem e comunicao entre o modem e o GP um fator que influencia bastante o tempo gasto entre um teste e outro e esse o modem recomendado pela prpria SevenPDV. A configurao dos mdulos de cada rede, alem da configurao destes mdulos com o PinPad e Fax/Modem, trazida nos manuais do mdulo de cada rede. Impressoras fiscais trmicas agilizam o resultado dos testes, visto que sua impresso muito mais rpida que das matriciais. Cada rede utilizada por bandeiras diferentes. Por exemplo, a rede Redecard utilizada pelas bandeiras Mastercard, Redeshop, Maestro e etc. Cada rede possui seu roteiro de testes. Todos os check-lists e roteiros de teste devem ser executados, e os cupons fiscais gerados devem ser enviados por correio para uma certificadora. Lembrando que a certificao das redes Hipercard e Tecban feita apenas pela Software Express e a certificao Banrisul feita pelo prprio banco. O componente EasyTEFDiscado certificou AC com a ECF (Emissor de Cupom Fiscal) Bematech MP 20 FI II, porm, possui mtodos e eventos que podem ser programados para outras ECFs. Aps a confirmao, por parte da certificadora, de que os cupons esto corretos, deve-se agendar a data para a certificao da AC. Acesse o site da certificadora de sua preferncia para saber o endereo de envio dos cupons e o telefone para eventuais contatos. As certificadoras oferecem suporte gratuito aos gerenciadores e aos mdulos de cada rede. Basta ligar e pedir pelo suporte, o que obrigatrio na hora de configurar o mdulo da Visanet, com GP, j que se deve adquirir o nmero de terminal o qual somente a certificadora disponibiliza. O mesmo serve para as redes Hipercard e Tecban.

2009 EasyTEF Team Todos os direitos reservados.

4. EASYTEFDISCADO O EasyTEFDiscado funciona como uma interface entre a AC e os gerenciadores. O componente troca mensagens com o gerenciador via arquivos texto. O gerenciador processa apenas uma requisio por vez, por isso, cada form Delphi poder ter somente um componente EasyTEFDiscado. Se for colocado um segundo componente, ser gerada uma exceo no permitindo que este seja colocado sobre o form. Para as outras linguagens de programao, importante ter apenas uma instncia do objeto COM EasyTEFDiscado. Junto com o componente, vem um exemplo completo de tela de frente de caixa utilizando TEF discado e ECF Bematech. Este exemplo pode ser usado como base para adaptar sua AC a outras ECFs, j que a especificao de impressora fiscal a mesma para todas elas. Como o exemplo j traz os mtodos e em qual parte da AC eles devem ser implementados, vejamos uma explicao da instalao, propriedades, mtodos e eventos do componente. Repare tambm que todas as aes do exemplo possuem teclas de atalho, possibilitando o no uso do mouse. Este outro requerimento que sua AC deve ter, pois as certificadoras exigem isso dos softwares. No dia da certificao, o certificador no permite o uso do mouse para interagir com a AC.

4.1. Instalao da verso COM (VB, VB.NET, C# e etc.) Descompactar o arquivo EasyTEFCOM.zip em qualquer diretrio; Executar o arquivo de lote registrar componente.bat; Adicionar a referncia da type library do EasyTEF (EasyTEF.tlb) em seu ambiente de programao: o VB: Menu Project -> Add References -> EasyTEF Library; o Visual Studio -> Menu Project -> Add References -> Aba COM -> EasyTEF Library.

2009 EasyTEF Team Todos os direitos reservados.

4.2. Instalao da verso sem cdigo fonte para Delphi e C++ Builder Delphi 5, 6, 7 e C++ Builder 6 o Descompacte o arquivo EasyTEF.zip no diretrio Projects\bpl do Delphi ou C++ Builder; Delphi 2006 o Descompacte o arquivo EasyTEF.zip no diretrio Meus

Documentos\Borland Studio Projects\Bpl Delphi 2007 o Descompacte o arquivo Studio EasyTEF.zip no diretrio and Meus

Documentos\Borland

C:\Documents

Settings\All

Users\Documents\RAD Studio\5.0\Bpl Delphi 2009 o Descompacte o arquivo Studio EasyTEF.zip no diretrio and Meus

Documentos\Borland

C:\Documents

Settings\All

Users\Documents\RAD Studio\6.0\Bpl No Delphi, feche todos os projetos (Menu File, opo Close All); Menu Component, opo Install Packages, pressione o boto Add; Escolha o arquivo DEasyTEF.bpl e pressione o boto Abrir, depois, boto Ok; Para Delphi 5, 6, 7, adicionar, literalmente, o diretrio

$(DELPHI)\Projects\Bpl no Labrary Path do Delphi (Menu Tools, opo Environment Options, aba Library, campo Library Path); Para Delphi 2007 e 2009, necessrio adicionar o Path

$(BDSCOMMONDIR)\Bpl no Library Path do Delphi (Menu Tools, opo Options, opo Library Win32, campo Library Path, boto [...]).

4.3. Instalao da verso com cdigo fonte para Delphi e C++ Builder Descompacte o arquivo EasyTEF.zip no diretrio em que desejar; No Delphi, feche todos os projetos (Menu File, opo Close All); Menu File, opo Open, v ao diretrio onde o EasyTEF foi descompactado;

2009 EasyTEF Team Todos os direitos reservados.

Va ao diretrio EasyTEF\package e escolha o diretrio cujo nome corresponde a verso de seu Delphi; Abra o arquivo REasyTEF.dpk; Na janela do package, pressione o boto Compile; Abra o arquivo DEasyTEF.dpk; Na janela do package, pressione o boto Compile, depois o boto Install; Adicione o diretrio common do EasyTEF no Library path do Delphi (menu Tools, opo Environment Options, tab Library no Delphi 5, 6, 7 e C++ Builder 6, e menu Tools, opo Options, opo Library Win32, campo Library Path para Delphi 2006, 2007 e 2009).

4.4. Propriedades Vejamos as propriedades visualizadas pelo Object Inspector e as propriedades public que podem ser utilizadas via cdigo. A conveno de escrita de cdigo que foi utilizada no nome dos mtodos e propriedades a mesma do Java. Assim, o incio dos mesmos minsculo e cada palavra dentro do nome inteiro inicia com maiscula.

4.4.1.

autoVerificarTEF Esta propriedade indica se o componente deve executar suas verificaes

automticas e executar seus mtodos. Quando seu valor for False, no sero feitas as verificaes automticas de transaes pendentes e os mtodos do componente no sero executados, mesmo quando invocados. Esta propriedade foi desenvolvida para sistemas que so executados em vrios clientes, mas nem todos utilizam TEF discado. Desta forma, para clientes que no usam TEF discado, o valor desta propriedade deve ser atribuda para False em tempo de design. Ento, para os clientes que utilizarem TEF discado, esta propriedade deve ser alterada para True em tempo de execuo, mediante parametrizao do sistema.

2009 EasyTEF Team Todos os direitos reservados.

Se todos os clientes utilizarem TEF discado, ou se o sistema no for vendido sem TEF discado, seu valor deve ser atribudo para True em tempo de design (que j o default) e este valor nunca deve ser alterado.

4.4.2.

autoAtivarGerenciador O EasyTEF suporte vrias redes de carto e cada rede possui seu

gerenciador. Ex.: Amex, Redecard e Visanet utilizam o Gerenciador Padro. Caso o gerenciador fique inativo durante uma operao com carto, este deve ser ativado novamente, seja de maneira automtica, seja de maneira manual atravs da ao do operador. O valor padro desta propriedade True, ou seja, caso o gerenciador fique inativo por qualquer razo, o EasyTEF ir reativ-lo novamente para que a transao possa terminar com sucesso. Caso o valor desta propriedade seja False, o componente ir exibir uma mensagem ao operador, pedindo para que ele ative o gerenciador manualmente.

4.4.3.

formMsgOperador Os gerenciadores TEF retornam mensagens ao operador da AC. Estas

mensagens so mostradas em um form prprio do EasyTEF. Com esta propriedade, voc poder configurar esse formulrio para personaliz-lo de acordo com a interface de sua AC. fonte: Definir a fonte que ir formatar o texto do form de mensagens ao operador da AC. Dependendo da operao requisitada ao gerenciador, ele pode devolver uma resposta ao operador do sistema. Esta mensagem dever ser formatada com alguma fonte. Esta fonte a fonte definida nesta propriedade; altura: Altura, em pixels, do form de mensagens ao operador; largura: Largura, em pixels, do form de mensagens ao operador; botaoOK: Permite configurar altura e largura, em pixels, do boto OK.

2009 EasyTEF Team Todos os direitos reservados.

4.4.4.

gerenciador Definir qual o gerenciador que estar respondendo as requisies de TEF

discado. Pode ser o GP, gerenciador para as redes AMEX, REDECARD e VISANET, Pay&Go, mesmas redes do GP mas utiliza I.P. ao invs de linha discada, Hipercard e TecBan.

Valores: 4.4.5. tgGerenciadorPadrao; tgPayGo; tgHipercard; tgTecBan; tgBanrisul.

imprimirComprovante Se True, imprime o comprovante automaticamente, logo aps a execuo de

uma operao TEF que possua comprovante a ser impresso, caso a operao tenha sido aprovada pela rede. Esta propriedade existe para dar mais controle da impresso ao programador. No exemplo que acompanha o componente, numa operao administrativa, o valor desta propriedade est como True. Entretanto, para venda com carto o mesmo valor est como False, de forma que sejam feitos alguns controles antes da impresso do cupom.

4.4.6.

multiplosCartoes Informa se a transao corrente est sendo feito com mltiplos cartes.

Aps informar ao EasyTEF a quantidade de cartes que ser utilizada, pela property numeroDeCartoes, esta property informa se a transao corrente est sendo feita com mltiplos cartes se o nmero de cartes utilizado na transao for maior que um.

2009 EasyTEF Team Todos os direitos reservados.

10

4.4.7.

numeroDeCartoes Serve para informar ao EasyTEF quantos sero os cartes utilizados na

transao. Para que todos os tratamentos relacionados a mltiplos cartes possam ser feitos automaticamente, o componente precisa saber antecipadamente a quantidade de cartes utilizada na transao. Isto pode ser feito no momento de informar as formas de pagamento do cupom fiscal. O exemplo que acompanha o EasyTEF faz exatamente este tratamento. Para maiores informaes, ver o mtodo tratarPagamentoComCartao, da unit FrenteCaixaFrm.pas.

4.4.8.

operacaoTEFAtual Identifica qual operao TEF est sendo executada no momento. Valores: ttNone: Nenhuma operao; ttGpAtivo: Verificao se o GP est ativo; ttAdministrativa: Operao administrativa; ttCheque: Consulta de cheque; ttCartao: Pagamento com carto; ttCancelamento: Cancelamento de um pagamento via carto; ttConfirmacao: Confirmao da rede de carto de que o Cupom TEF foi impresso com sucesso aps a aprovao da transao; ttNaoConfirmacao: No confirmao a rede de carto de que a Cupom TEF foi impresso com sucesso aps a aprovao da transao.

4.4.9.

timeOutGerenciador Esta propriedade serve para regular o tempo de espera, em segundos, pela

resposta do Gerenciador TEF (Gerenciador Padro, Pay&Go, Hypertef...). Dependendo do computador, o Gerenciador pode demorar mais ou menos para responder uma requisio, principalmente com pagamentos com mltiplos cartes. O valor padro desta propriedade 7 segundos, que o tempo de resposta normal do Gerenciador, caso o EasyTEF mostre uma dizendo Gerenciador Padro no ativo e ser ativado automaticamente. em meio de operaes que no deveria,

2009 EasyTEF Team Todos os direitos reservados.

11

como a requisio de pagamento entre mltiplos cartes, pode ser que o GP esteja demorando um pouco mais que o padro para responder. Altere o valor desta propriedade para fazer o EasyTEF esperar um pouco mais pela resposta do Gerenciador.

4.4.10. transacaoAprovada Indica, aps o processamento da transao, se a transao foi aprovada, ou no, pela rede. Retorno: True, caso a transao tenha sido aprovada.

4.4.11. transacaoNegada Informa se a transao atual foi negada. Durante o pagamento com carto, a transao pode ser aprovada pela rede de carto, ou pode ser negada. Quando for feita uma transao com mais de um carto, se uma das transaes for negada, a AC deve oferecer ao usurio a opo de fechar o cupom com outra forma de pagamento ou cancelar a transao toda. Tratamentos para saber quais foram as transaes aprovadas, para o caso de fechamento do cupom com outras formas de pagamento, devem ser feitos pela AC pois o valor total de cada forma de pagamento deve ser informado ao cupom fiscal.

Retorno: True, caso a transao tenha sido negada

4.4.12. valorCampoXXX-XXX Estes campos so exatamente os mesmos citados no Guia Tcnico Gerenciador Padro. Se no fossem tantos, seriam colocados neste documento, porm, pelo volume de campos, sugerimos que seja lido o Guia Tcnico GP, a partir da pgina 14.

4.4.13. usouCartaoDebito Indica se, aps uma venda com carto, foi utilizado carto de dbito.
2009 EasyTEF Team Todos os direitos reservados.

12

Retorno: True caso o carto utilizado tenha sido um carto de dbito.

4.4.14. usouCartaoCredito Indica se, aps uma venda com carto, foi utilizado carto de crdito. Retorno: True caso o carto utilizado tenha sido um carto de crdito.

4.5. Mtodos Vejamos os mtodos disponibilizados pelo componente para realizar as transaes via carto ou consulta de cheque, alm de recursos adicionais. importante ler o Guia Tcnico Gerenciador Padro, pgina 14 em diante, pois alguns parmetros dos mtodos so campos devolvidos pelo GP logo aps uma operao TEF. O EasyTEFDiscado mapeia esses campos via property

valorCampoXXX-XXX, que o mesmo campo indicado. Exemplo: O parmetro nomeRede (AMEX, REDECARD, VISANET) devolvido pelo GP no campo 010-000, que mapeado no EasyTEFDiscado pela property valorCampo010_000.

4.5.1.

cancelarVenda Mtodo que executa o cancelamento de uma venda com carto. Existem

dois tipos de cancelamento: via este mtodo ou via operao administrativa. A implementao deste mtodo no obrigatria, mas o componente j est pronto caso deseje fazer o cancelamento personalizado. Parmetros: valorTotal: Valor total da venda feita com carto; nomeRede: Nome da rede utilizada (AMEX, REDECARD, VISANET); numeroTransacaoNsu: Nmero da transao fornecido pela rede do carto; dataTransacao: Data em que ocorreu a transao; horaTransacao: Hora em que ocorreu a transao.

2009 EasyTEF Team Todos os direitos reservados.

13

4.5.2.

cancelarVenda Esta uma verso sobrecarregada do mtodo anterior, porm, sem

parmetros. Este mtodo serve para fazer o cancelamento automtico das ltimas transaes feitas com carto na seguinte situao: Digamos que uma compra ser paga com 2 cartes. O primeiro carto foi aprovado, mas na hora do passar o segundo carto, o cliente desiste da compra, ento o operador da AC cancela o segundo pagamento com carto. A transao anterior foi aprovada e precisa ser cancelada. Basta chamar o mtodo cancelarVenda, que no pede parmetros, que o cancelamento da(s) transao(oes) anterior(es) ser feito automaticamente.

4.5.3.

confirmacaoVendaImpressaoCupom Confirmar rede que o cupom fiscal foi impresso com sucesso. Depois de

aprovada a transao via carto, a rede do mesmo precisa ser notificada de que o cupom fiscal foi impresso com sucesso. Parmetros: nomeRede: Nome da rede utilizada (AMEX, REDECARD, VISANET, ...); numeroTransacaoNsu: Nmero da transao fornecido pela rede do carto; finalizacao: Dados recebidos pelo mdulo TEF. Este nmero recebido aps uma operao TEF; documentoFiscalVinculado: Nmero do cupom fiscal vinculado ao pagamento via carto.

4.5.4.

consultarCheque Fazer uma consulta ou garantia de cheque via Serasa. Por enquanto, este

mtodo foi implementado apenas pela rede REDECARD. Inclusive, a implementao deste mtodo obrigatrio para a certificao. O exemplo implementa este mtodo da seguinte maneira: Quando a venda encerrada, se a forma de pagamento for Cheque, habilitado um boto para a consulta do cheque. Se a consulta for feita e o cheque foi aprovado, imediatamente o cupom fiscal encerrado e o cupom TEF da consulta impresso. Esta a maneira que as certificadoras exigem que seja feito.
2009 EasyTEF Team Todos os direitos reservados.

14

Parmetros: valorTotal: Valor do cheque; documentoFiscalVinculado: Valor do documento fiscal vinculado a venda; cmc7: Dados do cheque obtidos no mesmo formato de uma leitura cmc7; tipoPessoa: Tipo da pessoa do Cheque (F para fsica e J para jurdica); documentoPessoa: No. do CPF para pessoa fsica ou no. do CNPJ para pessoa jurdica; dataCheque: Data do cheque; banco: Cdigo do banco; agencia: Agncia do banco; digitoControleAgencia: Dgito verificador do no. da agncia, caso exista; contaCorrente: No. da conta corrente; digitoControleContaCorrente: Dgito verificador do no. da agncia, caso exista; numeroCheque: Nmero do cheque; digitoControleNumeroCheque: Digito verificador do cheque, caso exista.

Exemplo:
EasyTEF.imprimirComprovante := False; EasyTEF.consultarCheque(StrToFloat(edtValor.Text), '', '', 'F', edtRegistro.Text, dtpBomPara.Date, edtBanco.Text, edtAgencia.Text, '', edtContaCorrente.Text, '', edtCheque.Text, '');

4.5.5.

fazerRequisicaoAdministrativa Requisitar ao GP que seja feita uma operao administrativa junto aos

mdulos de cada rede. Para se configurar os mdulos, por exemplo, este mtodo deve ser executado, assim como para configurar PinPad, transmitir informaes de lote, visualizar relatrios de venda e etc.

Exemplo:
EasyTEF.imprimirComprovante := True; EasyTEF.fazerRequisicaoAdministrativa;

2009 EasyTEF Team Todos os direitos reservados.

15

4.5.6.

gerenciadorInstalado Verifica se o GP, Pay&Go, Hipercard, Tecban e Banrisul, de acordo com a

propriedade gerenciador, est instalado. Retorno: True, caso o gerenciador esteja instalado.

4.5.7.

gerenciadorAtivo Verifica se o GP ou o Pay&Go, de acordo com a propriedade gerenciador,

est ativo. Retorno: True, caso o gerenciador esteja ativo.

4.5.8.

imagemCupomTef Retorna a imagem do cupom TEF logo aps uma operao TEF. este o

cupom propriamente dito que retornado pela rede e que deve ser impresso logo aps a aprovao da venda pela rede. O cupom no pode, em hiptese alguma, ser salvo em arquivo! Caso isso acontea, penalidades legais podem ser aplicadas. Para mais informaes, entrar em contato com as certificadoras. Retorno: Um objeto do tipo TStrings contendo a imagem do cupom TEF.

4.5.9.

imprimirCupomECF Imprimir a imagem do cupom TEF. A impresso do cupom TEF deve ser

feita em duas vias com intervalo de pelo menos 5 segundos entre a impresso de uma via e outra. Este mtodo j cuida dessa regra automaticamente. Parmetros: imagemCupomTEF: TStrings.

4.5.10. imprimirCuponsECF Imprimir os cupons fiscais de transaes encerradas com mltiplos cartes. Este mtodo deve ser chamado aps o pagamento com mltiplos cartes, caso o valor da property imprimirComprovante seja False. O exemplo que acompanha o EasyTEF verifica se foi feito uma transao com mltplos cartes e, caso tenha sido feito, executa este mtodo.

2009 EasyTEF Team Todos os direitos reservados.

16

4.5.11. mostrarExcecoesECF (Delphi / C++ Builder) Esta propriedade foi desenvolvida para programadores que utilizam a biblioteca ACBr, pois o componente ACBrECF levanta excees quando o resultado da execuo de um comando ECF anormal. Ento, quando o valor desta propriedade estiver True, as excees do ACBr sero exibidas, o que recomendamos enquanto o sistema estiver no ambiente de desenvolvimento. Para o ambiente de produo, recomendamos que esta propriedade seja False pois no interessa ao operador do sistema saber qual o erro do ACBr.

4.5.12. naoConfirmacaoVendaImpressaoCupom Informar rede que o cupom fiscal no foi impresso com sucesso, o que cancelar a transao. Depois de aprovada a transao via carto, a rede do mesmo precisa ser notificada de que o cupom fiscal foi impresso com sucesso.

Parmetros: nomeRede: Nome da rede utilizada (AMEX, REDECARD, VISANET, ...); numeroTransacaoNsu: Nmero da transao fornecido pela rede do carto; finalizacao: Dados recebidos pelo mdulo TEF. Este nmero recebido aps uma operao TEF; documentoFiscalVinculado: Nmero do cupom fiscal vinculado ao pagamento via carto.

4.5.13. pagarNoCartao Fazer o pagamento da compra via carto de dbito ou crdito. Parmetros: valorTotal: Valor total da compra; moeda: Moeda que ser utilizada para a compra (0 para real e 1 para dlar); documentoFiscalVinculado: Nmero do cupom fiscal vinculado a compra.

2009 EasyTEF Team Todos os direitos reservados.

17

primeiroCartao: Informa ao componente se o carto corrente o primeiro carto de mltiplos cartes; ultimoCartao: Informa ao componente se o carto corrente o ltimo carto de mltiplos cartes;

Exemplo:
EasyTEF.imprimirComprovante := False; EasyTEF.numeroDeCartoes := 1; EasyTEF.pagarNoCartao(valorTotalCartao, 0, numeroCupom, True, True);

A combinao dos parmetros de mltiplos cartes obedece a seguinte tabela verdade: primeiroCartao ultimoCartao Informao passada ao EasyTEF False False True True False True False True Carto(es) intermediario(s) da transao ltimo carto da transao Primeiro carto da transao Pagamento com apenas um carto

O exemplo que acompanha o EasyTEF faz um tratamento de mltiplos cartes que informa corretamente o valor destes parmetros durante o pagamento com mltiplos cartes no mtodo tratarPagamentoComCartao, da unit

FrenteCaixaFrm.pas. Informando estes parmetros, podem ser feitos os tratamentos automticos para impresso dos cupons TEF e tratamento de exceo durante a impresso dos mesmos durante o pagamento com mltiplos cartes.

4.5.14. solicitarPagamentoContas Este mtodo serve para fazer pagamentos de contas via redes Tecban e Banrisul.

Parmetros: valorTotal: Valor do cheque; cmc7: Dados do cheque obtidos no mesmo formato de uma leitura cmc7; tipoPessoa: Tipo da pessoa do Cheque (F para fsica e J para jurdica);
2009 EasyTEF Team Todos os direitos reservados.

18

documentoPessoa: No. do CPF para pessoa fsica ou no. do CNPJ para pessoa jurdica; dataCheque: Data do cheque; banco: Cdigo do banco; agencia: Agncia do banco; digitoControleAgencia: Dgito verificador do no. da agncia, caso exista; contaCorrente: No. da conta corrente; digitoControleContaCorrente: Dgito verificador do no. da agncia, caso exista; numeroCheque: Nmero do cheque; digitoControleNumeroCheque: Digito verificador do cheque, caso exista; codigoBarrasLinhaDigitaval: Valor do n do cdigo de barras da conta a ser paga.

4.5.15. tratarConsultaCheque Mtodo que deve ser utilizado aps uma consulta de cheque aprovada. Parmetros: imagemCupomTEF: Imagem do cupom TEF da consulta aprovada; nomeRede: Nome da rede utilizada para fazer a consulta; numeroTransacaoNsu: Nmero da transao fornecido pela rede do carto; finalizacao: Dados recebidos pelo mdulo TEF. Este nmero recebido aps uma operao TEF; documentoFiscalVinculado: Nmero do cupom fiscal vinculado ao pagamento via carto.

4.5.16. tratarCupomFiscal Fazer o tratamento dos mtodos relacionados ao cupom fiscal. Durante a certificao, vrios testes de desligamento da ECF sero realizados em momentos diferentes da impresso do cupom fiscal. Este mtodo implementa o tratamento correto para esses momentos. O exemplo que acompanha o componente utiliza este mtodo constantemente.
2009 EasyTEF Team Todos os direitos reservados.

19

Parmetros: mtodo: Qual o mtodo do cupom fiscal que dever ser tratado. Todos os valores possuem eventos associados que devem ser programados para a execuo do mtodo propriamente dito da ECF; Valores: o tmeSubTotal: Indica que o mtodo deve tratar a totalizao do cupom fiscal; o tmeIniciarFechamentoCupom: Indica que o mtodo deve tratar o inicio do fechamento do cupom fiscal; o tmeEfetuarFormaPgto: Indica que o mtodo deve tratar a efetuao da(s) forma(s) de pagamento do cupom fiscal; o tmeEfetuarFormaPgtoDescForma: Indica que o mtodo deve tratar a efetuao da(s) forma(s) de pagamento do cupom fiscal com descrio; o tmeTerminarFechamentoCupom: Indica que o mtodo deve tratar o trmino do fechamento do cupom fiscal. params: Parmetros que o mtodo especfico do cupom fiscal ir precisar. Retorno: Se o mtodo propriamente dito do cupom fiscal tiver algum retorno, ser esse o valor de resultado.

4.6. Eventos Os eventos do componente so basicamente mapeamentos para funes especficas das impressoras fiscais. Para tanto, o EasyTEFDiscado faz justamente o tratamento de impresso do cupom fiscal e do cupom TEF devido a necessidade de confirmao das redes de que o cupom fiscal, e o cupom no fiscal vinculado, tenham sido impressos com sucesso. Depois de uma transao ter sido aprovada pela rede de carto, deve ser impresso o cupom TEF, que nas impressoras fiscais impresso como cupom no fiscal vinculado. Caso este cupom tenha sido impresso com sucesso, a rede de carto receber a confirmao definitiva da transao. Caso este cupom no seja

2009 EasyTEF Team Todos os direitos reservados.

20

impresso por qualquer razo (falta de energia, reiniciar o computador, ...) a transao ser cancelada. O componente fornece recursos para todos estes tratamentos e so implementados no exemplo que acompanha o EasyTEF.

4.6.1.

OnAbrirComprovanteNaoFiscalVinculado Evento que deve executar o comando de abertura do comprovante no fiscal

vinculado da ECF. Parmetros: operacaoECFOk: Deve indicar se o comando foi executado com sucesso. valorCupom: Numa transao com mltiplos cartes, informa qual o valor do cupom TEF corrente, caso contrrio, informa 0,00.

4.6.2.

OnEfetuarFormaPagamento Evento que deve executar o comando para efetuar a(s) forma(s) de

pagamento do cupom fiscal. Parmetros: 4.6.3. operacaoECFOk: Deve indicar se o comando foi executado com sucesso; params: Parmetros que o mtodo da ECF ir precisar (params[0], params[1], ..., params[n]); retorno: Retorno que o mtodo da ECF tiver.

OnEfetuarFormaPagamentoDescricaoForma Evento que deve executar o comando para efetuar a(s) forma(s) de

pagamento do cupom fiscal com uma descrio.

Parmetros: operacaoECFOk: Deve indicar se o comando foi executado com sucesso; params: Parmetros que o mtodo da ECF ir precisar (params[0], params[1], ..., params[n]); retorno: Retorno que o mtodo da ECF tiver.

2009 EasyTEF Team Todos os direitos reservados.

21

4.6.4.

OnEncerrarCupomFiscal Evento disparado quando o cupom fiscal precisa ser cancelado e fechado o

comprovante no fiscal vinculado. Quando ocorre algum problema na impresso do cupom, o componente pergunta ao operador se ele deseja tentar novamente a operao na ECF. Caso ele escolha no, este evento disparado. Ento, tanto o cupom no fiscal vinculado quanto o cupom fiscal devem ser fechados.

Exemplo:
Bematech_FI_FechaComprovanteNaoFiscalVinculado; Bematech_FI_CancelaCupom;

4.6.5.

OnFecharComprovanteNaoFiscalVinculado Evento que deve executar o comando para fechar o comprovante no fiscal

vinculado da ECF.

4.6.6.

OnFecharRelatorioGerencial Evento que deve executar o comando fechar o relatrio gerencial da ECF.

Em operaes administrativas ou por falta de energia na ECF, o componente ir abrir um relatrio gerencial na ECF. Quando o cupom TEF termina de ser impresso no relatrio gerencial, este mtodo executado para fechar o mesmo.

4.6.7.

OnGerarIdentificacao Este evento chamado para a gerao da chave identificadora nica, que

pode ser um nmero seqencial, da operao TEF que ser executada. Os nmeros gerados neste evento nunca devem se repetir. Parmetros: 4.6.8. identificacao: Deve ser atribudo um nmero inteiro a este parmetro e este valor nunca deve ser repetido. OnGuilhotinar2aViaCupomTEF Algumas impressoras fiscais suportam corte automtico de papel durante a impresso do comprovante no fiscal vinculado ao cupom fiscal. Este evento deve
2009 EasyTEF Team Todos os direitos reservados.

22

chamar o comando de corte do papel, para que a 2 cortada automaticamente.

Via do Cupom TEF seja

4.6.9.

OnImpressoraTemPapel Evento que deve executar o tratamento de falta de papel na ECF. Parmetros: operacaoECFOk: Deve indicar se a impressora TEM PAPEL.

4.6.10. OnImprimirRelatorioGerencial Evento que deve executar o comando de impresso do relatrio gerencial. Um detalhe importante sobre este evento que ele disparado para impresso do cupom TEF em bloco, ou seja, de trs em trs linhas, pois no possvel enviar todo o cupom TEF de uma s vez para a impresso. Parmetros: imagemCupomTef: Blocos de trs linhas da imagem do cupom TEF; impressaoOk: Deve indicar se o bloco foi impresso com sucesso.

O mtodo que imprime em bloco pode ser sobre escrito em componentes descendentes. Eis o prottipo do mtodo, que tem manipulador de acesso protected:
procedure imprimirEmBloco(imagemCupomTef: TStrings; var impressaoTEFOk: Boolean; relatorioGerencial: Boolean = False); virtual;

4.6.11. OnIniciarFechamentoCupomFiscal Evento que deve executar o comando de inicio de fechamento de cupom fiscal. Parmetros: operacaoECFOk: Deve indicar se o comando foi executado com sucesso.

4.6.12. OnTerminarCancelamentoMultiplosCartoes Durante uma transao com mltiplos cartes, um dos cartes pode ser negado pela rede de carto por alguma razo. Neste momento, o usurio deve ter a opo de terminar o fechamento do cupom com outra(s) forma(s) de pagamento ou
2009 EasyTEF Team Todos os direitos reservados.

23

cancelar o cupom. Caso ele queira cancelar o cupom, a tela da AC deve ser limpa para uma nova transao. O tratamento de limpeza da tela de frente de caixa da AC, aps o cancelamento de uma transao feita com mltiplos cartes, deve ser feito neste evento.

4.6.13. OnTerminarFechamentoCupom Evento que deve executar o comando de termino de fechamento do cupom fiscal. Parmetros: operacaoECFOk: Deve indicar se o comando foi executado com sucesso.

4.6.14. OnUsarComprovanteNaoFiscalVinculado Mtodo que deve executar o comando de uso do comprovante no fiscal vinculado da ECF. Um detalhe importante sobre este evento que ele disparado para impresso do cupom TEF em bloco, ou seja, de trs em trs linhas, pois no possvel enviar todo o cupom TEF de uma s vez para a impresso. Parmetros: imagemCupomTef: Blocos de trs linhas da imagem do cupom TEF; impressaoOk: Deve indicar se o bloco foi impresso com sucesso.

O mtodo que imprime em bloco pode ser sobre escrito em componentes descendentes. Eis o prottipo do mtodo, que tem manipulador de acesso protected:
procedure imprimirEmBloco(imagemCupomTef: TStrings; var impressaoTEFOk: Boolean; relatorioGerencial: Boolean = False); virtual;

4.6.15. OnSubTotalizarCupom Mtodo que deve executar o comando de totalizao do valor do cupom da ECF. Parmetros: operacaoECFOk: Deve indicar se o comando foi executado com sucesso.

2009 EasyTEF Team Todos os direitos reservados.

24

4.6.16. OnValorPersonalizadoReq Durante o processo de certificao, ser avaliado se sua AC utiliza alguma biblioteca externa para comunicao com o GP. Para mostrar que a sua AC, mesmo, que cria os arquivos de mensagens com o GP, o certificador ir solicitar que durante a certificao seja adicionado um novo campo com um novo valor no arquivo de mensagens, que no ser tratado pelo GP, mas que mostrar que apenas a sua AC faz a troca de mensagens com o GP sem interveno de bibliotecas terceiras. Parmetros: campo: Nome do campo que ser adicionado ao arquivo de mensagem; valor: Valor do campo que ser adicionado ao arquivo de mensagem.

2009 EasyTEF Team Todos os direitos reservados.

25

5. LTIMOS PASSOS 5.1. O processo de certificao Depois de implementado o EasyTEFDiscado em sua AC, os roteiros de teste de cada rede devem ser executados. Cada roteiro possui tambm um checklist que deve ser executado. Tanto o checklist como o roteiro possuem passos numerados. Cada passo pode gerar ou no um cupom fiscal com um cupom no fiscal vinculado. Cada cupom deve ser numerado com o nmero do teste equivalente a este cupom e todos devem ser enviados certificadora de sua preferncia para avaliar se sua AC pode passar pela certificao. Lembrando que os cupons das redes Hipercard e TecBan devem ser enviados para Software Express e os cupons da rede Banrisul devem ser enviados para o endereo informado pelo Banrisul, que encontra-se no prprio roteiro de pr-homologao desta rede. Quando eles aprovarem o roteiro de teste, ser agendada a certificao. Isso acarretar em deslocamento a So Paulo - SP. A certificadora enviar por email endereos de hotis prximos, lanchonetes e mapas de como se guiar at l. Para certificar as redes AMEX, REDECARD e AMEX com GP e Pay&Go redes e gerenciadores que o EasyTEFDiscado cobre, alm de Hipercard, Tecban e Banrisul, leva, de dois a quatro dias inteiros de testes, se todas estas redes forem certificadas. Ser necessrio levar uma gravadora de CD para gravar sua AC, pois a certificadora fica com uma cpia dela, alm dos certificados de compatibilidade de cada rede devidamente preenchidos e com firma reconhecida em cartrio. Durante a certificao, o certificador far um teste excluindo alguns arquivos do gerenciador e ir perguntar se a AC faz backup desses arquivos pra depois poder excluir este backup. O EasyTEFDiscado gera um backup com o mesmo nome do executvel da AC, mas com extenso .ini, na pasta onde est o executvel.

5.2. Instalao em seu cliente Seu(s) cliente(s) deve(m) entrar em contato com cada rede de carto para adquirir seu prprio nmero de terminal, saber dos valores cobrados, informar a conta bancria para TEF e etc.
2009 EasyTEF Team Todos os direitos reservados.

26

Seu(s) cliente(s) deve(m) entrar em contato com um integrador TEF, uma vez que nosso software habilitado pelas redes apenas para fazer os pagamentos via TEF discado. Quem faz a instalao do GP, Pay&GO, Hipercard, Tecban e Banrisul, e dos mdulos de cada rede so os integradores, ns, desenvolvedores, possuamos apenas cpias de desenvolvimento desses softwares. Porm, os integradores no fazem a instalao e configurao se sua AC no estiver certificada. Os integradores de maior abrangncia nacional so Bematech

(http://www.bematech.com.br) e Direo (http://www.direcao.com.br). Outro detalhe importante que a certificao de sua AC valida por um ano, ou seja, uma vez por ano ser necessrio ir a So Paulo para re-certificar seu software. Por esta mesma razo, o valor pago pelo EasyTEF pode ser anual, ou no. A anuidade serve para o recebimento de atualizaes e correes do componente durante um ano, a partir da data da compra. Porm, ela no obrigatria. Caso no deseje receber atualizaes e correes, basta pagar apenas uma vez. Exemplo: Adquirindo o componente dia 23/09/2008, havendo alteraes na especificao TEF, por parte das redes de carto, ou se for descoberto algum bug, at 23/09/2009, a atualizao ser recebida gratuitamente. Caso haja alteraes depois do dia 23/09/2009 e a anuidade seguinte no for paga, no h problema no uso do componente, porm, as possveis atualizaes no sero recebidas. Ento, caso queira pagar apenas uma vez, no h problemas com a licena. Por fim, esperamos que o EasyTEFDiscado tenha cumprido sua proposta de facilitar e agilizar, com baixo custo, a certificao de sua AC no processo de certificao TEF discado. Qualquer dvida, crtica ou sugesto, entre em contato conosco pelo nosso site http://www.easytef.com.br.

Obrigado.

EasyTEF Team

2009 EasyTEF Team Todos os direitos reservados.