Você está na página 1de 27

EASYTEF TEAM

DOCUMENTAO EASYTEFDEDICADO VERSO DO DOCUMENTO 1.3

2009

SUMRIO

1. 2. 3. 4.

INTRODUO .....................................................................................................1 PRIMEIROS PASSOS .........................................................................................2 INSTALANDO E TESTANDO INFRA-ESTRUTURA PARA TEF DEDICADO .....4 EASYTEFDEDICADO ..........................................................................................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. formMsgOperador..................................................................................8 4.4.3. imprimirComprovante.............................................................................8 4.4.4. imprimirEmUnicaVia ..............................................................................8 4.4.5. multiplosCartoes ....................................................................................9 4.4.6. numeroDeCartoes..................................................................................9 4.4.7. operacaoTEFAtual .................................................................................9 4.4.8. transacaoAprovada..............................................................................10 4.4.9. transacaoNegada.................................................................................10 4.4.10. valorCampoXXX-XXX ..........................................................................10 4.4.11. usouCartaoDebito ................................................................................10 4.4.12. usouCartaoCredito...............................................................................10 4.5. Mtodos ......................................................................................................11 4.5.1. cancelarVenda .....................................................................................11 4.5.2. cancelarVenda .....................................................................................11 4.5.3. confirmacaoVendaImpressaoCupom...................................................12 4.5.4. consultarCheque..................................................................................12 4.5.5. fazerRequisicaoAdministrativa.............................................................13 4.5.6. gerenciadorInstalado ...........................................................................13 4.5.7. gerenciadorAtivo ..................................................................................14 4.5.8. imagemCupomTef ...............................................................................14 4.5.9. imprimirCupomECF .............................................................................14 4.5.10. imprimirCuponsECF.............................................................................14 4.5.11. naoConfirmacaoVendaImpressaoCupom ............................................14 4.5.12. pagarNoCartao ....................................................................................15 4.5.13. tratarConsultaCheque..........................................................................16 4.5.14. tratarCupomFiscal................................................................................16 4.6. Eventos .......................................................................................................17 4.6.1. OnAbrirComprovanteNaoFiscalVinculado ...........................................18 4.6.2. OnEfetuarFormaPagamento ................................................................18 4.6.3. OnEfetuarFormaPagamentoDescricaoForma......................................18 4.6.4. OnEncerrarCupomFiscal .....................................................................18 4.6.5. OnFecharComprovanteNaoFiscalVinculado ........................................19 4.6.6. OnFecharRelatorioGerencial ...............................................................19 4.6.7. OnGerarIdentificacao...........................................................................19 4.6.8. OnImpressoraTemPapel ......................................................................19 4.6.9. OnImprimirRelatorioGerencial..............................................................20 4.6.10. OnIniciarFechamentoCupomFiscal......................................................20 4.6.11. OnTerminarCancelamentoMultiplosCartoes ........................................20

4.6.12. OnTerminarFechamentoCupom ..........................................................21 4.6.13. OnUsarComprovanteNaoFiscalVinculado ...........................................21 4.6.14. OnSubTotalizarCupom ........................................................................21 4.6.15. OnValorPersonalizadoReq ..................................................................21 5. LTIMOS PASSOS ...........................................................................................23 5.1. O processo de certificao..........................................................................23 5.2. Instalao em seu cliente............................................................................23

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

componente EasyTEFDedicado, a maneira mais fcil, rpida e de baixo custo de aprovar sua Aplicao Comercial (AC) no processo de certificao TEF dedicado. 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 dedicado rene pelo menos trs conhecimentos especficos: A AC em si, TEF dedicado e Impressora Fiscal (ECF). O EasyTEFDedicado trabalha diretamente com o conhecimento relacionado ao TEF dedicado 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 O componente EasyTEFDedicado trabalha com o produto SiTef, da Software Express, empresa localizada na cidade de So Paulo - SP. O SiTef um produto proprietrio da Software Express, por isso no estamos habilitados a distribuir cpias de qualquer parte do SiTef, nem cliente, nem servidor. Para saber mais sobre o SiTef, acesse: http://www.softwareexpress.com.br/produtos/sitef.htm O EasyTEFDedicado trabalha com o Cliente SiTef Modular verso 1.0.37.1, e superiores, atravs da troca de arquivos texto, contendo os comandos interpretados pelo SiTef. Por se tratar de um produto proprietrio, existem algumas regras que regem o licenciamento e distribuio do SiTef. Para poder desenvolver softwares que faam pagamentos via TEF dedicado com o SiTef, preciso estabelecer contrato comercial com a Software Express. Neste contrato, o desenvolvedor / Software House ir desembolsar um valor, estipulado pela Software Express, referente licena de desenvolvimento e suporte ao SiTef. Este valor deve ser consultado junto empresa. Como o SiTef se integra com vrias redes de carto e vrias instituies de crdito e consulta de crdito, muitas so as configuraes necessrias quando se pretende desenvolver uma funcionalidade especfica. O EasyTEFDedicado apenas retornar as mensagens devolvidas pelo SiTef Client Modular, no alterando qualquer configurao do produto. Desta forma, todas as dvidas referentes ao SiTef devem ser sanadas junto ao suporte da Software Express. As dvidas sero vrias, desde a configurao do Pinpad at a configurao de mdulos especficos do SiTef. Todas estas dvidas devero ser esclarecidas junto ao suporte da Software Express. Esta a razo pelo valor cobrado ao fechar contrato com a Software Express, que tambm quem realiza o processo de homologao de sua AC, o que exigir deslocamento capital de So Paulo. Outro detalhe importante que quando seus clientes utilizarem sua AC certificada para TEF dedicado com SiTef, o contrato prev uma mensalidade, que paga a Software Express, calculada de acordo com a quantidade de estaes de trabalho que seu cliente utilizar.
2009 EasyTEF Team Todos os direitos reservados.

Homologando sua AC para TEF dedicado com SiTef, o desenvolvedor / Software House torna-se um integrador do produto, ou seja, quem dar suporte ao SiTef no ser a Software Express, mas o integrador. A Software Express no tem contato com os clientes do integrador, o que faz com que a mensalidade no seja cobrada deles, mas do integrador. A Software Express recomenda que o integrador cobre um percentual a mais, sobre o valor que ela pede em contrato, para cobrir os custos que o integrador tem para disponibilizar suporte do SiTef a seus clientes. O primeiro passo a ser tomado para comear a programar o TEF dedicado em sua AC fechar contrato comercial com a Software Express para ter acesso aos instaladores do Cliente SiTef Modular, que o software que deve rodar em cada estao de desenvolvimento, e do SitDemo, que a verso de desenvolvimento do servidor SiTef. importante estudar a Especificao do ClientSitef para entender como o EasyTEFDedicado interage com o Cliente SiTef Modular, via troca de arquivos texto, e para entender o significado de algumas das propriedades do componente.

2009 EasyTEF Team Todos os direitos reservados.

3. INSTALANDO E TESTANDO INFRA-ESTRUTURA PARA TEF DEDICADO Para desenvolver para TEF dedicado com SiTef com o EasyTEFDedicado, necessrio instalar o SitDemo, que a verso de desenvolvimento do servidor SiTef, e o Cliente SiTef Modular. O Client SiTef Modular no funcionar caso o SitDemo no esteja em execuo. necessrio que o SitDemo esteja configurado corretamente, inclusive com a questo do Pinpad. As dvidas sobre configurao das estaes de desenvolvimento e do Pinpad junto ao SitDemo, devem ser tiradas com o suporte da Software Express. O exemplo que acompanha o EasyTEFDedicado, a ttulo de demonstrao, foi programado para funcionar com as ECFs (Emissor de Cupom Fiscal) Bematech suportadas pela biblioteca BemaFI32.dll (Matricial MP20 FI II, Trmica MP 2100 TH FI, ...), porm, possui mtodos e eventos que podem ser programados para outras ECFs. Bastaria substituir os comandos da Bematech pelos comandos da ECF desejada, caso esta no possua particularidades peculiares a ela. Durante a execuo do Roteiro de Pr-Homologao Client SiTef, sero gerados Cupons Fiscais. Estes devem ser enviados a Software Express para pravaliao. Aps a confirmao, por parte da certificadora, de que os cupons esto corretos, deve-se agendar a data para a homologao da AC. Acesse o site da Software Express para saber o endereo de envio dos cupons e o telefone para eventuais contatos.

2009 EasyTEF Team Todos os direitos reservados.

4. EASYTEFDEDICADO O EasyTEFDedicado funciona como uma interface entre a AC e Cliente SiTef Modular. O componente troca mensagens com o SiTef via arquivos texto. O Cliente SiTef Modular processa apenas uma requisio por vez, por isso, cada form Delphi poder ter somente um componente EasyTEFDedicado. Se for colocado um segundo componente, ser gerada uma exceo no permitindo que este seja colocado sobre o form. Junto com o componente, vem um exemplo completo de tela de frente de caixa utilizando TEF dedicado e ECF Bematech, apenas como demonstrao, para ajudar na programao de sua AC com o EasyTEFDedicado. Como dito anteriormente, basta trocar os comandos da Bematech pelos comandos da ECF desejada, caso esta no possua particularidades muito peculiares. 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 a Software Express exige isso dos sistemas. 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 dedicado. Desta forma, para clientes que no usam TEF dedicado, o valor desta propriedade deve ser atribuda para False em tempo de design. Assim, quando o cliente utilizar TEF dedicado, seu valor deve ser atribudo para True em tempo de execuo.

2009 EasyTEF Team Todos os direitos reservados.

4.4.2.

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.

4.4.3.

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.4.

imprimirEmUnicaVia A especificao do SiTef exige que haja uma opo para se imprimir apenas

a primeira via do cupom TEF. Atribuindo o valor True a esta propriedade, quando for impresso o cupom TEF, ser impresso somente a primeira via do cupom.

2009 EasyTEF Team Todos os direitos reservados.

4.4.5.

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.

4.4.6.

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.7.

operacaoTEFAtual Identifica qual operao TEF est sendo executada no momento. Valores: ttNone: Nenhuma operao; ttSitefAtivo: Verificao se o Cliente SiTef Modular 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.

2009 EasyTEF Team Todos os direitos reservados.

10

4.4.8.

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.9.

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.10. valorCampoXXX-XXX Estes campos so exatamente os mesmos citados na Especificao do ClientSiTef. Se no fossem tantos, seriam colocados neste documento, porm, pelo volume de campos, sugerimos que seja lida a Especificao do ClientSiTefb.

4.4.11. usouCartaoDebito Indica se, aps uma venda com carto, foi utilizado carto de dbito. Retorno: True caso o carto utilizado tenha sido um carto de dbito.

4.4.12. 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.

2009 EasyTEF Team Todos os direitos reservados.

11

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 a Especificao do ClientSiTef, pois alguns parmetros dos mtodos so campos devolvidos pelo Cliente SiTef Moular logo aps uma operao TEF. O EasyTEFDedicado mapeia esses campos via property valorCampoXXXXXX, que o mesmo campo indicado. Exemplo: O parmetro nomeRede (AMEX, REDECARD, VISANET) devolvido pelo Cliente SiTef Modular no campo 010-000, que mapeado no EasyTEFDedicado 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: 4.5.2. 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.

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

2009 EasyTEF Team Todos os direitos reservados.

12

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.

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);

2009 EasyTEF Team Todos os direitos reservados.

13

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.identificacao := funcaoGeradoraDeSequencias; EasyTEF.consultarCheque(StrToFloat(edtValor.Text), '', '', 'F', edtRegistro.Text, dtpBomPara.Date, edtBanco.Text, edtAgencia.Text, '', edtContaCorrente.Text, '', edtCheque.Text, '');

4.5.5.

fazerRequisicaoAdministrativa Requisitar ao SiTef 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.identificacao := funcaoGeradoraDeSequencias; EasyTEF.fazerRequisicaoAdministrativa;

4.5.6.

gerenciadorInstalado Verifica se o Cliente SiTef Modular est instalado. Retorno: True, caso o SiTef esteja instalado.

2009 EasyTEF Team Todos os direitos reservados.

14

4.5.7.

gerenciadorAtivo Verifica se o Cliente SiTef Modular est ativo. Retorno: True, caso o SiTef 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.

4.5.11. 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.

2009 EasyTEF Team Todos os direitos reservados.

15

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.12. 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. 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.identificacao := funcaoGeradoraDeSequencias; 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

2009 EasyTEF Team Todos os direitos reservados.

16

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.13. 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.14. 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.

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;

2009 EasyTEF Team Todos os direitos reservados.

17

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 EasyTEFDedicado 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 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.

2009 EasyTEF Team Todos os direitos reservados.

18

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: 4.6.4. 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.

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
2009 EasyTEF Team Todos os direitos reservados.

19

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. OnImpressoraTemPapel Evento que deve executar o tratamento de falta de papel na ECF. Parmetros: operacaoECFOk: Deve indicar se a impressora TEM PAPEL.

2009 EasyTEF Team Todos os direitos reservados.

20

4.6.9.

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.10. 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.11. 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 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.

2009 EasyTEF Team Todos os direitos reservados.

21

4.6.12. 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.13. 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.14. 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.

4.6.15. OnValorPersonalizadoReq Durante o processo de certificao, ser avaliado se sua AC utiliza alguma biblioteca externa para comunicao com o SiTef. Para mostrar que a sua AC,

2009 EasyTEF Team Todos os direitos reservados.

22

mesmo, que cria os arquivos de mensagens com o SiTef, 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 SiTef, mas que mostrar que apenas a sua AC faz a troca de mensagens com o SiTef 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.

23

5. LTIMOS PASSOS 5.1. O processo de certificao Depois de implementado o EasyTEFDedicado em sua AC, o Roteiro de PrHomologao Client SiTef deve ser executado. Ele possui 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 Software Express para ela avaliar se sua AC pode passar pela certificao. 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. Ser necessrio levar preenchido o roteiro de pr-homologao com os dados da empresa e do software, alm das fichas de solicitao de homologao. Para mais detalhes sobre estes documentos, ser necessrio entrar em contato com a Software Express. Ser necessrio levar uma gravadora de CD para gravar sua AC, pois a certificadora fica com uma cpia dela. Durante a homologao, 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 EasyTEFDedicado 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 Depois que sua AC for certificada, voc torna-se um integrador do SiTef, desta forma, o responsvel pela manuteno e configurao do Cliente SiTef Modular e do servidor SiTef, em seu(s) cliente(s) o desenvolvedor / Software House. O contrato estabelecido entre a Software Express e o desenvolvedor / Software House, agora integrador, prev uma mensalidade pelo uso do SiTef. O valor desta mensalidade varia de acordo com o nmero de estaes de trabalho que o(s) cliente(s) do integrador utilizar.
2009 EasyTEF Team Todos os direitos reservados.

24

A Software Express recomenda que o integrador deve cobrar seja maio que o que ela cobra, para que o integrador possa cobrir os custos para oferecer suporte ao SiTef. Seus(s) cliente(s) dever(ao) adquirir um roteador e linha dedicada, chamada de X25, para utilizar o TEF dedicado. A linha X25 pode ser contratada junto as operadoras de telefonia e possuem um valor mensal a ser pago a operadora. Dvidas relacionadas a infra-estrutura de rede que seu cliente utilizar devem ser sanadas junto a Software Express. Como podemos perceber, seu cliente deve possuir uma demanda muito forte por pagamento com carto, pois so vrios os custos por fazer pagamentos com carto via TEF dedicado. 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 EasyTEFDedicado tenha cumprido sua proposta de facilitar e agilizar, com baixo custo, a certificao de sua AC no processo de certificao TEF dedicado. 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.