Académique Documents
Professionnel Documents
Culture Documents
Manual do Desenvolvedor
Informaes Gerais
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Reviso
Data
Responsvel
1.0
13/04/2010
1.1
30/04/2010
1.2
01/07/2010
1.3
31/08/2010
Histrico
Verso Inicial.
Reviso do texto e incluso de novos retornos e tipos de
dados.
FacTI Vinicius
Peracini
Paulo dos Santos
04/10/2010
Frederico C. Goulart
Jailton da S. C. Santana
1.5
29/12/2010
1.6
05/01/2011
Marcos Teruhiro
1.7
16/02/2011
Jailton da S. C. Santana
1.8
17/03/2011
1.9
18/03/2011
1.10
19/04/2011
1.12
26/04/2011
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
1.13
29/04/2011
1.14
04/05/2011
1.15
11/05/2011
1.16
07/06/2011
FacTI Felipe M.
Schaden
FacTI Vinicius Peracini
FacTI Felipe M.
Schaden
FacTI Vinicius Peracini
1.17
02/08/2011
0xFF6B.
Incluso do prottipo das funes:
ScopeMenuSelecionaItem e ScopeMenuRecuperaItens.
1.18
09/08/2011
Frederico C. Goulart
1.19
23/08/2011
1.20
12/09/2011
Marcelo Dionysio da
Fonseca
1.21
15/09/2011
1.22
04/11/2011
1.23
29/11/2011
1.24
5/01/2012
Edison Ogata
Douglas Sebastiani
Bucciolli
Facti Rafael D. Tardivo
FacTI Srgio R. A.
1.25
20/01/2012
Assuno
Jailton da S. C. Santana
1.26
05/03/2012
1.27
23/03/2012
Edison Ogata
1.28
16/04/2012
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
26/04/2012
1.30
11/05/2012
1.31
22/05/2012
1.32
20/06/2012
Edison Ogata
1.33
21/06/2012
1.34
03/07/2012
Edison Ogata
1.35
08/08/2012
Marcelo D. Fonseca
1.36
10/08/2012
1.37
30/08/2012
1.38
13/09/2012
Edison Ogata
1.39
19/09/2012
1.40
21/09/2012
Edison Ogata
1.41
15/10/2012
1.42
17/10/2012
1.43
03/01/2013
Edison Ogata
1.44
04/01/2013
1.45
05/03/2013
Edison Ogata
1.46
08/03/2013
Edison Ogata
1.47
13/03/2013
1.48
18/04/2013
1.49
07/05/2013
1.50
25/06/2013
1.51
01/07/2013
Facti Henrique de O.
Buzachero
Edison Ogata
Facti Henrique de O.
Buzachero
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
1.52
01/07/2013
Regina M. N. Sato
1.53
06/08/2013
1.54
11/10/2013
1.55
14/10/2013
1.56
13/01/2014
Jovelina M. de Jesus
1.57
11/02/2014
Jovelina M. de Jesus
1.58
21/03/14
Jailton da S. C. Santana
1.59
25/03/2014
Edison Ogata
1.60
02/06/2014
1.61
04/07/2014
Facti-Camila M. Dutra
1.62
07/07/2014
1.63
07/07/2014
1.64
08/07/2014
Alcimar Joaquim
1.65
14/07/2014
Alcimar Joaquim
1.66
30/07/2014
Alcimar Joaquim
1.67
26/08/2014
Marcelo Dionysio da
Fonseca
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
1.68
27/08/2014
1.69
28/08/2014
Edison M. Ogata
1.70
23/09/2014
1.71
19/12/2014
Regina Megumi
Marcelo Dionysio da
1.72
22/12/2014
1.73
27/01/2015
Edison Ogata
1.74
19/02/2015
Edison Ogata
1.75
27/02/2015
1.76
12/03/2015
Jailton Santana
Fonseca
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
ndice
Prefcio............................................................................................................................. 13
A quem se destina ........................................................................................................................................ 13
Requisitos ..................................................................................................................................................... 13
Plataformas Compatveis .......................................................................................................................... 13
Requisitos de HW...................................................................................................................................... 13
Requisitos de SW ...................................................................................................................................... 13
Descrio do Produto ................................................................................................................................... 13
Objetivo ..................................................................................................................................................... 13
Definio ................................................................................................................................................... 13
Benefcios .................................................................................................................................................. 13
Conceitos ......................................................................................................................... 15
Transaes ................................................................................................................................................... 15
Fluxo de estados de coleta .......................................................................................................................... 16
Interfaces de interao com o SCOPE Client .............................................................................................. 16
Interface coleta .......................................................................................................................................... 16
Interface HLAPI ......................................................................................................................................... 17
Padres adotados neste documento............................................................................................................ 17
Legenda de Abreviaes .......................................................................................................................... 19
Instalao ......................................................................................................................... 20
Configurao .................................................................................................................... 22
Configurao do arquivo scope.ini ............................................................................................................... 22
Sesso [<empresa><filial>] ....................................................................................................................... 22
Sesso [SCOPEAPI] ................................................................................................................................. 24
Sesso [PPCOMP] .................................................................................................................................... 24
Configurao de porta serial para Linux ................................................................................................... 24
Sesso [PINPAD] ...................................................................................................................................... 25
Seo [SCOPEAPIPOS] ........................................................................................................................... 25
Seo [SCOPEAPIPOS-RXXX] ................................................................................................................ 26
TEF .................................................................................................................................... 53
Carto de crdito .......................................................................................................................................... 53
Compra com carto de crdito .................................................................................................................. 53
Consulta a financiamento de carto de crdito ......................................................................................... 55
Consulta a saldo de carto de crdito ...................................................................................................... 56
Pr-autorizao de crdito ........................................................................................................................ 57
Carto de dbito ........................................................................................................................................... 59
Compra com carto de dbito ................................................................................................................... 59
Compra CDC (Crdito Direto ao Consumidor) ......................................................................................... 61
Consulta CDC ........................................................................................................................................... 61
Simulao Credirio .................................................................................................................................. 62
Consulta a saldo de carto de dbito ....................................................................................................... 64
Funes de Consulta....................................................................................................... 68
Cheque ......................................................................................................................................................... 68
Consulta de cheques ................................................................................................................................ 68
AVS .............................................................................................................................................................. 69
Consulta AVS ............................................................................................................................................ 69
Comprovantes .................................................................................................................. 86
Comprovantes de transaes ...................................................................................................................... 86
Obtendo os cupons de TEF ...................................................................................................................... 86
Reimpresso de comprovante ..................................................................................................................... 88
Solicitando o comprovante off-line ............................................................................................................ 88
Solicitando o comprovante on-line ............................................................................................................ 89
Imprimindo o comprovante correto ........................................................................................................... 91
10
11
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
12
Prefcio
_____________________________________________________________________________________________________
A quem se destina
O manual do integrador destina-se aqueles que desenvolvem aplicao em que necessrio
efetuar transaes com autorizadoras, banco, etc. e para isso utilizaro o SCOPE como
concentrador de TEF.
Requisitos
Plataformas Compatveis
Todos os mdulos da soluo SCOPE, so compatveis com as plataformas Windows 7 e
Windows Server 2008.
O mdulo SCOPE Client, alm das plataformas acima, tambm compatvel com a plataforma
Linux (Librix, RedHat, SUSE e outros).
Requisitos de HW
Requisitos de SW
Banco de Dados (SGBD). Os seguintes SGBDs so suportados pela soluo SCOPE:
SQL Server 2005 ou 2008
Oracle 10g ou 11g
Descrio do Produto
Objetivo
O sistema SCOPE Soluo Completa para Pagamento Eletrnico permite ao software de
PDV efetuar o pagamento atravs de TEF, por exemplo, cartes de crdito e dbito, atravs da
digitao do emboo ou leitura da tarja magntica ou chip.
Definio
O SCOPE foi concebido para gerenciar todas as etapas de uma TEF abstraindo a complexidade
inerente transao do aplicativo PDV.
Benefcios
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
13
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
14
Conceitos
Transaes
O SCOPE prov loja diversos tipos de transaes (exemplo: compra com carto de crdito,
compra com carto de dbito, recarga de celular, pagamento de contas e de fatura de cartes,
etc.). Numa transao, o SCOPE Client comunica-se com o SCOPE Server baseado em
mensagens, as quais seguem a norma ISO 8583 que especifica o protocolo de mensagens para
transaes financeiras com carto. As mensagens bsicas e as suas sequncias que geralmente
compoem uma transao completa e bem sucedida so demonstradas na figura 1 e descritas
abaixo. Observe que a informao apresentada abaixo no exposta interface de programao,
compreendendo um fluxo interno entre SCOPE Client e SCOPE Server.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
15
Interface coleta
Disponvel para todos os sistemas operacionais com os quais o SCOPE Client executado, a
interface coleta do SCOPE Client o que apresenta uma maior interao entre a aplicao de
PDV e o SCOPE. Atravs desta interface, a aplicao se torna responsvel pela coleta dos dados
digitados pelo operador ou cliente conforme a solicitao a cada iterao do SCOPE. Como a
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
16
Interceptar, para uso da prpria aplicao, os dados coletados via digitao para o
SCOPE;
Interface HLAPI
Esta interface exige um nvel menor de integrao com a aplicao, pois toda a coleta de dado
realizada pelo SCOPE atravs de uma pequena janela, do prprio SCOPE, que exibida na tela
A coleta realizada pelo SCOPE, portanto a aplicao no sabe o que est sendo
coletado;
Pode tratar perifrico (CMC7, impressora, etc.), desde que suportado pelo SCOPE;
17
Todos os exemplos de cdigos relacionados neste documento esto seguindo a linguagem C com
a seguinte formatao:
int main ()
{
printf (Hello, SCOPE\s Programmers!);
}
Para compatibilidade das funes entre diversas linguagens e plataformas, algumas convenes
de tipos devem ser adotadas, conforme a tabela a seguir:
Definio de Tipo:
Tipo
Tamanho
Descrio
BYTE
1 byte
Valor sem sinal de 0 a 255
WORD
2 bytes
Valor sem sinal de 0 a 65.535
SHORT
2 bytes
Valor com sinal de -32.768 a 32.767
LONG
4 bytes
Valor com sinal de -2.147.483.648 a 2.147.483.647
Analogamente, como recurso de portabilidade, algumas constantes devem ser criadas e definidas
diferentemente em cada plataforma, com o objetivo de utilizar os mesmos prottipos de funes
conforme a tabela a seguir:
Constantes:
Tipo
EXPORT
CALLBACK
Descrio
Usada nos prottipos das funes que so exportadas
Funo cujo endereo de entrada fornecido a outras funes, de
modo que estas possam utilizar internamente da primeira
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
18
Legenda de Abreviaes
Formato
a
n
an
ans
MM
DD
AA
hh
mm
ss
LLvar
LLLvar
10
..10
b
Atributo
Caracteres alfabticos.
Caracteres numricos.
Caracteres alfabticos e numricos.
Caracteres alfabticos, numricos e especiais.
Ms.
Dia.
Ano.
Hora.
Minuto.
Segundo.
Tamanho de um campo varivel.
Ex. Se o contedo do campo = AB1234CD, teremos para represent-lo: 08
AB1234CD .
Tamanho de um campo varivel.
Ex. Se o contedo do campo = AB1234CD, teremos para represent-lo: 008
AB1234CD .
Tamanho fixo de 10 caracteres.
Tamanho varivel de at 10 caracteres.
Representao binria dos dados.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
19
Instalao
Nesta sesso comentada a localizao das bibliotecas do SCOPE Client em cada sistema
operacional. Quanto composio do SCOPE Client, deve-se consultar o Apndice E Conjunto
de bibliotecas do SCOPE Client.
CUIDADO: devido perda de controle sobre qual biblioteca o MS-Windows faz referncia,
no aconselhvel que as bibliotecas estejam no diretrio do MS-Windows
ou em
qualquer subdiretrio.
20
IMPORTANTE: para a execuo deste comando necessrio ter direitos do usurio root.
CUIDADO: em ambiente Linux, o usurio root tem o direito de realizar comandos que
podem danificar o sistema.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
21
Configurao
Sesso [<empresa><filial>]
Esta sesso a nica obrigatria para que o SCOPE Client possa se conectar ao ScopeSRV.
Dentro dos colchetes deve haver uma sequncia de 8 dgitos, sendo que os 4 primeiros
representam o cdigo da empresa e os demais, o cdigo da filial cadastrado no SCOPE. Estes
cdigos devem ser iguais aos utilizados como parmetros da funo ScopeOpen(). Os valores
das chaves configurveis nesta sesso se encontram na tabela abaixo.
Chave
Name
Port
Significado
Valor
ScopeSRV.
ScopeSRV
AtualizaDataHora
CupomReduzido
(padro).
caso deseja-se que
sincronize.
40 colunas (padro)
20 colunas
m 16 colunas
No exibe
Exibe (padro)
TimeOutAdm
se no deve sincronizar
ShowCupom
2046).
conexo.
MsgOperReduzida
(padro 30).
No exibir
Exibir
Sequncia de caracteres no
VersaoAutomacao
certificao da Visanet.
que:
RR release de certificao do
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
22
TEF
AAAA Nome da automao
CCCC Cdigo do memorando
xxx
(o padro 01HOTK0000)
WKPAN
ScopeValidaSaque
No habilitar
Habilitar
No habilitar
Habilitar
s(0)
Nenhum carto
mascarado.
Todos os cartes sero
mascarados com zeros.
Todos os cartes sero
mascarados com zeros.
Todos os cartes sero
s(*)
mascarados com
asteriscos.
MascararDados
p(0)
p(*)
GenTimeout
valor padro de 99
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
23
; valor fictcio
Sesso [SCOPEAPI]
Esta sesso no obrigatria e define os parmetros abaixo relacionados ao ambiente:
Chave
Significado
Valor
SaveCupom
No habilita (padro)
Habilita
ArqControlPath
operacional Windows
Sesso [PPCOMP]
Aqui, configuram-se itens relacionados ao PIN-Pad compartilhado
Chave
Significado
Configura para no abrir o digitado se
NaoAbrirDigitado
Valor
n
abre digitao
24
Chave
Significado
Valor
SerialNumPorts
SerialPortx
Valores de 0 a 5.
Exemplo: suponhamos que possumos 3 equipamentos seriais, mas o computador que rodar a
aplicao possui uma porta serial e duas USB. Ser necessrio que dois equipamentos utilizem
conversores SerialUSB, que ao serem conectados, so criados dois novos dispositivos:
ttyUSB0 e ttyUSB1 (os nmeros terminais 0 e 1 podem variar). Portanto, em algum ponto do
arquivo scope.ini, deve ser colocado a configurao abaixo para atender esta mquina:
SerialNumPorts=3
SerialPort0=/dev/ttyS0
; porta 1 serial
SerialPort1=/dev/ttyUSB0
; porta 2 USB
SerialPort2=/dev/ttyUSB1
; porta 3 USB
Sesso [PINPAD]
Aqui, configura-se item relacionado ao tamanho mnimo de dados permitidos para serem lidos
pelo PIN-Pad.
Chave
TamMinDados
Significado
Valor
padro 1).
CUIDADO: Caso o PIN Pad utilize a Biblioteca Compartilhada 1.07 e PCI 2.0 a quantidade
mnima de dgitos permitidos para serem lidos por coleta deve ser 4 dgitos, sendo assim,
TamMinDados deve estar parametrizado com um valor de no mnimo 4.
Seo [SCOPEAPIPOS]
Essa seo permite configuraes gerais, como para habilitar a digitao dos cdigos e
acrescentar redes e/ou bandeiras.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
25
Chave
Significado
Valor
DigitacaoCodigo
Complementar
Bandeiras
String de at 20 caracteres
Seo [SCOPEAPIPOS-RXXX]
Essa seo permite configuraes de uma das redes configuradas na seo detalhada
anteriormente, onde XXX uma das redes listas na chave Redes. Portanto, deve haver uma
seo para cada rede da lista.
ATENO: se no houver a seo para alguma das redes listadas, ser exibido o cdigo da rede
como opo e todas as bandeiras listadas estaro associadas rede.
Chave
Significado
Valor
Nome
String de at 20 caracteres
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
26
scope.ini
AtualizaDataHora
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\AtualizaDataHora
CupomReduzido
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\CupomReduzido
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
27
MsgOperReduzida
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\MsgOperReduzida
Name
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPESRV\Name
NaoAbrirDigitado
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\NaoAbrirDigitado
Port
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPESRV\Port
ShowCupom
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\ShowCupom
TimeOutAdm
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\TimeOutAdm
TimeOutLogon
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\ TimeOutLogon
VersaoAutomacao
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\VersaoAutomacao
ScopeValidaSaque
HKEY_LOCAL_MACHINE\SOFTWARE\Scope\SCOPEAPI\ScopeValidaSaque
que
podem
depois
ser
alterados
se
necessrio
em
%SystemRoot%\SysWOW64\odbcad32.exe.
Para maiores informaes sobre o Wow64, consulte a sesso Instalao do SCOPE em
Sistemas Operacionais Microsoft Windows de 64-Bits, no documento Scope Manual de
Instalao e Configurao
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
28
Conexo
Inicia o SCOPE Client, procedendo alocao dos recursos necessrios. Essa funo dever ser
executada uma nica vez no incio do aplicativo de PDV.
Antes de enviar o logon para o SCOPE Server, o client gera um par de chaves pblica e privada.
Dependendo da configurao de hardware do PDV, esse processo pode levar alguns segundos.
Isso necessrio para gerar uma chave de tamanho seguro e assegurar a conformidade com o
PCI-DSS. Entretanto, o estabelecimento pode definir um tempo mximo de para gerar essas
chaves, configurando o parmetro GenTimeout no arquivo scope.ini do client (ver tpico Sesso
[<empresa><filial>]).
Prottipo
LONG EXPORT ScopeOpen (char *Modo, char *Empresa, char *Filial, char
*PDV)
Parmetros
[in]
[in]
[in]
[in]
String (constante
igual 2)
String com quatro
dgitos
String com quatro
dgitos
String com trs
dgitos
Modo
Modo de operao
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
29
Cdigos Retorno
Hexadeci Decimal
mal
0xFA03
64003
0xFE02
65026
0xFE09
65033
Significado
Parmetro 3 invlido
SCOPE API j foi inicializada corretamente
Servidor no configurado no arquivo scope.ini
Exemplo
...
char empresa[] = 0001;
char filial[] = 0001;
char pdv[] = 0001;
...
retorno = ScopeOpen (2, empresa, filial, pdv);
if (retorno != 0)
{
printf(Erro ao conectar com o SCOPE Server. Erro(%d), retorno);
exit(0);
}
...
Desconexo
Encerra o SCOPE Client, procedendo liberao de todos os recursos alocados. Essa funo
dever ser executada uma nica vez no trmino do aplicativo usurio.
Prottipo
LONG EXPORT ScopeClose (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
A transao em andamento a aplicao deve aguardar
Exemplo
...
retorno = ScopeClose ();
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
30
Sesso de transao
Sesso de TEF
O conceito de sesso de TEF existe para garantir a integridade de uma operao. Desta forma,
entre a abertura e encerramento da sesso, todas as atividades includas na respectiva operao
(autorizao da transao, impresso de comprovante) devero ser completamente realizadas.
Este mecanismo permite que em caso de falha (queda de energia), a operao possa ser
desfeita. Isso corresponde a imprimir corretamente o cupom de TEF e garantir que a falha
ocorrida no atrapalhe no funcionamento da aplicao.
Sendo multi-TEF, o SCOPE implementa o conceito de sesso de TEF com o intuito de garantir
que todas as transaes numa mesma sesso sero aprovadas ou desfeitas. Com isto, o cliente
pode efetuar o pagamento parcialmente de diversas maneiras (exemplo: 40% do valor da venda
sero pagos em dbito e o restante com o carto de crdito), e para validar a venda, todas as
transaes devero ser aprovadas, caso contrrio, as transaes no podem ser concludas (no
tem sentido que a venda seja considerada concluda apenas com a aprovao de parte do valor
da compra).
Em cada venda realizada, a aplicao deve abrir a sesso, realizar as diversas transaes e
finalmente fechar a sesso, confirmando ou desfazendo todas as transaes desta venda. A
estrutura do fluxo bsico de funcionamento do SCOPE Client encontra-se na figura 4.
IMPORTANTE: numa sesso de multi-TEF em que h vrias transaes, no possvel
desfazer uma ou outra transao. Para isso, o operador dever cancelar todas daquela
sesso ou confirm-las.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
31
Prottipo
LONG EXPORT ScopeAbreSessaoTEF (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
A transao em andamento a aplicao deve aguardar
Exemplo
...
// Conecta ao servidor do SCOPE
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
32
...
// Realiza a venda
...
retorno = ScopeAbreSessaoTEF();
if (retorno != 0)
{
// Trata o erro e interrompe a sequncia.
}
else
{
// Inicia a(s) transao(s) desejada(s)
}
...
Encerrando a sesso
Aciona o SCOPE para finalizar uma sesso de TEF (ciclo com uma ou mais transaes de TEF),
ou seja, confirmar ou desfazer as transaes da sesso em aberto, aps encerrar o
processamento da transao.
Prottipo
LONG EXPORT ScopeFechaSessaoTEF(BYTE Acao, BYTE *DesfezTEFAposQueda)
Parmetros
[in]
Byte
(0:Desfaz;
1:Confirma)
[out]
Ponteiro para
byte
Retorno
Caso retorne sucesso (0x0000), significa que o SCOPE conseguiu com xito confirmar ou
desfazer a(s) transao(s) de uma sesso de TEF. Caso contrrio, ocorreu algum problema
na confirmao ou desfazimento da(s) transao(s). Para maiores detalhes dos cdigos
relacionados, ver tabela de cdigo de retorno.
65024
65025
Significado
Erro no arquivo de controle utilizado finalizao no ciclo multiTEF
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Exemplo
BYTE acao, defez;
...
// Realiza a(s) transao(s) desejada(s)
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
33
acao = 1;
// confirmar
Exemplo
...
BYTE acao, defez;
...
// Conecta ao servidor do SCOPE
...
ScopeFechaSessaoTEF(acao, &defez);
if (desfez)
{
printf(A transao TEF anterior foi desfeita (cancelada).);
printf(\n Reter o cupom TEF.);
}
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
34
IMPORTANTE: sempre que tratar uma possvel queda de energia e o segundo parmetro
da funo ScopeFechaSessaoTEF() retornar o valor 1, deve-se imprimir a mensagem:
A transao TEF anterior foi desfeita (cancelada). Reter o cupom TEF
Prottipo
LONG EXPORT ScopeMTEFOnOff (BYTE Trata)
Parmetros
[in]
Byte
Trata
Retorno
Significado
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Exemplo
...
BYTE acao, defez;
...
// Conecta ao servidor do SCOPE
...
ScopeMTEFOnOff(1);
// deixa pendente
ScopeFechaSessaoTEF(acao, &defez);
if (desfez)
{
printf(A transao TEF anterior foi desfeita (cancelada).);
printf(\n Reter o cupom TEF.);
}
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
35
Status de transao
Durante o processamento da transao, a aplicao pode consultar o estado em que a transao
est e tomar alguma ao baseado no valor dela. Esta ao pode estar entre uma das situaes
abaixo, conforme o intervalo de cdigos retornado pelo SCOPE Client:
valores entre 3 (3h) e 92 (5Bh): erro de algum parmetro passado para o SCOPE;
valores entre 64001 (FA01h) e 64005 (FA05h): erro de algum parmetro passado para o
SCOPE;
valores entre 64512 (FC00h) e 64767 (FCFFh): coleta de algum dado necessrio
transao;
valores entre 65024 (FE00h) e 65535 (FFFFh): erro reportado pelo SCOPE referente
transao;
Enquanto o SCOPE Client devolver o cdigo de status igual a 65024 (FE00 h), a aplicao dever
aguardar algum tempo at que outro status seja fornecido.
Consultando o status
A consulta do status da transao deve ocorrer enquanto uma transao (carto de crdito, carto
de dbito, recarga de celular, etc.) est em processamento.
Prottipo
LONG EXPORT ScopeStatus (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Exemplo
...
// Abre sesso
retorno = ScopeCompraCartaoCredito(valor, taxa_servico);
if (retorno == 0)
{
do
{
retorno = ScopeStatus();
// trata conforme retorno
if (retorno == 64024)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
36
{
sleep (1000);
continue;
}
else
if ((retorno <= 0xFC00) || (retorno >= 0xFCFF))
processando == 0; //saiu da faixa de coleta
// trata a coleta de algum dado
} while (processando == 1);
} // fim do if
else
{
// Trata erro retornado na solicitao da transao
}
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
37
Configuraes gerais
No momento de execuo do aplicativo, a aplicao de frente de loja poder configurar os
seguintes itens:
Cdigo de
Descrio
identificao
Permite que a aplicao cancele a transao que est sendo executada no PINPad quando este esteja coletando algo. Por padro, a aplicao no tem
conhecimento do momento em que o SCOPE est coletando o carto, a senha
1
uso
da
funo
ScopeResumeParm()
para
possvel
cancelamento.
Habilitado este item, o SCOPE retornar o estado para obter os servios (64644)
2
durante o fluxo de TEF para que a aplicao de PDV possa obter os servios e
parmetros configurados no ScopeCNF.
Se habilitado, no abrir o digitado na leitura do carto com o PIN-Pad
16
imprimir a informao de 1
Via Cliente ou 2
respectivos cupons.
32
128
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
38
256
Prottipo
LONG EXPORT ScopeConfigura (LONG Id, LONG Param)
Parmetros
[in]
LONG
Id
[in]
LONG
Param
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
Funo de uso exclusivo na interface coleta
Exemplo
...
// conexo com o scope server bem sucedida
...
// trabalhando com impressora carbonada
retorno = ScopeConfigura(16, 1);
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
39
Configurao de PIN-Pad
Para evitar a substituio de PIN-Pad por um tipo incompatvel com a configurao do ScopeCNF,
h a possibilidade de informar o SCOPE o tipo do PIN-Pad que est conectado e proibir a
execuo de transao. A validao est baseada nas seguintes opes:
Prottipo
LONG EXPORT ScopeValidaInterfacePP (BYTE IntPP)
Parmetros
[in]
BYTE
IntPP
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
Exemplo
...
// PIN-Pad compartilhado conectado
retorno = ScopeValidaInterfacePP(2);
// conecta ao ScopeSRV
...
LEMBRETE: a chamada a essa funo deve ser feita antes de chamar a funo
ScopeOpen().
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
40
Interface coleta
Como a aplicao ser responsvel pela coleta (entrada de dados do usurio), esta deve obter do
SCOPE Client informaes para solicitar os dados. Da mesma maneira, a aplicao deve
devolver o que foi coletado para o SCOPE Client. Antes de tudo, a aplicao necessita de um
meio para informar ao SCOPE Client que o modo de interao ser pela interface coleta. O fluxo
da aplicao, quando esta utiliza a interface coleta, est esboado no diagrama da figura 5. Nos
tpicos subsequentes explicamos os mecanismos para realizar estas operaes.
Na interface coleta, o SCOPE Client retornar, atravs da funo ScopeStatus(), um cdigo (ver
cdigos na tabela Coleta de dados) sempre que necessitar de uma atuao do aplicativo, como
por exemplo, coletar dados, imprimir cupons e cheques, mostrar mensagens para o operador e/ou
cliente, entre outros.
Prottipo
LONG EXPORT ScopeSetAplColeta(void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
Exemplo
...
// Conexo ao ScopeSRV bem sucedida
...
retorno = ScopeSetAplColeta();
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
41
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
42
Estruturas de apoio
Para a aplicao receber do SCOPE Client as informaes para coleta, ela dever passar
um endereo de memria de um buffer que representado, em linguagem C, pela estrutura
ptPARAM_COLETA definida no arquivo ScopeApi.h, cuja declarao :
typedef struct _stPARAM_COLETA
{
WORD
Bandeira;
WORD
FormatoDado;
WORD
HabTeclas;
char
MsgOp1[64];
char
MsgOp2[64];
char
MsgCl1[64];
char
MsgCl2[64];
char
WrkKey[16+1];
#ifdef __linux__
char
filler;
#endif
WORD
PosMasterKey;
char
PAN[19+1];
BYTE
UsaCriptoPinpad;
BYTE
IdModoPagto;
BYTE
AceitaCartaoDigitado;
char
Reservado[105];
} stPARAM_COLETA, *ptPARAM_COLETA;
A descrio de cada campo encontra-se abaixo:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
43
PAN: nmero do carto utilizado pela funo PP_iGetPIN(). Este campo utilizado
apenas com a biblioteca da VISANET para PIN-Pad;
Prottipo
LONG EXPORT ScopeGetParam (LONG tipoParam, ptPARAM_COLETA lpParam)
Parmetros
[in]
LONG
TipoParam
Retorno
Ver tabela de cdigo de retorno.
Significado
44
Hexadeci
mal
0xFA01
0xFE01
Decimal
64001
65025
Parmetro 1 invlido
SCOPE API no foi inicializada corretamente
Exemplo
...
// executa transao (crdito, dbito, etc.)
stPARAM_COLETA Pcoleta;
...
// inicia iterao
retorno = ScopeStatus();
if(retorno != 0xFE00)
{
...
memset(&PColeta, '\0', sizeof(PColeta));
retorno = ScopeGetParam(retorno, &PColeta);
// atualiza as teclas retornar, avanar e cancelar
// coleta os dados
...
// entrega o que coletou ao SCOPE
...
}
// finaliza iterao
Prottipo
LONG
EXPORT
ScopeResumeParam
(LONG
codTipoColeta,
char
*dados,
WORD
Parmetros
[in]
LONG
codTipoColeta
[in]
String
dados
[in]
WORD
dadosParam
[in]
eACAO_APL
Ao
Retorno
Ver tabela de cdigo de retorno.
45
Cdigos Retorno
Hexadeci Decimal
mal
0xFA01
64001
0xFE01
65025
0xFE04
65028
0xFF10
65296
Significado
Parmetro 1 invlido
SCOPE API no foi inicializada corretamente
No existe transao suspensa
Dado invlido
Exemplo
...
// executa transao (crdito, dbito, etc.)
char *dados[128];
WORD modo_entrada;
...
// inicia iterao
cod_coleta = ScopeStatus();
if(cod_coleta != 0xFE00)
{
...
// obtm os parmetros para a coleta
// atualiza as teclas retornar, avanar e cancelar
// coleta os dados e armazena em na varivel dados
modo_entrada = 0x0004;
// pelo teclado
Para resolver uma necessidade de alguns clientes que desejam manipular os itens do Menu
Dinmico montados atravs da Inicializao de Tabelas pelas redes VISANET-4.1 e CIELO,
foram definidas duas novas funes exportadas pelo SCOPE Client, conforme abaixo. A ideia
que, ao receber o estado TC_EXIBE_MENU (que j existe hoje), o PDV possa opcionalmente
chamar a funo ScopeMenuRecuperaItens do SCOPE para receber os itens do Menu a serem
exibidos e em seguida chamar a ScopeMenuSelecionaItem para indicar ao SCOPE qual item foi
selecionado.
Desta forma, o PDV poder, por exemplo:
Exibir todos os itens na mesma tela (hoje, pelo fluxo do SCOPE Client, apresentado um
item por vez);
Excluir algum item da lista que eventualmente no deva ser exibido ao operador;
Alterar a descrio de algum item para melhor entendimento do operador;
Fazer a seleo automtica de um determinado item sem apresent-lo ao operador;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
46
Prottipo
dllScopeAPI ScopeMenuRecuperaItens(BYTE _TipoTabela, char *_Buffer, WORD
_TamBuffer);
Parmetros
Fixo em 1. Para permitir evolues futuras.
[in] BYTE
_TipoTabela
[in] String
_Buffer
[in] WORD
_TamBuffer
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
No Encontrado (para quando no veio menu dinmico na
carga de tabelas).
Prottipo
dllScopeAPI ScopeMenuSelecionaItem(char _Item);
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
47
Parmetros
[in] BYTE
_Item
Retorno
Ver tabela de cdigo de retorno.
O uso destas novas funes opcional. Caso no utilizadas o tratamento do Menu Dinmico ser
da mesma forma sem a chamada (todos os itens exibidos).
As configuraes relativas ao Menu Dinmico existentes hoje no SCOPE.INI do ScopeSRV sero
mantidas.
Caso seja necessrio alterar algum item ou comportamento do menu, recomendamos antes entrar
em contato com o representante da Cielo para solicitar aprovao das alteraes e verificar a
necessidade de recertificao do software de frente de loja.
Interface HLAPI
Sendo o SCOPE responsvel pela coleta de dados, a aplicao possui menos trabalho durante a
transao. Entretanto ainda so necessrios 2 outros tratamentos: obteno de dados para uso
da aplicao e notificao do SCOPE para impresso do cupom (figura 6).
Muitas vezes a aplicao necessita controlar a venda e seu meio de pagamento. Para aquelas
vendas que so pagas com carto, a aplicao pode manter na informao da venda, alguns
dados da TEF para controle de caixa. As informaes da TEF que a aplicao poder precisar
para esse controle so vrias. O SCOPE Client fornece a funo ScopeObtemCampoExt() para a
obteno dos dados da transao.
A impresso de cupons outro ponto de ateno que a aplicao deve tratar para compensar
este tipo de interface. Uma vez que na interface HLAPI o SCOPE Client coleta todos os dados e a
aplicao no tm conhecimento do que ele est fazendo, num determinado momento ela deve
pedir para o SCOPE suspender a transao, para que o cupom seja impresso. Uma vez
suspensa, a aplicao obtm os cupons, imprime-os e informa ao SCOPE que ele poder
continuar ou at mesmo cancelar a transao.
Suspendendo a transao
A aplicao deve fazer isso ao menos uma vez na interface HLAPI antes de cada transao. A
aplicao poder solicitar ao SCOPE Client para que ele suspenda em diversos momentos. Mas,
ao menos uma vez, porque primordial que a transao esteja suspensa para imprimir o cupom.
Existem diversos cdigos representando pontos ou estados de coleta em que o SCOPE Client
pode suspender a transao, sendo feitos com a funo ScopeSuspend().
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
48
49
Prottipo
LONG EXPORT ScopeSuspend (LONG estado)
Parmetros
[in]
LONG
estado
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
SCOPE API no foi inicializada corretamente
Exemplo
...
// definindo o ponto de suspenso
retorno = ScopeSuspend(4);
...
Retomando a transao
Todo o tempo em que a transao est suspensa, a aplicao far algo que ela necessita.
Realizado o que a aplicao deveria fazer enquanto a transao est suspensa, a aplicao deve
informar para o SCOPE que pode continuar, caso contrrio, a transao no ser concluda.
Prottipo
LONG EXPORT ScopeResume (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Significado
50
Hexadeci
mal
0xFE00
0xFE01
0xFE04
Decimal
65024
65025
65028
Exemplo
...
// SCOPE passou o controle para a aplicao, suspendendo a transao
...
// A aplicao fez o que desejava (ex: imprimiu o cupom)
...
retorno = ScopeResume();
...
Abortando a transao
Em certos momentos, a transao no pode ser concluda. Por problema na impressora,
desistncia do cliente, etc. Enquanto a transao estiver suspensa, caso se deseje cancelar a
transao, a aplicao poder continuar a transao e fechar a sesso solicitando que o SCOPE
desfaa-a ou simplesmente aborte no ponto em que est suspensa. A complicao em desfazer a
transao no momento do encerramento da sesso, que todas as transaes sero desfeitas. A
funo ScopeAbort() aborta o fluxo de execuo do SCOPE Client suspenso pela funo
ScopeSuspend() ou quando o SCOPE Client est aguardando uma ao do aplicativo.
Prottipo
LONG EXPORT ScopeAbort(void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
No existe transao suspensa
No foi possvel criar a thread na coleta de dados
Estourou o nmero mximo de TEF numa sesso multi-TEF
Exemplo
...
// transao suspensa
...
// deseja-se cancelar a transao
ScopeAbort();
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
51
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
52
TEF
Nas sees seguintes, trataremos sobre as transaes com carto crdito e dbito, desde
compras a saldo at as prprias consultas de saldo.
Carto de crdito
Uma das operaes mais realizadas numa loja e muito incentivada pelas empresas de cartes, o
pagamento de compra com o carto de crdito apresenta diversos servios relacionados: compra
vista, parcelada pela loja, parcelada pela administradora de carto, consulta de saldo e de
financiamento e cancelamento (que dedicamos um captulo exclusivo).
Prottipo
LONG EXPORT ScopeCompraCartaoCredito (char *Valor, char *TxServico)
Parmetros
[in]
[in]
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
Estados de coleta
A tabela abaixo mostra os estados de coleta que o fluxo poder retornar, no modo coleta.
Cdigos Retorno
Hexadeci Decimal
mal
0xFC00
64512
0xFC01
64513
0xFC02
64514
0xFC03
64515
0xFC09
64521
0xFC0E
64526
0xFC0A
64522
Significado
0xFC18
64536
Coletar carto
Coletar validade do carto
Imprime Cupom
Coletar CGC ou CPF
Coletar se a transao ser a vista ou no
Coletar quantidade de parcelas
Coletar se a transao ser parcelada pela administradora ou
pelo estabelecimento
Coleta os 4 ltimos dgitos do carto
0xFC1F
0xFC24
64543
64548
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
53
0xFC26
0xFC28
0xFC34
64550
64552
64564
0xFC53
0xFC6D
0xFC6E
0xFC6F
0xFC0E
0xFC15
0xFC1B
0xFC20
0xFC23
0xFC33
0xFC64
0xFC7E
0xFC80
0xFC84
0xFC85
0xFC8A
0xFC29
0xFC2F
0xFC30
0xFC51
0xFCA5
0xFCFE
0xFCFF
64595
64621
64622
64623
64526
64533
64539
64544
64547
64563
64612
64638
64640
64644
64645
64650
64553
64559
64560
64593
64677
64766
64767
64259
64265
65025
65029
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF0C
65290
65292
Significado
Parmetro 1 invlido
Parmetro 2 invlido
No foi possvel criar a thread na coleta de dados
Erro ao verificar mensagem mensagem invlida
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Transao no implementada
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
54
0xFF1D
65309
0xFF36
65334
0xFF3A
0xFF60
0xFF5E
65338
65376
65374
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopeCompraCartaoCredito(valor, taxa);
...
// processa a transao
...
// fecha a sesso
...
Prottipo
LONG EXPORT ScopeConsultaCredito (char *Valor, char *TxServico)
Parmetros
[in]
[in]
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
55
0xFE07
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF1D
65290
65309
0xFFFF
0xFF5E
65535
65374
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopeConsultaCredito(valor, taxa);
...
// processa a transao
...
// fecha a sesso
...
Prottipo
LONG EXPORT ScopeConsultaSaldoCredito (void)
Parmetros
No h parmetros.
Retorno
Ver tabela de cdigo de retorno.
Significado
A transao em andamento a aplicao deve aguardar
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
56
0xFE01
0xFE06
0xFE07
65025
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
*0xFF1D
65290
65309
0xFFFF
0xFF5E
65535
65374
Exemplo
...
// abre sesso
...
retorno = ScopeConsultaSaldoCredito();
...
// processa a transao
...
// fecha a sesso
...
Pr-autorizao de crdito
Como a consulta de saldo do carto de crdito no est disponvel para todos os cartes e por
representar certo risco (cartes roubados podero ter todo o seu limite gasto, sendo conhecido o
seu saldo), outras administradoras disponibilizam a opo de pr-autorizao. Assim, antes de
fazer a compra, possvel realizar uma pr-autorizao para verificar se a compra proceder com
sucesso.
Prottipo
LONG EXPORT ScopePreAutorizacaoCredito (char *Valor, char *TxServico)
Parmetros
[in]
[in]
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
57
Cdigos Retorno
Hexadeci Decimal
mal
0xFA01
64001
0xFA02
64002
0xFE00
65024
0xFE01
65025
0xFF1D
65309
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF1D
65290
65309
0xFFFF
0xFF5E
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopePreAutorizacaoCredito(valor, taxa);
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
58
Carto de dbito
Abrangendo diversos servios, como o carto de dbito, uma das transaes mais realizadas
nos estabelecimentos. Falando em servios, nos referimos a dbito vista, dbito pr-datado,
dbito parcelado com a 1 parcela agendada ou vista, dbito Voucher, saque e CDC.
Prottipo
LONG EXPORT ScopeCompraCartaoDebito (char *Valor)
Parmetros
[in]
String com o
mximo de 12
dgitos
Valor
Retorno
Ver tabela de cdigo de retorno.
Estados de coleta
A tabela abaixo mostra os estados de coleta que o fluxo poder retornar, no modo coleta
Cdigos Retorno
Hexadeci Decimal
mal
0xFC00
64512
0xFC01
64513
0xFC02
64514
0xFC03
64515
0xFC09
64521
0xFC0B
64523
0xFC0C
64524
0xFC0D
64525
0xFC0E
64526
0xFC10
64528
0xFC11
64529
0xFC13
64531
0xFC14
64532
0xFC15
64533
0xFC18
64536
0xFC1A
64538
0xFC1B
64539
0xFC22
64546
0xFC23
64547
0xFC24
64548
0xFC25
0xFC2B
0xFC2C
0xFC30
64549
64555
64556
64560
Significado
Coletar carto
Coletar validade do carto
Imprime Cupom
Coletar CGC ou CPF
Coletar se a transao ser a vista ou no
Coletar se a transao ser pr-datada
Coletar se a parcela ser vista
Coletar quantidade de dias entre parcelas
Coletar quantidade de parcelas
Coletar o dia e o ms (DDMM)
Coletar a senha
Coletar a forma de pagamento
Coletar data do primeiro vencimento
Coletar valor de entrada
Coletar ltimos dgitos do carto
Coletar se deseja consultar parcelas
Imprime consulta
Imprime nota promissria
Coletar CEP
Coletar nmero do endereo
Coletar parte numrica do complemento
Coleta se com ou sem garantia de pr-datado
Coleta se aceita ou no risco
Coleta nmero do telefone
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
59
0xFC32
0xFC33
0xFC47
0xFC51
0xFC52
0xFC64
0xFC66
0xFC7B
0xFC7D
0xFC7E
0xFC7F
0xFC80
0xFC85
0xFC87
0xFC95
0xFC96
0xFC9F
64562
64563
64583
64593
64594
64612
64614
64635
64637
64638
64639
64640
64645
64647
64661
64662
64671
0xFCA5
0xFCBE
0XFCC1
64677
64702
64705
0xFCCB
0xFCFE
0xFCFF
64715
64766
64767
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
char valor[12 + 1];
...
// obtm o valor da compra e armazena em valor
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
60
...
// abre sesso
...
retorno = ScopeCompraCartaoDebito(valor);
...
// processa a transao
...
// fecha a sesso
...
Consulta CDC
Para uma simples consulta CDC, independente da compra, deve-se utilizar a funo especfica
para a transao: ScopeConsultaCDC(). O resultado desta transao ser um cupom com valores
do parcelamento com as taxas.
Quando a consulta for realizada por esta funo, os cupons da consulta devero ser enviados
para a impressora.
Prottipo
LONG EXPORT ScopeConsultaCDC (char *Valor, char *TxServico)
Parmetros
[in]
[in]
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
61
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF0C
0xFF1D
65290
65292
65309
0xFFFF
0xFF5E
65535
65374
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Transao no implementada
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopeConsultaCDC(valor, taxa);
...
// processa a transao
...
// fecha a sesso
...
LEMBRETE: a compra CDC efetuada no fluxo de dbito, ou seja, dever ser chamada a
funo ScopeCompraCartaoDebito() para a realizao dessa compra.
Simulao Credirio
Atualmente esta transao de uso exclusivo da rede Cielo. Seu uso opcional, j que a mesma
transao pode ser feita atravs da ScopeMenu. Quando feita atravs desta ltima, segue as
regras de seleo de produtos da Cielo.
Prottipo
LONG EXPORT ScopeSimulacaoCrediario (WORD CodGrupoServico, char *Valor,
char *TxServico)
Parmetros
[in]
Numrico
CodGrupoServico
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF0C
0xFF1D
65290
65292
65309
0xFFFF
0xFF5E
65535
65374
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Transao no implementada
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopeSimulacaoCrediario(1, valor, taxa);
...
// processa a transao
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
63
// fecha a sesso
...
Prottipo
LONG EXPORT ScopeConsultaSaldoDebito (char *Valor)
Parmetros
[in]
String com o
mximo de 12
dgitos
Valor
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
char valor[12 + 1];
...
// obtm o valor da compra e armazena em valor
...
// abre sesso
...
retorno = ScopeConsultaSaldoDebito(valor);
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
64
Carto Dinheiro
So cartes ao portador, protegido por senha, semelhante ao carto de dbito que adquirido
(comprado) com um valor fixo, e posteriormente pode ser recarregado. utilizado principalmente
para efetuar compras, debitando esse valor do saldo do carto, cujo objetivo a substituio de
dinheiro por este carto. Tambm, conhecido como Carto Presente ou Gift Card.
Operaes
As operaes (transaes) que podem ser efetuadas com o carto dinheiro so:
Compra/Carga de carto
Consulta a saldo
Estornos
Prottipo
LONG EXPORT ScopeCartaoDinheiro (WORD servico, char *Valor)
Parmetros
[in]
WORD
Servico
[in]
String com o
mximo de 12
dgitos
Valor
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Transao no implementada
Exemplo
...
Long servico = S_CARGA_CARTAO_DINHEIRO; // valor de 110
char valor[12 + 1];
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
65
2.
Prottipo
LONG EXPORT ScopeCartaoDinheiro (WORD servico, char *Valor)
Parmetros
[in]
WORD
Servico
[in]
String com o
mximo de 12
dgitos
Valor
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
Long servico = S_COMPRA_CARTAO_DINHEIRO;
// valor de 98
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
66
Prottipo
LONG EXPORT ScopeConsultaCartaoDinheiro (void)
Parmetros
No h parmetros.
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
// abre sesso
...
retorno = ScopeConsultaCartaoDinheiro();
...
// processa a transao
...
// fecha a sesso
...
Estornos
Tanto para realizar a operao de estorno de compra/carga do carto dinheiro como a compra
usando o carto dinheiro (dbito) deve se usar a funo genrica de estorno chamada
ScopeCancelamento(). A documentao desta funo esta descrita no captulo Estorno de
transaes.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
67
Funes de Consulta
Neste captulo falamos sobre as transaes de consultas que no se referem aos cartes.
Cheque
Outra funcionalidade que o SCOPE dispe a consulta de cheques no Serasa ou na ACSP
Associao Comercial de So Paulo. Nas consultas de cheques, via PDVs, as respostas so
baseadas no nmero do documento (CPF/CGC), banco, nmero do cheque do comprador, valor e
data de vencimento da compra.
O nmero do cheque composto por seis caracteres numricos, por definio do Banco Central
do Brasil com base na resoluo 885, de 22/12/1983.
Consulta de cheques
A transao de consulta a cheque iniciada pela funo ScopeConsultaCheque(). O fluxo de
processamento similar s outras transaes.
Prottipo
LONG EXPORT ScopeConsultaCheque (char *Valor)
Parmetros
[in]
String com o
mximo de 12
dgitos
Valor
Retorno
Ver tabela de cdigo de retorno.
Decimal
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
64001
65024
65025
65030
65031
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
68
Exemplo
...
char valor[12 + 1];
...
// obtm o valor do cheque e armazena em valor
// abre sesso
...
retorno = ScopeConsultaCheque(valor);
...
// processa a transao
...
// fecha a sesso
...
AVS
Termo em ingls Address Verification Service, tambm conhecido por outras autorizadoras
como VAS Verificao Automtica de Endereo, um servio de verificao de endereo do
portador do carto utilizado para comparar o endereo que o cliente forneceu com o que est
cadastrado junto com a administradora de carto. O AVS uma transao no financeira e no
atrelada a nenhuma transao de venda, isto , a consulta no garante que a pessoa que esteja
realizando a transao seja realmente o portador do carto.
CUIDADO: Este tipo de informao recebida pela consulta AVS tem o intuito apenas de
oferecer suporte para a deciso do estabelecimento comercial, quanto realizao ou no
da venda.
Consulta AVS
A funo ScopeConsultaAVS() aciona o SCOPE Client para efetuar uma transao de consulta
AVS para confirmar os dados do endereo fornecido com o cadastrado na administradora.
Prottipo
LONG EXPORT ScopeConsultaAVS (void)
Parmetros
No h parmetros.
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
69
0xFE01
0xFF0C
0xFE06
0xFE07
65025
65292
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Exemplo
...
// abre sesso
...
retorno = ScopeConsultaAVS();
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
70
Recarga de celular
Com o crescimento nmero de pessoas que utilizam celulares do tipo pr-pago, a necessidade de
disponibilizar pontos de recarga tem sido incentivada pelas operadoras de celulares. O SCOPE
contribui com este movimento provendo facilidades para esse tipo de servio.
ScopeINI: O tamanho mnimo de dgitos permitidos para serem lidos pelo PIN-Pad deve
ser configurado como descrito no item "Configurao do arquivo scope.ini" seo "Sesso
[PINPAD]" deste documento.
Cdigo 64624 (0xFC70): neste momento, a aplicao dever recuperar do SCOPE a lista
de operadoras disponveis;
Cdigo 64558 (0xFC2E): este cdigo representa que a aplicao deve obter a lista de
valores disponveis de recarga.
permitir a
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
71
Prottipo
LONG EXPORT ScopeRecargaCelular (void)
Parmetros
No h parmetros.
Retorno
Ver tabela de cdigo de retorno.
Estados de coleta
A tabela abaixo mostra os estados de coleta que o fluxo poder retornar, no modo coleta
Cdigos Retorno
Hexadeci Decimal
mal
0xFC02
64514
0xFC2E
64558
0xFC2F
64559
0xFC30
64560
0xFC70
64624
0xFC90
64656
0xFCB5
64693
0xFCBC
64700
0xFCBD
64701
Significado
Imprime Cupom
Coleta valor da recarga de celular pr-pago
Coleta cdigo da localidade do telefone
Coleta nmero do telefone
Coleta a operadora de recarga de celular pr-pago
Coleta o DDD no PINPad
Coleta redigitao do DDD
Coleta DDD + Telefone no PIN Pad
Redigita DDD + Telefone no PIN Pad
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
// abre sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
72
retorno = ScopeRecargaCelular();
...
// processa a transao
...
// fecha a sesso
...
Formato
Descrio
01 at 02
Short
03
Byte
Cdigo da operadora 1
04 at 25
String
Nome da operadora 1
26
Byte
Cdigo da operadora 2
27 at 48
String
Nome da operadora 2
Pos n (n 1) 23 3
Byte
Cdigo da operadora n
Posn 1 at Pos n 21
String
Nome da operadora n
Exemplo: Quando houver 5 operadoras, as posies dos cdigos de cada operadora no buffer
sero:
Pos1 (1 1) 23 3 3
Pos 2 (2 1) 23 3 26
Pos 3 (3 1) 23 3 49
Pos 4 (4 1) 23 3 72
Pos 5 (5 1) 23 3 95
Portanto, codificando de maneira simples em linguagem C, temos:
...
short *qtd_op;
char buffer[2002];
int operadora, ind_op;
long retorno;
...
retorno = ScopeRecuperaOperadorasRecCel (2, buffer, sizeof(buffer));
if(retorno == 0)
{
qtd_op = (short *) buffer;
for(operadora = 0; operadora < *qtd_op; operadora++)
{
ind_op = (operadora 1) * 23 + 3;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
73
printf(\nCod %d
- Oper. %.21s,
(int) buffer[ind_op], buffer[ind_op+1]);
}
}
...
No entanto, de outra maneira mais iterativa e sem utilizar frmulas matemticas, podemos obter a
lista de operadoras como segue no exemplo abaixo:
...
short *qtd_op;
char buffer[2002];
int operadora, ind_op;
long retorno;
...
retorno = ScopeRecuperaOperadorasRecCel (2, buffer, sizeof(buffer));
if(retorno == 0)
{
qtd_op = (short *) buffer;
ind_op = 3;
for(operadora = 0; operadora < *qtd_op; operadora++)
{
printf(\nCod %d
- Oper. %.21s,
(int) buffer[ind_op], buffer[ind_op+1]);
Estruturas de apoio
Aplicaes escritas em linguagem C podem usufruir de estruturas definidas no arquivo de
cabealho ScopeApi.h. O buffer recebido contendo a lista de operadoras resume-se na
estrutura abaixo:
typedef struct
{
short NumOperCel;
char
OperCel[2000];
} stREC_CEL_OPERADORAS, *ptREC_CEL_OPERADORAS;
, onde:
74
} stREC_CEL_ID_OPERADORA, *ptREC_CEL_ID_OPERADORA;
, onde:
- Oper. %.21s,
(int) buffer[ind_op], buffer[ind_op+1]);
}
}
Prottipo
LONG
EXPORT
ScopeRecuperaOperadorasRecCel
(BYTE
TpTab,
char
*buffer,
WORD TamBuf)
Parmetros
[in]
BYTE
TpTab
[out] String
Buffer
[in]
TamBuf
WORD
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
75
0xFA02
0xFA03
64002
64003
Parmetro 2 invlido
Parmetro 3 invlido
Exemplo
...
stREC_CEL_OPERADORAS ListaOper;
...
// obtm status do SCOPE
switch(status_scope)
{
...
case 64624:
ScopeRecuperaOperadorasRecCel(2, (char *)&ListaOper, sizeof(buffer));
ApresentaListaAoOperador(ListaOper);
// Obtm cdigo da operadora escolhido pelo cliente
break;
...
}
// passa a informao coletada para o SCOPE
...
para
operadora
escolhida,
que
so
disponibilizadas
pela
funo
1 byte
Valor (ASCII)
Significado
Valor varivel
Valor Fixo
Todos valores
12 bytes
12 bytes
1 byte
12 bytes
12 bytes
12 bytes
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
76
41 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
12 bytes
Estruturas de apoio
Definidas no arquivo de cabealho ScopeApi.h, esto as estruturas abaixo, que so
utilizadas para o recebimento do buffer de valores. A primeira delas:
typedef struct
{
char TipoValor;
char ValorMinimo[12];
char ValorMaximo[12];
char Totvalor;
stREC_CEL_VALOR TabValores[10];
char MsgPromocional[41];
} stREC_CEL_VALORES, *ptREC_CEL_VALORES;
, onde:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
77
Totvalor: este campo binrio e indica a quantidade de valores fixos que esto no
campo TabValores;
CUIDADO: como a estrutura de valores sempre fixa com dez registros de valores e por
esses vrios valores do domnio do campo de tipo de valor, extremamente recomendvel
que a aplicao sempre verifique a quantidade de valores fixos, informada pelo campo
TotValor, disponveis.
Valor: este campo uma cadeia com 12 caracteres numricos que representam um
valor fixo, para escolha do cliente, com a vrgula implcita (exemplo: caso o dado
neste campo seja 000000001500, ento ele est representando o valor R$15,00);
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
78
Bnus: este campo uma cadeia com 12 caracteres numricos que representam o
bnus que o cliente ganha ao escolher o valor fixo deste registro com a vrgula
implcita (exemplo: caso o dado neste campo seja 000000010000, ento ele est
representando o valor R$100,00);
Custo: este campo uma cadeia com 12 caracteres numricos que representam o
custo da recarga ao escolher o valor fixo deste registro com a vrgula implcita
(exemplo: caso o dado neste campo seja 000000005000, ento ele est
representando o valor R$50,00);
typedef struct
{
char TipoValor;
char ValorMinimo[10];
char ValorMaximo[10];
char Totvalor;
stREC_CEL_VALOR TabValores[10];
char MsgPromocional[41];
char TotFaixaValores;
stREC_CEL_FAIXA_VALORES_2 TabFaixaValores[10];
} stREC_CEL_VALORES_MODELO_4, *ptREC_CEL_VALORES_MODELO_4;
A rede GWCel permite que o cliente faa uma recarga, utilizando uma faixa de valores, ao
invs de valores pr-definidos. A maioria dos membros dessa estrutura so os mesmos da
stREC_CEL_VALORES, sendo adicionais:
Existe uma diferena na estrutura dos dados enviados pela GWCel dependendo a verso
de sua especificao.
Para a rede GWCel verso 003 a estrutura de Valores de Faixa a seguinte:
typedef struct
{
char ValorMin[10];
char ValorMax[10];
} stREC_CEL_FAIXA_VALORES, *ptREC_CEL_FAIXA_VALORES;
Para a Gwcel verso 005, as estruturas de Valores de Faixa tambm possuem os campos
Bonus e Custo, antes s presentes na estrutura de valores fixos:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
79
typedef struct
{
char ValorMin[12];
char ValorMax[12];
char Bonus[12];
char Custo[12];
} stREC_CEL_FAIXA_VALORES_2, *ptREC_CEL_FAIXA_VALORES_2;
Prottipo
LONG EXPORT ScopeRecuperaValoresRecCel (BYTE TpTab, char *buffer, WORD
TamBuf)
Parmetros
[in]
BYTE
TpTab
[out] String
Buffer
[in]
TamBuf
WORD
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
Exemplo
...
stREC_CEL_VALORES tabVal;
...
// obtm status do SCOPE
switch(status_scope)
{
...
case 64558:
ScopeRecuperaValoresRecCel(2, (char *)&tabVal, sizeof(buffer));
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
80
ApresentaValoresAoOperador(tabVal);
// Obtm o valor de recarga escolhido pelo cliente
break;
...
}
// passa a informao coletada para o SCOPE
...
Para contornar isso, foram adicionadas duas funes, uma para retornar as
operadoras e outra para retornar os valores disponveis para recarga de uma operadora de uma
localidade especfica.
obter
as
operadoras
disponveis,
deve
ser
feita
uma
chamada
funo
Prottipo
LONG
EXPORT
ScopeObtemOperadorasRecCelOffTEF
(BYTE
_TipoTabela,
char
Parmetros
[in]
BYTE
_TipoTabela
[out] String
_Buffer
[in]
_TamBuffer
WORD
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
LONG RC;
stREC_CEL_OPERADORAS
ListaOper
stREC_CEL_ID_OPERADORA
OPER;
= {0};
...
// Obtem as operadoras.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
81
RC = ScopeObtemOperadorasRecCelOffTEF(REC_CEL_OPERADORAS_MODELO_2,(P_CHAR)
&ListaOper, sizeof (ListaOper);
if(RC =! != RCS_SUCESSO)
{
return RC;
}
...
// exibe as operadoras
Prottipo
LONG
EXPORT
ScopeRecuperaValoresRecCelOffTEF(BYTE
_TipoTabela,
char
Parmetros
[in]
BYTE
_TipoTabela
[out] String
_Buffer
[in]
WORD
_TamBuffer
[in]
[in
String
String
_CodOperadora
_CodLocalidade
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
LONG RC;
char
codOperadora[3 + 1];
char
codLocalidade[2 + 1];
82
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
83
Estorno de transaes
O estorno uma transao de anulao de outra transao que j est confirmada no lado da
autorizadora e pode ser realizada quando ocorrerem erros na digitao (valor, data de
agendamento das parcelas, numero de parcelas, etc.) ou desistncia da compra por parte do
cliente. O SCOPE disponibiliza uma nica funo para o estorno das diversas transaes:
ScopeCancelamento(). No entanto, nem todas as transaes so estornveis, como por exemplo,
transaes de consultas. Na tentativa de estorno destas transaes, o SCOPE retornar atravs
da funo ScopeStatus() o cdigo de erro 65286, informando que a transao no cancelvel.
O estorno difere do desfazimento no sentido em que o primeiro uma nova transao isolada,
enquanto o segundo a finalizao de uma transao. Tanto, que existe o desfazimento do
estorno, que no permite que ocorra o cancelamento da transao original, mantendo-a com o
status de confirmada.
CUIDADO: no possvel o cancelamento de uma transao sem que esta j tenha sido
confirmada. Em outras palavras, no SCOPE no se pode cancelar uma transao que ainda
est numa sesso de TEF em aberto. Para este cancelamento a transao deve ser
desfeita (ver Encerrando a sesso).
Estornando a transao
Para a realizao do estorno, necessrio informar ao SCOPE os dados da transao original, e,
em muitas vezes, o nmero do controle gerado pelo prprio SCOPE na transao.
Prottipo
LONG EXPORT ScopeCancelamento (char *Valor, char *TxServico)
Parmetros
[in]
[in]
String com o
mximo de 12
dgitos
String
Valor
TxServico
Retorno
Ver tabela de cdigo de retorno.
65032
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
84
0xFE0A
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Exemplo
...
char valor[12 + 1];
char taxa[12 + 1];
...
// obtm o valor da compra e armazena em valor
// obtm a taxa de servio e armazena em taxa
// abre sesso
...
retorno = ScopeCancelamento(valor, taxa);
...
// processa o cancelamento
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
85
Comprovantes
Comprovantes de transaes
Qualquer transao realizada com sucesso e com algum tipo de comprovante para a impresso
deve ser obtido pela funo ScopeGetCupomEx().
IMPORTANTE: quando a aplicao utiliza a interface HLAPI, ela sempre deve chamar a
funo ScopeSuspend() passando como parmetro o valor inteiro 4 (ver Suspendendo a
transao).
CUIDADO: quando a aplicao realizar uma consulta CDC no meio de uma TEF de dbito,
a aplicao no dever enviar o cupom da consulta para a impressora, mas apenas exibi-lo
na tela. No entanto, quando for apenas uma transao de consulta, isto , foi chamada
apenas uma funo do tipo ScopeConsulta<transao>(), o comprovante recebido deve ser
enviado para a impressora.
Prottipo
LONG EXPORT ScopeGetCupomEx(WORD CabecLen, char *Cabec,
WORD CupomClienteLen, char *CupomCliente,
WORD CupomLojaLen, char *CupomLoja,
WORD CupomReduzLen, char *CupomReduz,
BYTE *NroLinhasReduz)
Parmetros
[in]
WORD
CabecLen
[out] String
Cabec
[in]
CupomClienteLen
WORD
[out] String
CupomCliente
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
[in]
WORD
CupomLojaLen
[out] String
CupomLoja
[in]
CupomReduzLen
WORD
[out] String
CupomReduz
[out] WORD
NroLinhasReduz
IMPORTANTE:
Os
finalizadores
ScopeGetCupomEx
esto
de
de
linha
acordo
dos
cupons
com
retornados
pela
funo
parametrizao
do
ScopeForneceCampo(SCOPE_DADO_SEPARADOR_LINHA).
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
rea reservada para o buffer insuficiente para o SCOPE
Client x os dados solicitados
Exemplo
...
BYTE NroLnhReduzido = 0;
char Cabec[1024],
CpCliente[2048],
CpLoja[2048],
CpReduzido[2048];
LONG retorno;
...
// obtm status do SCOPE
switch(status_scope)
{
...
case 64582:
case 64514:
case 64539:
case 64546:
case 64593:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
87
memset(Cabec, 0, sizeof(Cabec));
memset(CpCliente, 0, sizeof(CpCliente));
memset(CpLoja, 0, sizeof(CpLoja));
memset(CpReduzido, 0, sizeof(CpReduzido));
retorno = ScopeGetCupomEx(sizeof(Cabec), Cabec,
sizeof(CpCliente), CpCliente,
sizeof(CpLoja), CpLoja,
sizeof(CpReduzido), CpReduzido,
&NroLnhReduzido);
if (RC == RCS_SUCESSO)
{
ImprimeCupomTEF("CABECALHO", Cabec);
ImprimeCupomTEF("CUPOM DO CLIENTE", CpCliente);
ImprimeCupomTEF("CUPOM DA LOJA", CpLoja);
if (NroLnhReduzido > 0)
ImprimeCupomTEF("CUPOM REDUZIDO", CpReduzido);
}
break;
...
}
...
Reimpresso de comprovante
Conforme necessidade, o operador pode solicitar uma nova cpia do comprovante da ltima
transao realizada ou alguma especfica anterior a ltima, desde que tenha sido aprovada e se
encontre no SCOPE. So duas as modalidades de reimpresso: on-line e off-line. Essa
necessidade pode ter sido ocasionada por algum problema com a impresso original (cupom
ilegvel, papel enroscado na impressora, etc.).
As duas modalidades de reimpresso do comprovante uma transao e como tal, dever ser
tratada numa sesso de TEF, preferencialmente, sendo a nica da sesso.
Prottipo
LONG EXPORT ScopeReimpressaoOffLine (void)
Parmetros
No h parmetros.
Retorno
Ver tabela de cdigo de retorno.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
88
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
*0xFF1D
65290
65309
0xFFFF
0xFF5E
65535
65374
Significado
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
// abre sesso
...
retorno = ScopeReimpressaoOffLine ();
...
// processa a transao
...
// fecha a sesso
...
IMPORTANTE:
funo
ScopeReimpressaoOffLine()
ScopeReimpressaoComprovante(). No entanto,
substitui
anterior
mantida por
compatibilidade.
Prottipo
LONG EXPORT ScopeReimpressaoOnLine (WORD CodBandeira)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
89
Parmetros
[in]
WORD
CodBandeira
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
*0xFF1D
65290
65309
0xFFFF
0xFF5E
65535
65374
Significado
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
WORD CodBandeira;
// abre sesso
...
// Obtm a bandeira do carto
...
retorno = ScopeReimpressaoOnLine(CodBandeira);
...
// processa a transao
...
// fecha a sesso
...
IMPORTANTE:
funo
ScopeReimpressaoOnLine()
substitui
anterior
90
compatibilidade.
Prottipo
LONG EXPORT ScopeObtemTipoViaReimpressao (BYTE *EhReimpre, BYTE *Via)
Parmetros
[out] BYTE
EhReimpre
[out] BYTE
Via
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
No existe cupom vlido
Exemplo
...
BYTE NroLnhReduzido = 0,
EhReimpressao,
ViaReimpressao;
char Cabec[1024],
CpCliente[2048],
CpLoja[2048],
CpReduzido[2048];
LONG retorno;
...
// obtm status do SCOPE
switch(status_scope)
{
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
91
...
case 64582:
case 64514:
case 64539:
case 64546:
case 64593:
memset(Cabec, 0, sizeof(Cabec));
memset(CpCliente, 0, sizeof(CpCliente));
memset(CpLoja, 0, sizeof(CpLoja));
memset(CpReduzido, 0, sizeof(CpReduzido));
retorno = ScopeGetCupomEx(sizeof(Cabec), Cabec,
sizeof(CpCliente), CpCliente,
sizeof(CpLoja), CpLoja,
sizeof(CpReduzido), CpReduzido,
&NroLnhReduzido);
if (retorno == RCS_SUCESSO)
{
retorno = ScopeObtemTipoViaReimpressao( &EhReimpressao,
&ViaReimpressao );
if(EhReimpressao == 0)
{
ImprimeCupomTEF("CABECALHO", Cabec);
ImprimeCupomTEF("CUPOM DO CLIENTE", CpCliente);
ImprimeCupomTEF("CUPOM DA LOJA", CpLoja);
if (NroLnhReduzido > 0)
ImprimeCupomTEF("CUPOM REDUZIDO", CpReduzido);
}
else
{
switch(ViaReimpressao)
{
case 0:
ImprimeCupomTEF("CUPOM DO CLIENTE", CpCliente);
ImprimeCupomTEF("CUPOM DA LOJA", CpLoja);
break;
case 1:
ImprimeCupomTEF("CUPOM DO CLIENTE", CpCliente);
break;
case 2:
ImprimeCupomTEF("CUPOM DA LOJA", CpLoja);
break;
}
}
}
break;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
92
...
}
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
93
PBM - Medicamentos
Aqui trataremos do grupo de funes que atendem a funcionalidade de PBM.
Consultando medicamento
A funo ScopeConsultaMedicamento() aciona uma transao no SCOPE para obter uma lista de
medicamentos relacionados a uma autorizao, assim como a quantidade autorizada, o PMC
(Preo Mximo para o Consumidor) e o preo e-Pharma para cada um destes.
O processamento segue a linha de uma transao qualquer de TEF, em que a aplicao deve
processar atravs das chamadas funo de consulta status (ver Status de transao) e coleta
de dados. O PDV deve esperar pelo estado 64580 para chamar a funo especfica e obter a lista
de medicamentos (ver Lista de medicamentos, Lista de medicamentos com CRM e Lista de
medicamentos Ex).
Prottipo
LONG EXPORT ScopeConsultaMedicamento(BYTE TipoConvenio, BYTE CodigoRede)
Parmetros
[in]
BYTE
TipoConvenio
[in]
BYTE
CodigoRede
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
94
Exemplo
...
BYTE
TipoConvenio, CodigoRede;
...
// abre sesso
...
// coleta o tipo do convnio, o cdigo da rede
...
retorno = ScopeConsultaMedicamento (TipoConvenio, CodigoRede);
...
// processa a transao
...
// fecha a sesso
...
Nesse tipo de transao, o SCOPE no possui controle do valor de venda a ser registrado.
Portanto, ao receber o cdigo 64579 da funo de status, a aplicao deve atualizar o valor (ver
ScopeAtualizaValor), informando assim o valor da venda.
Exemplo
char VlOperac [12+1];
...
switch(status_scope)
{
...
Case 64579:
RecebeValorDoOperador (&VlOperac);
iRet = ScopeAtualizaValor (VlOperac);
if (iRet != RCS_SUCESSO)
// Tratar erro
break;
...
Compra de medicamento
Para
iniciar
uma
compra
de
medicamentos
PBM,
deve-se
chamar
funo
Prottipo
LONG EXPORT ScopeCompraMedicamento(BYTE TipoConvenio,
BYTE CodigoRede,
char *NumCpFiscal)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
95
Parmetros
[in]
BYTE
TipoConvenio
[in]
BYTE
CodigoRede
NumCpFiscal
[out] String
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
BYTE
char
TipoConvenio, CodigoRede;
*NumCpFiscal;
...
// abre sesso
...
// coleta o tipo do convnio, o cdigo da rede e o nmero do cupom fiscal
...
retorno = ScopeCompraMedicamento (TipoConvenio, CodigoRede, NumCpFiscal);
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
96
O motivo para tal funcionamento que a partir do layout 5, pode ser requisitado coleta de
senha atravs do bit 22 do retorno da consulta (mensagem 0110). Como essa informao
referente necessidade de coleta de senha deve ser coletada em uma transao diferente
(0200), ela armazenada em um arquivo de contexto e recuperado na compra de
medicamentos. Atualmente, as redes Vidalink e PBM Padro trabalham com o layout na
nova verso.
Lista de medicamentos
Num fluxo de compra ou consulta de medicamento, recebendo o cdigo de coleta 64580 (ver
Status de transao), a aplicao dever obter a lista de medicamentos disponveis, atravs das
funes
ScopeObtemMedicamentos(),
ScopeObtemMedicamentosComCRM()
ou
ScopeObtemMedicamentosEx(), que sero tratadas logo abaixo. O formato da lista obtido pela
funo ScopeObtemMedicamentos() encontra se na tabela abaixo.
Posio
Formato
Descrio
01 a 13
String
14 a 15
String
16 a 22
String
23 a 29
String
Preo de venda.
30 a 36
String
Preo de fbrica.
37 a 43
String
Preo de aquisio.
44 a 50
String
Preo de repasse.
51
Byte
52 a 53
String
Prottipo
LONG EXPORT ScopeObtemMedicamentos(BYTE *Qtd,
char *ListaMedicamentos,
WORD TamLista)
Parmetros
[out] BYTE
Qtd
[out] String
ListaMedicamentos
[in]
TamLista
WORD
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
ListaMedicamentos
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
BYTE bQtdVias = 0;
LONG lRet;
stREGISTRO_MEDICAMENTO lstMedsCRM [38] = {0};
lRet = ScopeObtemMedicamentos
( &bQtdVias, (char *) &lstMedsCRM, sizeof (lstMedsCRM) );
if (lRet == RCS_SUCESSO)
{
/* Sucesso no recebimento dos medicamentos,
os membros das estruturas estaro preenchidos */
}
else
// Erro ...
98
Posio
Formato
Descrio
Dados do medicamento, obedecendo a definio da
01 a 53
String
tabela
retornada
para
funo
ScopeObtemMedicamentos().
54 a 62
String
Nmero do CRM.
Prottipo
LONG EXPORT ScopeObtemMedicamentosComCRM(BYTE *Qtd,
BYTE *TipoConv,
char *ListaMedicamentos,
WORD TamLista)
Parmetros
[out] BYTE
Qtd
[out] BYTE
TipoConv
[out] String
ListaMedicamentos
[in]
TamLista
WORD
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF11
0xFF12
65297
65298
0xFFFF
0xFF5E
65535
65374
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
No existe cupom vlido
rea reservada para o buffer insuficiente para o SCOPE
Client x os dados solicitados
Erro genrico
Erro ao desmontar a estrutura ISO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
99
Posio
Formato
Descrio
01 a 13
String
14 a 15
String
16 a 17
String
Motivo da rejeio.
18 a 26
String
Cdigo do convnio.
27 a 34
String
35 a 42
String
Preo de venda.
43 a 50
String
Preo de fbrica.
51 a 58
String
Preo de aquisio.
59 a 66
String
Preo de repasse.
67 a 79
String
Nmero do CRM.
Prottipo
LONG EXPORT ScopeObtemMedicamentosEx(BYTE IdLayout,
BYTE *_QtdRegistros,
char *_ListaMedicamentos,
WORD _TamLista,
BYTE *_TipoConvenio)
Parmetros
[in]
BYTE
IdLayout
[out] BYTE
QtdRegistros
[out] String
ListaMedicamentos
[in]
TamLista
WORD
[out] BYTE
TipoConvenio
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFFFF
0xFF5E
65535
65374
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Erro genrico
Erro ao desmontar a estrutura ISO
Layouts:
ID layout
Usar estrutura
stREGISTRO_MEDICAMENTO
stREGISTRO_MEDICAMENTO_CRM
stREGISTRO_MEDICAMENTO_L3
stREGISTRO_PHARMASYSTEM_RET
Lista de Projetos
A funo ScopeRecuperaBufTabela() fornecer para a aplicao de automao comercial uma
lista de informaes a serem exibidas na tela para facilitar a seleo da opo desejada. Ela
servir para facilitar futuras implementaes que atendam a mesma finalidade. O parmetro
_TipoTabela indicar o formato dos dados que sero fornecidos.
LONG EXPORT ScopeRecuperaBufTabela
(BYTE TipoTabela,
char *_QtdRegistros,
char *_Buffer,
WORD _TamBuffer)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
101
Parmetros
[out] String
QtdRegistros
[out] String
Buffer
[in]
TamBuffer
[in]
TipoTabela
BYTE
WORD
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
Layouts:
ID layout
Usar estrutura
BUF_TAB_PRJ_PHARMASYSTEM
(ID 0)
Descrio
stREGISTRO_PROJETO_PHMS
Projeto
PharmaSystem
Posio
Formato
Descrio
01 a 06
String
Cdigo do Projeto
07 a 36
String
Descrio do Projeto
37 a 56
String
Operadora do Projeto
Prottipo
LONG EXPORT ScopeElegibilidadeCartao (BYTE _TipoConvenio,
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
102
BYTE _CodRede,
char *NumCpFiscal)
Parmetros
[in]
BYTE
_TipoConvenio
[in]
BYTE
_CodRede
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
BYTE
_TipoConvenio, _CodigoRede;
...
// abre sesso
...
// coleta o tipo do convnio, o cdigo da rede
...
retorno = ScopeElegibilidadeCartao (_TipoConvenio, _CodigoRede);
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
103
Prottipo
LONG EXPORT ScopePreAutorizacaoMedicamento (BYTE _TipoConvenio,
BYTE _CodRede,
char *NumCpFiscal)
Parmetros
[in]
BYTE
_TipoConvenio
[in]
BYTE
_CodRede
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de protocolo
superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a aplicao
passa o caractere # como PDV para que o SCOPE Server lhe d
um nmero de PDV vlido, mas no h mais PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de protocolo
extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Exemplo
...
BYTE
TipoConvenio, CodigoRede;
...
// abre sesso
...
// coleta o tipo do convnio, o cdigo da rede
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
104
Prottipo
LONG EXPORT ScopeCancelaPreAutMedicamento()
Parmetros
[in]
BYTE
_TipoConvenio
[in]
BYTE
_CodRede
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFFFF
0xFF5E
65290
65535
65374
Significado
Parmetro 1 invlido
Parmetro 2 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Erro genrico
Erro ao desmontar a estrutura ISO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
105
Exemplo
...
BYTE
TipoConvenio, CodigoRede;
...
// abre sesso
...
// coleta o tipo do convnio, o cdigo da rede
...
retorno = ScopeCancelaPreAutMedicamento (TipoConvenio, CodigoRede);
...
// processa a transao
...
// fecha a sesso
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
106
Funes de PIN-Pad
Esta seo documenta as funes de acesso ao PIN-Pad utilizando a biblioteca compartilhada.
Estas funes seguem o formato ScopePPFuncao(). Utilize o apndice B, C e a tabela de cdigo
de retorno como complemento.
IMPORTANTE: A utilizao destas funes, com exceo das usadas para a exibio de
mensagens no visor, est condicionada configurao no ScopeCNF, onde a opo Uso
exclusivo do Scope deve estar desmarcada.
Iniciando a comunicao
Antes do incio de qualquer transao, a aplicao deve abrir o PIN-Pad, ou seja, iniciar o canal
de comunicao com o PIN-Pad. A chamada bem sucedida desta funo pr-requisito para
todas as outras da interface com o PIN-Pad.
Prottipo
LONG EXPORT ScopePPOpen (WORD PortaSerial)
Parmetros
[in] WORD PortaSerial
Retorno
Ver tabela de cdigo de retorno.
0x00CA
202
0x00CB
0x00CD
203
205
Significado
PIN-Pad j foi aberto
Erro de comunicao: PIN-Pad provavelmente desconectado
ou problemas com a interface serial. Pode ser que a porta que
est passando como parmetro esteja errada.
Memria no alocada para a estrutura do PIN-Pad
compartilhado
Erro alocando memria
PIN-Pad j aberto via SCOPE
Exemplo
...
WORD porta = 1;
LONG retorno = 0;
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
107
retorno = ScopePPOpen(porta);
...
Encerrando a comunicao
Uma vez que o PIN-Pad no ser mais utilizado, a aplicao pode encerrar a comunicao com o
PIN-Pad, deixando uma mensagem no visor (display) do PIN-Pad.
Prottipo
LONG EXPORT ScopePPClose (char* IdleMsg)
Parmetros
[in]
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no foi aberto pela aplicao
Exemplo
...
LONG retorno = 0;
...
retorno = ScopePPClose(
Itautec S.A.
);
...
Mensagens no visor
Para personalizao da aplicao de frente de loja, a aplicao pode enviar mensagens para o
PIN-Pad, desde que o SCOPE Client no esteja processando alguma transao.
IMPORTANTE: Estas so as nicas funes que no dependem da configurao do
ScopeCNF quanto ao uso exclusivo do SCOPE.
Prottipo
LONG EXPORT ScopePPDisplay (char* Msg)
Parmetros
[in]
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
108
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no configurado
Display no permitido neste momento ou situao
PIN-Pad no foi aberto pela aplicao
Exemplo
...
LONG retorno = 0;
...
retorno = ScopePPDisplay(
Itautec S.A.
);
...
Mensagens maiores
Para aproveitar os recursos do visor de certos equipamentos, o SCOPE Client disponibiliza a
funo ScopePPDisplayEx() que recebe, junto com a mensagem, o tamanho desta. O parmetro
uma String que obedece ao formato abaixo:
Posio
Formato
001-003
N3
Descrio
Tamanho da mensagem a seguir (xxx).
Mensagem a ser apresentada, podendo conter caracteres de controle
004-???
AXXX
Prottipo
LONG EXPORT ScopePPDisplayEx (char* Msg)
Parmetros
[in]
String
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no configurado
Display no permitido neste momento ou situao
PIN-Pad no foi aberto pela aplicao
Exemplo
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
109
char *mensagem = 065Enviando uma mensagem maior que a mensagem padro para
o PIN-Pad;
LONG retorno = 0;
...
retorno = ScopePPDisplayEx(mensagem);
...
Formato
Descrio
001-020
A20
021-033
A13
034-040
A7
041-042
A2
043-???
Hxx(Byy)
Dados do dispositivo
O formato das informaes do PIN-Pad padro e segue o formato abaixo:
Posio
Formato
001-020
A20
Descrio
Nome do fabricante do PIN-Pad
Modelo / verso do hardware, no formato "xxx...xxx;mmm", onde "xxxx"
021-040
A20
041-060
A20
061-064
A4
065-080
A16
081-100
A20
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
110
Obtendo as informaes
A funo ScopePPGetInfo() retorna as informaes sobre o PIN-Pad e suas aplicaes, como
descrito acima. Caso alguma informao no exista ou no se aplique para o modelo de PIN-Pad,
ela dever ser fornecida em branco (espaos). Para decidir qual informao a aplicao quer
obter, o primeiro parmetro deve receber o valor correspondente:
valor maior que 0: dependendo do valor, sero obtidas as informaes especficas das
aplicaes das autorizadoras.
Prottipo
LONG EXPORT ScopePPGetInfo (WORD IdSaida, WORD DadosLen, char* Dados)
Parmetros
WORD IdSaida
Informa a opo do formato dos dados de sada.
[in] WORD DadosLen Tamanho reservado pelo aplicativo para receber os dados.
Dados sobre o PIN-Pad. Utilize as tabelas descritas nas
[out] String Dados
sesses acima para a especificao do buffer retornado.
[in]
Retorno
Ver tabela de cdigo de retorno.
209
210
211
Significado
Memria no alocada para a estrutura do PIN-Pad
compartilhado
PIN-Pad no configurado
Display no permitido neste momento ou situao
PIN-Pad no foi aberto pela aplicao
Exemplo
...
char aux[255];
...
if (ScopePPGetInfo(0, (WORD) sizeof(aux), aux))
{
printf("Nome do fabricante do PIN-Pad..: [%20.20s]\n", &aux[00]);
printf("Modelo / versao do hardware....: [%20.20s]\n", &aux[20]);
printf("Versao do firmware.............: [%20.20s]\n", &aux[40]);
printf("Versao da especificacao........: [%4.4s]
\n", &aux[60]);
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
111
Prottipo
LONG EXPORT ScopePPStartGetKey (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
Necessria operao previa
PIN-Pad no foi aberto
PIN-Pad no foi aberto pela aplicao
Obtendo a tecla
Aps ter posto o PIN-Pad em modo de captura de tecla, a funo ScopePPStartGetKey() dever
ser chamada continuamente at que o retorno dela seja diferente de 1 (PIN-Pad em
processamento). Esta funo finaliza o processo iniciado por ScopePPStartGetKey(). Enquanto o
retorno for igual a 1, o processo pode ser cancelado pelo checkout atravs da funo
ScopePPAbort().
Prottipo
LONG EXPORT ScopePPGetKey (void)
Parmetros
No h parmetro.
Retorno
0
Pressionada tecla de confirmao (OK ou ENTER)
4
Pressionada tecla de funo #1.
5
Pressionada tecla de funo #2.
6
Pressionada tecla de funo #3.
7
Pressionada tecla de funo #4.
8
Pressionada tecla de limpeza (backspace).
13
Pressionada tecla de cancelamento.
Para os valores de retorno, veja a tabela de cdigo de retorno.
Exemplo
...
LONG retorno = 0;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
112
...
if (ScopePPStartGetKey() == 0) // se OK
{
printf("\nAguardando tecla a ser pressionada no PIN-Pad...");
do
{
retorno = ScopePPGetKey();
}
while (retorno == 1);
// enquanto em processamento
switch (retorno)
{
case 0: printf("\nPressionada a tecla <OK>\n"); break;
case 4: printf("\nPressionada a tecla de funcao 1\n"); break;
case 5: printf("\nPressionada a tecla de funcao 2\n"); break;
case 6: printf("\nPressionada a tecla de funcao 3\n"); break;
case 7: printf("\nPressionada a tecla de funcao 4\n"); break;
case 8: printf("\nPressionada a tecla <Limpa>\n"); break;
case 13: printf("\nPressionada a tecla <Cancela>\n"); break;
default: printf("\nERRO: = %d\n", retorno); break;
}
}
...
Prottipo
LONG EXPORT ScopePPStartGetPIN (char *MsgDisplay)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
113
Parmetros
[in] String MsgDisplay
Retorno
Ver tabela de cdigo de retorno.
Significado
No foi possvel definir a Master Key a ser utilizada
PIN-Pad no foi aberto
Prottipo
LONG EXPORT ScopePPGetPIN (char* PIN)
Parmetros
[out] String
PIN
Retorno
Ver tabela de cdigo de retorno.
Significado
Erro no parmetro da funo GetPIN
Exemplo
...
char pin[40];
LONG retorno = 0;
...
if (ScopePPStartGetPIN("DIGITE A SENHA") == 0)
{
printf("\nAguardando digitao da senha...");
do
{
retorno = ScopePPGetPIN(pin);
} while (retorno == 1); // enquanto em processamento
if (retorno == 0)
// se OK
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
114
Prottipo
LONG EXPORT ScopePPStartGetPINEx (char* msgDisplay, int mode, int mkey,
char* wkey, char* pan)
Parmetros
[in]
String
msgDisplay
[in]
int
mode
[in]
int
mkey
[in]
String
wkey
[in]
String
pan
Retorno
Ver tabela de cdigo de retorno.
Significado
Notificar o operador com a mensagem recebida do PIN-Pad
Necessria operao previa
PIN-Pad no foi aberto
Erro interno de execuo
No foi possvel definir a Master Key a ser utilizada
PIN-Pad no foi aberto pela aplicao
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
115
Prottipo
LONG EXPORT ScopePPGetPINEx (char *PIN)
Parmetros
[in]
Retorno
Ver tabela de cdigo de retorno.
Significado
Erro no parmetro da funo GetPIN
PIN-Pad no foi aberto pela aplicao
Exemplo
...
char pin[40];
LONG retorno = 0;
...
if (ScopePPStartGetPINEx("DIGITE A SENHA", 0, 0, NULL, NULL) == 0)
{
printf("\nAguardando digitao da senha...");
do
{
retorno = ScopePPGetPINEx(pin);
} while (retorno == 1); // enquanto em processamento
if (retorno == 0)
// se OK
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
116
Lendo um carto
Como a leitura de senha e de teclas, a captura de carto tambm se d com o uso de funes
no-blocantes: ScopePPStartGetCard() / ScopePPGetCard().
Prottipo
LONG EXPORT ScopePPStartGetCard (WORD TipoApl, char* ValorInicial)
Parmetros
Identifica o tipo de aplicao desejada (crdito = 1, dbito = 2
e para qualquer aplicao = 99).
Valor inicial da transao. Podendo ser 0 (zero) caso este
ValorInicial dado no esteja disponvel. Este campo dever ter tamanho
mximo de 12 (doze) bytes, sendo 2 (duas) casas decimais.
[in]
WORD TipoApl
[in]
String
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no foi aberto pela aplicao
Recuperando o carto
A funo ScopePPGetCard() finaliza o processo iniciado por ScopePPStartGetCard() e deve ser
chamada diversas vezes enquanto retornar 1 (PIN-Pad em processamento) ou 2 (exibir para o
cliente e para o operador a mensagem que o PIN-Pad passou). Enquanto nessa situao, o
processo pode ser cancelado pelo checkout atravs da funo ScopePPAbort().
Quando a funo ScopePPGetCard() retornar o cdigo igual a 2, o PIN-Pad colocou uma
mensagem no segundo parmetro da funo e a aplicao deve exibi-la na tela. Logo aps a
exibio da mensagem, a aplicao deve continuar chamando esta funo at que esta no
retorne mais um dos dois valores relacionados acima. Ao retornar o valor 0 (sucesso), o ltimo
parmetro da funo estar preenchido com os dados do carto que segue o seguinte formato:
Posio
Formato
Descrio
Tipo de carto lido:
001-002
003-004
N2
N2
"00" Magntico
"03" EMV
Tamanho da trilha 1
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
117
005-080
A76
081-082
N2
Tamanho da trilha 2
083-119
A37
120-121
N2
Tamanho do PAN
122-139
A19
140-166
A26
Prottipo
LONG EXPORT ScopePPGetCard (WORD Id, char* MsgNotify, WORD Len, char*
Dados)
Parmetros
Informa a opo do formato dos dados de sada. Inicialmente
fixo com 0 (zero).
Mensagem de 32 caracteres a ser apresentada no
String MsgNotify
"checkout" caso a funo retorne PP_NOTIFY.
WORD Len
Tamanho do buffer alocado para os dados.
Dados sobre o carto finalizado. Consulte a tabela abaixo
String Dados
para a especificao do formato.
WORD Id
[in]
[in]
[in]
[out]
Retorno
Ver tabela de cdigo de retorno.
Significado
Notificar o operador com a mensagem recebida do PIN-Pad
Parmetro invlido
PIN-Pad no foi aberto pela aplicao
Exemplo
...
char cartao [256];
char mensagem [256];
LONG retorno = 0;
...
if (ScopePPStartGetCard(99, "000") == 0)
{
printf("\nAguardando inserir ou passar o cartao...");
do
{
retorno = ScopePPGetCard(0, mensagem, sizeof(cartao), cartao);
if (retorno == 2)
printf("\nMensagem do PIN-Pad\n[%s]\n", mensagem);
} while (retorno == 1); // enquanto em processamento
if (retorno == 0)
// se OK
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
118
Prottipo
LONG EXPORT ScopePPAbort (void)
Parmetros
No h parmetro.
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no foi aberto pela aplicao
Exemplo
...
char cartao [256];
char mensagem [256];
LONG retorno = 0;
...
if (ScopePPStartGetCard(99, "000") == 0)
{
printf("\nAguardando inserir ou passar o cartao...");
do
{
retorno = ScopePPGetCard(0, mensagem, sizeof(cartao), cartao);
if (retorno == 2)
printf("\nMensagem do PIN-Pad\n[%s]\n", mensagem);
if (_kbhit())
{
}
} while (retorno == 1 || retorno == 2); // enquanto em processamento ou
mensagem
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
119
if (retorno == 0)
// se OK
Prottipo
LONG EXPORT ScopePPMsgErro (LONG RC, char *MsgErro)
Parmetros
[in]
[in]
WORD RC
Cdigo do erro.
String MsgErro Mensagem referente ao cdigo de erro informado.
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no foi aberto pela aplicao
Exemplo
...
char cartao [256];
char mensagem [256];
LONG retorno ;
...
retorno = ScopePPStartGetCard(99, "000");
if (retorno == 0)
{
printf("\nAguardando inserir ou passar o cartao...");
do
{
retorno = ScopePPGetCard(0, mensagem, sizeof(cartao), cartao);
if (retorno == 2)
printf("\nMensagem do PIN-Pad\n[%s]\n", mensagem);
if (_kbhit())
{
}
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
120
// se OK
Prottipo
LONG EXPORT ScopePPStartObtemComanda (int
TipoComanda)
Parmetros
[in]
TipoComanda
int
Retorno
Ver tabela de cdigo de retorno.
211
Significado
Necessria operao previa
PIN-Pad no foi aberto
Memria no alocada para a estrutura do PIN-Pad
compartilhado
PIN-Pad no foi aberto pela aplicao
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
121
Lendo a comanda
A
funo
ScopePPObtemComanda()
finaliza
processo
iniciado
por
ScopePPStartObtemComanda(). chamada caso o tipo seja comanda caf, onde o carto tem
chip. Ela deve ser chamada constantemente enquanto retornar valor igual a 1 (PIN-Pad em
processamento). Em caso de sucesso, esta funo retorna o valor 0. Neste caso, a comanda ser
salva na rea de memria passada como parmetro. Existe a opo de permanecer com o carto
no PIN-Pad, proporcionando a limpeza do carto logo depois da leitura, sem necessidade de
chamada separada dessa funo. Para essa opo, deve ser passado o valor 0 no parmetro
RemoveComanda.
Prottipo
LONG
EXPORT
ScopePPObtemComanda(int
TipoComanda,
char
*Comanda,
int
RemoveComanda);
Parmetros
[in]
int
[in]
char
[in]
int
Retorno
Ver tabela de cdigo de retorno.
Significado
Operao cancelada
Mensagem recebida do PIN-Pad possui formato invlido.
PIN-Pad no foi aberto pela aplicao
Time-out do cliente / usurio
Comanda Vazia
Comanda Invlida
Exemplo
...
char szComanda[4096+1];
LONG Retorno;
...
Retorno = ScopePPStartObtemComanda (comanda_cafe);
if (Retorno == 0)
{
printf("\nCOMANDA: INSIRA O CARTAO\n");
}
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
122
do
{
memset(szComanda, 0x00, sizeof(szComanda));
Retorno = ScopePPObtemComanda(comanda_cafe, szComanda, 1);
}
while (Retorno == 1);
...
Prottipo
LONG EXPORT ScopePPStartLimpaComanda (int
TipoComanda)
Parmetros
[in]
TipoComanda
int
Retorno
Ver tabela de cdigo de retorno.
Significado
PIN-Pad no foi aberto pela aplicao
Comanda Invlida
Limpando a comanda
A
funo
ScopePPLimpaComanda()
finaliza
processo
iniciado
por
ScopePPStartLimpaComanda(). chamada caso o tipo seja comanda caf, onde o carto tem
chip. Ela deve ser chamada constantemente enquanto retornar valor igual a 1 (PIN-Pad em
processamento). Em caso de sucesso, esta funo retorna o valor 0.
Prottipo
LONG EXPORT ScopePPLimpaComanda(int
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
TipoComanda);
123
Parmetros
[in]
int
TipoComanda
Retorno
Ver tabela de cdigo de retorno.
Significado
Operao cancelada
Mensagem recebida do PIN-Pad possui formato invlido.
PIN-Pad no foi aberto pela aplicao
Time-out do cliente / usurio
Comanda Vazia
Comanda Invlida
Exemplo
...
LONG Retorno;
...
Retorno = ScopePPStartLimpaComanda (comanda_cafe);
if (Retorno == 0)
{
printf("\nCOMANDA: INSIRA O CARTAO\n");
}
do
{
Retorno = ScopePPLimpaComanda(comanda_cafe);
}
while (Retorno == 1);
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
124
Totalizao de TEF
Esta sesso trata uma funcionalidade que o SCOPE disponibiliza para a aplicao de frente de
loja: a totalizao de TEF.
Relatrio de TEF
Pensando na facilidade de fazer o balano dos valores de venda realizados no checkout, o
SCOPE Client prov aplicao um relatrio com informaes do total de TEF confirmadas e
canceladas por bandeira num certo perodo e que pode ser enviado para a impressora ou para
outro meio de armazenamento. Estas informaes podem ser levantadas por PDV ou por
operador. No entanto, mesmo que a aplicao se interesse pelas informaes relativas apenas
por uma das opes (PDV ou operador), o SCOPE atualizar ambos. Portanto, no haver
otimizao ao escolher apenas um dos dois.
No caso do PDV, o perodo escolhido para a totalizao dos valores pode ser dirio, semanal,
mensal, etc., mas recomenda-se que abranja o perodo do movimento, isto , ao iniciar o perodo
num dia, seja zerado o totalizador e, no final do dia, o relatrio seja obtido.
Quanto ao relatrio por operador, aconselha-se que seja zerado o totalizador na entrada do
operador ao caixa e obtenha-se o relatrio, na sada do mesmo.
IMPORTANTE: o SCOPE no controla (identifica) qual operador est operando o PDV.
papel da aplicao o controle da entrada e sada de cada operador e consequentemente,
iniciar o totalizador e obter o relatrio no momento correto.
Iniciando os totais
No incio do perodo de totalizao, a aplicao dever chamar a funo ScopeIniciaTotalTEF(),
passando no parmetro o cdigo referente ao totalizador que se deseja zerar, conforme abaixo:
Prottipo
LONG ScopeIniciaTotalTEF (BYTE Nivel)
Parmetros
[in]
Nivel
BYTE
Retorno
Cdigo
0x0000
Descrio
Sucesso
na
inicializao
Ao
dos
totalizadores
0xFB07
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
um dos motivos:
passado;
parmetro invlido;
verifique
parmetro
passado funo;
-
0xFE00
Transao
em
andamento,
Exemplo
...
// carrega configurao do PDV de um novo dia
...
// conecta ao SCOPE Server
...
if (ScopeIniciaTotalTEF (0) != 0) // zera ambos
{
// erro ao zerar o arquivo
}
...
CARTAO
BANDEIRA
DE
CREDITO
----
EFETUADO
CANCELADO
VISA
167.00
0.00
MASTERCARD
564.80
0.00
------
CARTAO
BANDEIRA
CHEQUE
ELETRONIC
DE
BANDEIRA
CARTAO
----
EFETUADO
CANCELADO
1650.00
0.00
18.00
4.00
ELECTRON
------
DEBITO
DE
DEBITO
EFETUADO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
(CDC)
----
CANCELADO
126
------
CONSULTA
BANDEIRA
CHEQUE
----
CONSULTADO
Prottipo
LONG ScopeObtemTotalTEF (BYTE Nivel, char *Cupom, WORD TamCupom, char
SeparadorLinhasCupom)
Parmetros
[in]
BYTE
[out] String
[in]
WORD
[in]
char
Retorno
Ver tabela de cdigo de retorno.
Exemplo
...
WORD TamCupom;
char Cupom[2048];
...
// encerrando o Dia
...
TamCupom = sizeof(Cupom);
if(ScopeObtemTotalTEF(0, Cupom, TamCupom, \n) == 0)
{
...
EnviaCupomParaImpressora(Cupom);
...
}
else
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
127
{
// erro ao obter o cupom com o relatrio
}
...
Layout Verso 1:
Tamanho
Descrio
3 bytes
2 bytes
1 byte
Identifica a funo:
-
C: Crdito
D: Dbito;
H: Cheque
A: CDC
2 bytes
Cdigo da bandeira
17 bytes
Descrio da bandeira
14 bytes
14 bytes
Layout Verso 2:
Tamanho
Descrio
3 bytes
3 bytes
3 bytes
Cdigo da bandeira
17 bytes
Descrio da bandeira
1 byte
1 byte
14
Identifica a funo:
- C: Crdito
- D: Dbito;
- H: Cheque
- A: CDC
- S: Saque
Valor efetivado (2 casas decimais)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
128
bytes
14
bytes
Layout Verso 3:
Tamanho
Descrio
3 bytes
3 bytes
1 byte
Identifica a funo:
-
C: Crdito
D: Dbito;
H: Cheque
A: CDC
3 bytes
Cdigo da bandeira
17 bytes
Descrio da bandeira
14 bytes
14 bytes
Prottipo
LONG ScopeObtemDadosTotalTEF (BYTE Nivel, char *Buffer, WORD TamBuffer)
Parmetros
[in]
BYTE
Nivel
[out] char *
Buffer
[in]
TamBuffer
WORD
Retorno
Ver tabela de cdigo de retorno.
Significado
A transao em andamento a aplicao deve aguardar
Erro na totalizao de TEF
Exemplo
...
WORD TamBuffer;
char Buffer[2048];
...
// encerrando o Dia
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
129
...
TamBuffer = sizeof(Buffer);
if(ScopeObtemDadosTotalTEF(0, Buffer, TamBuffer) == 0)
{
...
GeraRelatorioEmArquivo(Buffer);
...
}
else
{
// erro ao obter o cupom com o relatrio
}
...
Prottipo
LONG ScopeObtemDadosTotalTEFEx (BYTE Versao, BYTE Nivel, char *Buffer,
WORD TamBuffer)
Parmetros
[in]
BYTE
Versao
[in]
BYTE
Nivel
[out] char *
Buffer
[in]
TamBuffer
WORD
Retorno
Ver tabela de cdigo de retorno.
Significado
A transao em andamento a aplicao deve aguardar
Erro na totalizao de TEF
Exemplo
...
WORD TamBuffer;
char Buffer[2048];
...
// encerrando o Dia
...
TamBuffer = sizeof(Buffer);
if(ScopeObtemDadosTotalTEFEx(3, 0, Buffer, TamBuffer) == 0)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
130
{
...
GeraRelatorioEmArquivo(Buffer);
...
}
else
{
// erro ao obter o cupom com o relatrio
}
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
131
Descrio da funcionalidade
Essa funcionalidade determina um fluxo de coleta que direcione o operador (a automao
comercial) a entrar os dados do cupom de uma transao que foi realizada na mquina de POS.
Este recurso foi criado para que a automao cormercial obtivesse os dados do cupom para
gravar no arquivo de conciliao do SCOPECON e que tais transaes fossem conciliadas. Essa
funcionalidade no se comunica com o SCOPE Server e a conexo pode estar offline. No entanto,
necessrio que o SCOPE Client tenha feito o logon com o Server, isto , que a funo
ScopeOpen tenha sido executado com sucesso.
A funcionalidade tinha como foco cartes que o SCOPE s passam em POS, como o
CONSTRUCARD e o BNDES. No entanto, quaisquer cartes que passaram pelo POS podem
usar esse recurso. H situaes em que a rede autorizadora ou at mesmo o prprio SCOPE
Server est offline. Quando acontece isso, normalmente os estabelecimentos passam as
transaes em POS, que so utilizados como contingncia do concentrador de TEF.
Em linhas gerais, o portador do carto ao pagar sua compra na loja com um dos cartes, o
funcionrio da loja encaminha-o para o sistema que vai fazer o pagamento. Uma vez paga, o
funcionrio poder registrar essa venda no PDV para a futura conciliao com a rede
autorizadora.
Os dados da transao sero retornados para a automao comercial pela funo
ScopeObtemCampoExt2. Assim, esses dados podero ser gravados em arquivo e exportados
posteriormente para o mdulo SCOPECon. Em outras palavras, os dados da transao para a
conciliao no feita pelo SCOPE. de responsabilidade da automao comercial a gerao do
arquivo com os dados da transao. A participao do SCOPE nesse processo est em dois
momentos:
1.
A coleta dos dados do cupom pelo SCOPE Client para que a automao tenha os dados
para o arquivo. Nessa situao o SCOPE serve apenas como um guia ao operador para
solicitar as informaes do cupom. No final da coleta, a automao solicitar ao SCOPE
Client tais dados para o arquivo.
2.
Transao POS
Essa funo inicia um fluxo padro de coleta do SCOPE para coletar as informaes necessrias
para que a automao comercial gere um registro do arquivo de conciliao que este seja
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
132
futuramente importado pelo SCOPECon. No final desse fluxo a automao comercial poder obter
quase todos os campos necessrio utilizando a funo ScopeObtemCampoExt2.
Na loja, o operador de caixa ir com o portador do carto a um POS passar o carto para pagar a
venda. O operador retornar ao caixa com o cupom do estabelecimento impresso pelo POS e
executar essa transao. Os dados contidos na via do estabelecimento so importantes para
alimentar os dados da transao. A no utilizao do SCOPE poder ser por diversas situaes.
A principal quando o carto CONSTRUCARD ou BNDES, pois eles no so tratados pelo
SCOPE. Outra situao quando a rede autorizadora ou o prprio SCOPE Server estiver offline.
Nesse caso, a transao ser paga no POS, mas o estabelecimento poder fazer a conciliao da
transao.
Os parmetros da funo no so obrigatrios. Passar valores diferentes do padro simplificar o
fluxo de coleta, no sendo solicitado ao operador. Se esta funo vai ser chamada para finalizar a
venda que est aberta, a automao poder passar o valor da venda automaticamente.
Prottipo
LONG EXPORT ScopeTransacaoPOS(char
WORD
WORD
WORD
*Valor,
Rede,
Bandeira,
Servico)
Parmetros
[in]
String com o
mximo de 12
dgitos
Valor
[in]
WORD
Rede
[in]
WORD
Bandeira
[in]
WORD
Servico
Retorno
Ver tabela de cdigo de retorno no SCOPE.
133
Cdigos Retorno
Hexadeci Decimal
mal
0xFB01
64257
0xFB09
64265
0xFE00
65024
Significado
No foi possvel criar a thread na coleta de dados
Estourou o nmero mximo de TEF numa sesso multi-TEF
A transao em andamento a aplicao deve aguardar
Exemplo
...
retorno = ScopeTransacaoPOS(, 0, 0, 0);
...
// processa a transao
...
Estados de coleta
A tabela abaixo mostra os estados de coleta que o fluxo poder retornar, no modo coleta. A
maioria dos estados no necessitam tratamentos especficos pela automao. Basta que
mostre a mensagem na tela do operador e aguarde a digitao. Quando necessrio, est
descrito abaixo o tratamento especfico que a automao poder fazer.
ESTADO DE COLETA
HEX
0xFC87
DESCRIO
DECIMAL
64647
TRATAMENTO
Exibe menu.
tpico especfico.
64521
0xFC0A
64522
Padro
pela
administradora
ou
Padro
pelo
estabelecimento
0xFC0E
64526
Padro
0xFC34
64564
Padro
0xFCC7
64711
Padro
0xFC18
64536
Padro
0xFC32
64562
Padro
0xFCC8
64712
Padro
0xFC3A
64570
Padro
DDMMAA
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
134
0xFCC9
64713
0xFCFD
64765
0xFCFE
Padro
autorizao)
Coleta em andamento
64766
CDIGO EM HEXA
TC_DECIDE_AVISTA
0xFC09
TC_DECIDE_P_ADM_EST
0xFC0A
TC_QTDE_PARCELAS
0xFC0E
TC_ULTIMOS_DIGITOS
0xFC18
TC_COLETA_DDMMAA
0xFC32
TC_COLETA_VALOR
0xFC34
TC_COLETA_NSU_HOST
0xFC3A
TC_EXIBE_MENU
0xFC87
TC_PRIMEIROS_DIGITOS
0xFCC7
TC_COLETA_CAMPO_AUT
0xFCC8
TC_COLETA_CAMPO_DOC
0xFCC9
TC_COLETA_EM_ANDAMENTO
0xFCFD
TC_INFO_RET_FLUXO
0xFCFE
Redes e bandeiras
O SCOPE Client tem um conjunto mnimo padro implementado internamente para permitir a
transao POS. So garantidas as redes CIELO e REDECARD-L0500, cujos respectivos cdigos
no SCOPE so 102 e 103. As bandeiras garantidas so VISA, MASTERCARD, ELECTRON, ELO
DEBITO, ELO CREDITO, BNDES, CONSTRUCARD. Os servios so: Dbito Vista, Crdito
Vista, Crdito Parc. Adm, Crdito Parc. Loja, Compra CDC e Credirio. A tabela abaixo mostra o
relacionamento que o SCOPE Client mantm internamente.
CD
102
102
REDE
NOME
CIELO
CIELO
CD
1
1
BANDEIRA
NOME
VISA
VISA
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
CD
9
27
SERVIO
NOME
Crdito Vista
Crdito Parc. Adm
135
102
102
102
102
102
102
102
102
102
102
102
102
103
103
103
103
103
103
103
103
103
103
103
103
CIELO
1 VISA
28 Crdito Parc. Loja
CIELO
2 MASTERCARD
9 Crdito Vista
CIELO
2 MASTERCARD
27 Crdito Parc. Adm
CIELO
2 MASTERCARD
28 Crdito Parc. Loja
CIELO
8 MAESTRO
6 Dbito Vista
CIELO
8 MAESTRO
134 Credirio
CIELO
21 ELECTRON
6 Dbito Vista
CIELO
21 ELECTRON
134 Credirio
CIELO
247 BNDES
6 Dbito Vista
CIELO
247 BNDES
134 Credirio
CIELO
246 CONSTRUCARD
6 Dbito Vista
CIELO
246 CONSTRUCARD
134 Credirio
REDECARD-L0500
1 VISA
9 Crdito Vista
REDECARD-L0500
1 VISA
27 Crdito Parc. Adm
REDECARD-L0500
1 VISA
28 Crdito Parc. Loja
REDECARD-L0500
2 MASTERCARD
9 Crdito Vista
REDECARD-L0500
2 MASTERCARD
27 Crdito Parc. Adm
REDECARD-L0500
2 MASTERCARD
28 Crdito Parc. Loja
REDECARD-L0500
8 MAESTRO
6 Dbito Vista
REDECARD-L0500
8 MAESTRO
45 Compra CDC
REDECARD-L0500
21 ELECTRON
6 Dbito Vista
REDECARD-L0500
21 ELECTRON
45 Compra CDC
REDECARD-L0500
246 CONSTRUCARD
6 Dbito Vista
REDECARD-L0500
246 CONSTRUCARD
45 Compra CDC
Este relacionamento interno poder ser desconsiderado se configurado no scope.ini um novo
relacionamento. Ver tpico Configurao do arquivo scope.ini.
Exemplos de configurao 1
Esse exemplo mostra uma configurao em que a transao teria um comportamento
similar como situao em que o arquivo no est configurado. O comportamento similar,
mas no igual, pois no temos a associao de servio para cada configurao de rede ou
bandeira. Logo, no fluxo as bandeiras no sero separadas conforme a opo escolhida de
crdito, dbito ou CDC (credirio) e todas elas aparecero para que o operador escolha
uma.
[SCOPEAPIPOS]
DigitacaoCodigo=n
Complementar=n
Redes=102,103
Bandeiras=1,2,8,21,246,247
NomeBandeira001=VISA
NomeBandeira002=MASTERCARD
NomeBandeira008=MAESTRO
NomeBandeira021=ELECTRON
NomeBandeira246=BNDES
NomeBandeira247=CONSTRUCARD
[SCOPEAPIPOS-R102]
Nome=CIELO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
136
Bandeiras=1,2,8,21,247,246
[SCOPEAPIPOS-R103]
Nome= REDECARD
Bandeiras=1,2,8,21, 246
Exemplos de configurao 2
Aqui temos uma configurao para um estabelecimento que tem apenas POS da CIELO
como contingncia. No ser perguntada pela rede REDECARD.
[SCOPEAPIPOS]
DigitacaoCodigo=n
Complementar=n
Redes=102
Bandeiras=1,2,8,21,246,247
NomeBandeira001=VISA
NomeBandeira002=MASTERCARD
NomeBandeira008=MAESTRO
NomeBandeira021=ELECTRON
NomeBandeira246=BNDES
NomeBandeira247=CONSTRUCARD
[SCOPEAPIPOS-R102]
Nome=CIELO
Bandeiras=1,2,8,21,247,246
Exemplos de configurao 3
A configurao desse exemplo agrega rede GETNET e as bandeiras SIMCRED e VISA
para um estabelecimento que tem um POS da GETNET como contingncia alm do POS
da CIELO e da REDECARD.
[SCOPEAPIPOS]
DigitacaoCodigo=n
Complementar=s
Redes=73
Bandeiras=136
NomeBandeira136=SIMCRED
[SCOPEAPIPOS-R073]
Nome=GETNET
Bandeiras=136,1
Exemplos de configurao 4
Com essa configurao ser dada a opo OUTRA e coletado o cdigo de bandeira se
essa opo for selecionada.
[SCOPEAPIPOS]
DigitacaoCodigo=s
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
137
Exemplos de configurao 5
A configurao desse exemplo agrega rede GETNET e as bandeiras SIMCRED e VISA e
ELECTRON para um estabelecimento que tem um POS da GETNET como contingncia
alm do POS da CIELO e da REDECARD. Alm disso, associa os servios de crdito para
SIMCRED e VISA e o servio de dbito para ELECTRON.
[SCOPEAPIPOS]
DigitacaoCodigo=n
Complementar=s
Redes=73
Bandeiras=136
NomeBandeira136=SIMCRED
[SCOPEAPIPOS-R073]
Nome=GETNET
Bandeiras=136,1,21
ServicoB001=9,027,28
ServicoB136=009,27,028
ServicoB021=6
Exemplos de configurao 6
Esse exemplo mostra uma configurao em que a transao teria um comportamento igual
situao em que o arquivo no est configurado. Diferente do exemplo 1, aqui o
comportamento igual, pois temos a associao de servio para cada configurao de rede
ou bandeira.
[SCOPEAPIPOS]
DigitacaoCodigo=n
Complementar=n
Redes=102,103
Bandeiras=1,2,8,21,246,247
NomeBandeira001=VISA
NomeBandeira002=MASTERCARD
NomeBandeira008=MAESTRO
NomeBandeira021=ELECTRON
NomeBandeira246=BNDES
NomeBandeira247=CONSTRUCARD
[SCOPEAPIPOS-R102]
Nome=CIELO
Bandeiras=1,2,8,21,247,246
ServicoB001=009,27,28
ServicoB002=9,27,28
ServicoB008=6,134
ServicoB021=6,134
ServicoB247=6,134
ServicoB246=6,134
[SCOPEAPIPOS-R103]
Nome= REDECARD
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
138
Bandeiras=1,2,8,21, 246
ServicoB001=9,27,028
ServicoB002=9,027,28
ServicoB008=6,45
ServicoB021=6,45
ServicoB246=6,45
Cdigos de servios
No SCOPE existem vrios cdigos de servios disponveis, mas nem todos so aplicveis nesta
funcionalidade. Cada servio agrupado em um grupo de servio. Abaixo est a relao de
grupos de servios e os servios previstos como no SCOPE.
Grupo de servio
Cdigo
Descrio
01
Carto de Dbito
02
Carto de Crdito
Cdigo
6
45
134
9
27
28
Servio
Descrio
Dbito Vista
Compra CDC
Credirio
Crdito Vista
Crdito Parc. Adm
Crdito Parc. Loja
Percebe-se que o CDC e o Credirio esto agrupados em dbito, mas para fins da transao
POS, os servios estaro agrupados nos conforme abaixo:
Grupo de servio
Descrio
Carto de Dbito
CDC
Carto de Crdito
Servio
Cdigo
Descrio
6
Dbito Vista
45
Compra CDC
134
Credirio
45
Compra CDC
134
Credirio
9
Crdito Vista
27
Crdito Parc. Adm
28
Crdito Parc. Loja
O servio 134 (credirio) idntico ao CDC, mas utilizado apenas para a rede CIELO. Qualquer
outra rede o servio utilizado deve ser o 45 (compra CDC). Esses dois servios esto em ambos
os grupos, para manter como o agrupamento no SCOPE. No entanto, escolhendo a opo de
CDC logo no comeo, simplifica o fluxo, j que no perguntar se vista e perguntar o nmero
de parcelas. Consequentemente, o fluxo poder chegar ao servio CDC, respondendo tanto
dbito, quanto CDC na primeira coleta.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
139
POS
1
TAM TIPO
COMENTRIOS
1
N
Constante 1
Numero do PV
15
Data da venda
17
NSU
25
NSU do Host
31
15
Cdigo de
autorizao
41
14
Valor da
compra
Nmero do
carto
51
15(2)
Valor da operao
66
22
Nmero do carto
Status da
transao
85
Cdigo
Empresa
86
Cdigo do
Estabelecimento
Data da venda
(YYYYMMDD)
Num. seqencial
nico
NSU complementar
Cdigo de
autorizao
FUNO ScopeObtemCampoExt2
CUPOM
MSCARA 1
NA*
MSCARA 2
NA*
MSCARA 3
NA*
CAMPO
0x00000800
NA*
NA*
NA*
NA*
0x00000008
NA*
Data
0x00000004
NA*
NA*
DOC
0x00004000
NA*
NA*
NA*
0x00000100
NA*
NA*
0x00000002
NA*
NA*
0x00000001
NA*
NA*
NA*
NA*
NA*
NA*
0x08000000
NA*
NA*
AUT
Transaes OK,
preencher com a
letra O
Formato 0000
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
VALOR
6 primeiros e 4
ltimos dgitos do
carto
NA*
NA*
140
Cdigo Filial
90
Qtd Parcelas
94
Forma Captura
96
97
Formato 0000
NA*
Quantidade de
parcelas. Se venda
for vista,
preencher 00
P-POS, IInternet, MManual, T-TEF ou
O Outros.
NA*
NA*
NA*
0x00001000
NA*
NA*
NA*
NA*
0x00000080
0x00040000
NA*
NA*
Nmero de
parcelas
NA*
Cdigo
Bandeira
Cdigo Rede
100
Cdigo da Rede
0x00400000
NA*
NA*
Rede
Cdigo Servio
103
0x00080000
NA*
NA*
RESERVADO
108
89
Cdigo do Servio
RESERVADO
NA*
NA*
NA*
Venda
NA*
Cdigo da Bandeira
Bandeira
* NA no se aplica
Para ilustrar o mapeamento, considera-se o cdigo da empresa e o cdigo da filial do PDV sendo
0001 e 0001, respectivamente, e o cupom de exemplo. Aps a transao POS do SCOPE
Client e a formatao da automao comercial, o cupom dever resultar no registro com exibido
na prxima tabela.
CUPOM
CAMPO
FUNO ScopeObtemCampoExt2
ARQUIVO
MSCARA 1
-
MSCARA 2
-
MSCARA 3
-
0x00000800
0x00000000
0x00000000 "
041212
0x00000000
0x00000008
0x00000000 "041212"
"20121204"
096044
0x00000004
0x00000000
0x00000000 "096044"
"096044"
0x00004000
0x00000000
0x00000000 ""
"
095023
0x00000100
0x00000000
0x00000000 "095023"
"095023
1000
0x00000002
0x00000000
0x00000000 "1000"
"000000000001000"
444054-2871
0x00000001
0x00000000
0x00000000 "444054-2871"
"444054-2871
REGISTRO
"1"
"
"
"
"
0x00000000
0x08000000
0x00001000
0x00000000
0x00000000 "2"
"02"
0x00000000
0x00000000
0x00000080 "P"
"P"
ELECTRON
0x00040000
0x00000000
0x00000000 "21"
"021"
CIELO
0x00400000
0x00000000
0x00000000 "102"
"102"
Dbito
parcelado
0x00080000
0x00000000
0x00000000 "134"
"134"
RETORNO
0x00000000 "0001"
-
"
"
"O"
"0001"
"0001"
...
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
141
POS
1
TAM TIPO
COMENTRIOS
1
N
Constante 1
Cdigo do
15
N
Estabelecimento
Data da venda
8
D
(YYYYMMDD)
Num. seqencial
6
A
nico
15
A
NSU complementar
Numero do PV
Data da venda
17
NSU
25
NSU do Host
31
Cdigo de
autorizao
41
14
Valor da
compra
51
15(2)
Nmero do
carto
66
Status da
transao
FUNO ScopeObtemCampoExt2
CUPOM
MSCARA 1
NA*
MSCARA 2
NA*
MSCARA 3
NA*
NA*
0x00000800
NA*
NA*
NA*
NA*
0x00000008
NA*
Data
0x00000004
NA*
NA*
NA*
0x00004000
NA*
NA*
CV
Cdigo de
autorizao
0x00000100
NA*
NA*
AUTO
Valor da operao
0x00000002
NA*
NA*
22
Nmero do carto
0x00000001
NA*
NA*
TOT.
APROVADO
6 primeiros
opcionais e 4
ltimos
obrigatrios
dgitos do carto
85
Transaes OK,
preencher com a
letra O
NA*
NA*
NA*
NA*
Cdigo
Empresa
86
Formato 0000
NA*
0x08000000
NA*
NA*
Cdigo Filial
90
Formato 0000
NA*
NA*
NA*
NA*
0x00001000
NA*
NA*
Nmero de
parcelas
NA*
NA*
Qtd Parcelas
94
Forma Captura
96
Quantidade de
parcelas. Se venda
for vista,
preencher 00
P-POS, IInternet, MManual, T-TEF ou
O Outros.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
CAMPO
0x00000080 NA*
142
Cdigo
Bandeira
Cdigo Rede
97
Cdigo da Bandeira
0x00040000
NA*
NA*
Bandeira
100
Cdigo da Rede
0x00400000
NA*
NA*
Rede
Cdigo Servio
103
Cdigo do Servio
0x00080000
NA*
NA*
Venda
RESERVADO
108
* NA no se aplica
89
RESERVADO
NA*
NA*
NA*
NA*
Para ilustrar o mapeamento, considera-se o cdigo da empresa e o cdigo da filial do PDV sendo
0001 e 0001, respectivamente, e o cupom de exemplo. Aps a transao POS do SCOPE
Client e a formatao da automao comercial, o cupom dever resultar no registro com exibido
nessa tabela.
CUPOM
FUNO ScopeObtemCampoExt2
CAMPO
ARQUIVO
MSCARA 1
-
MSCARA 2
-
MSCARA 3
-
RETORNO
REGISTRO
0x00000800
0x00000000
0x00000000 "000000000000000"
"000000000000000"
121212
0x00000000
0x00000008
0x00000000 "121212"
"20121212"
0x00000004
0x00000000
0x00000000 "096044"
"096044"
499931944
0x00004000
0x00000000
0x00000000 "499931944"
"499931944
018833
0x00000100
0x00000000
0x00000000 "018833"
"018833
1330
0x00000002
0x00000000
0x00000000 "1330"
"000000000001330"
8096
0x00000000 "000000-8096"
"000000-8096
"1"
0x00000001
0x00000000
0x00000000
0x08000000
0x00001000
0x00000000
0x00000000 "1"
"01"
0x00000000
0x00000000
0x00000080 "P"
"P"
MAESTRO
0x00040000
0x00000000
0x00000000 "8"
"008"
REDECARD
0x00400000
0x00000000
0x00000000 "103"
"103"
Dbito vista
0x00080000
0x00000000
0x00000000 "6"
"006"
"
"0001"
"
"O"
0x00000000 "0001"
-
"
"0001"
0000...000
FUNO ScopeObtemCampoExt2
MSCARA MSCARA MSCARA
1
2
3
NA*
NA*
NA*
NA*
NA*
DESCRIO
POS
TAM
TIPO
Tipo de registro
Constante 1
Numero do PV
15
0x00000800 NA*
Data da venda
17
NSU
25
NSU do Host
31
15
Cdigo do
Estabelecimento
Data da venda
(YYYYMMDD)
Num. seqencial
nico
NSU complementar
Cdigo de
autorizao
41
14
Cdigo de
autorizao
Valor da
compra
Nmero do
carto
51
15(2)
Valor da operao
0x00000002 NA*
NA*
66
22
Nmero do carto
0x00000001 NA*
NA*
NA*
NA*
0x00000008 NA*
CUPOM
CAMPO
Data
0x00000004 NA*
NA*
NA*
0x00004000 NA*
NA*
CV
0x00000100 NA*
NA*
AUTO
OBRIG.
NA*
NA*
SIM
NO
NO
NO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
TOT.
APROVADO
6 primeiros
dgitos do
carto
SIM
NO
143
Status da
transao
85
Cdigo
Empresa
Cdigo Filial
86
90
NA*
NA*
4 ltimos
dgitos do
carto
NA*
NA*
Transaes OK,
preencher com a
letra O
Formato 0000
NA*
0x08000000 NA*
NA*
Formato 0000
NA*
NA*
NA*
SIM
NA*
NA*
NA*
NA*
Qtd Parcelas
94
Forma Captura
96
97
Cdigo
Bandeira
Cdigo Rede
100
Cdigo Servio
103
RESERVADO
108
89
Quantidade de
parcelas. Se venda
for vista,
preencher 00
P-POS, IInternet, MManual, T-TEF ou
O Outros.
0x00001000 NA*
NA*
NA*
NA*
0x00000080 NA*
NA*
NA*
SIM
NA*
N
Cdigo da Rede
Nmero de
parcelas
Bandeira
SIM
0x00400000 NA*
0x00080000 NA*
NA*
Rede
SIM
NA*
NA*
Venda
NA*
SIM
NA*
NA*
NA*
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
144
Funes diversas
_____________________________________________________________________________________________________
Neste captulo, abordamos diversas funes de uso frequente por diversas empresas, mas que
no conseguimos categoriz-las.
Dados da transao
Aps uma transao ou at mesmo durante o processamento desta, pode-se querer guardar
dados da transao junto aos dados de venda, utilizados pela aplicao para controle ou relatrio
das vendas.
No caso da interface HLAPI, muito til obter esses dados, j que o SCOPE quem coleta e ela
no conhece nenhum dado. Ento ao final da transao, a aplicao poder obter do SCOPE
alguns dados que esto disponveis.
J na interface coleta, quase todos os dados da transao a aplicao consegue obter, uma vez
que ela que prov a entrada de dados e repassa o que foi coletado para o SCOPE. A aplicao
pode conhecer o dado coletado a partir do cdigo do estado de coleta que o SCOPE passa para
ela coletar.
Para obter estes dados, primeiramente, a aplicao solicita um handle para a transao. Uma vez
obtido este handle, a aplicao solicita os dados da transao, um de cada vez ou todos de uma
nica vez.
Obtendo handle
A aplicao dever solicitar o handle com a funo ScopeObtemHandle(). Dependendo do
momento em que coletar os dados, o parmetro desta funo ser diferente:
valor 0: este valor dever ser passado para uma referncia da ltima transao ou da
transao em andamento aps a solicitao de autorizao;
valor 8: este valor utilizado para a obteno de dados de uma transao aps queda de
energia.
valor 9: este valor usado quando o momento de obteno de algum dado acontecer
durante o processamento da transao, antes da solicitao de autorizao.
Prottipo
LONG EXPORT ScopeObtemHandle (LONG Desloc)
Parmetros
[in]
LONG
Desloc
Retorno
Valores maiores que 0xFFFF significam valores vlidos de handle. Qualquer outro valor
significa um cdigo de erro (Ver tabela de cdigo de retorno).
Significado
145
0xFA01
0xFB01
0xFB09
0xFE01
0xFE05
64001
64257
64265
65025
65029
0xFE0D
65037
Parmetro 1 invlido
No foi possvel criar a thread na coleta de dados
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
No h arquivo com dados da transao anterior salvo
Exemplo
...
LONG handle;
// processa a transao
handle = ScopeObtemHandle(0);
if(handle > 0xFFFF)
{
// obtm os dados desejados
}
else
{
// erro! no conseguiu o handle
}
...
// fecha a sesso
...
Obtendo os campos
Aps obter um handle vlido, a aplicao est apta para o recebimento dos dados da transao.
Estes dados podem ser obtidos de uma vez s ou campo a campo, ou at mesmo agrupados em
partes. Isto conseguido atravs de campos com combinao de bits.
Cada bit das variveis de mscara passadas para o SCOPE possui um significado que podem ser
combinados de qualquer maneira. A relao completa de campos e os bits que representam estes
campos podem ser encontrados na seo Dados disponveis das transaes. Para casos em que
a aplicao solicitar vrios dados, o SCOPE os retornar num nico buffer separado por um
caractere separador que a aplicao passar para o SCOPE usar. Mesmo que a aplicao
solicitar um dado que no exista na transao, o SCOPE separar o campo em que estaria o
dado com o caractere separador.
A sequncia dos dados que sero devolvidos para a aplicao ser a partir da mscara 1, depois
para a mscara 2 e logo depois para a mscara 3 na sequncia do bit menos significativo para o
mais significativo. importante observar que a mscara 3 somente pode ser obtida atravs da
funo ScopeObtemCampoExt2(), juntamente com as mscaras 1 e 2
Prottipo
LONG EXPORT ScopeObtemCampoExt (LONG Handle,
LONG Masc1,
LONG Masc2,
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
146
char FieldSeparator,
char *Buffer)
Parmetros
[in]
LONG
Handle
[in]
LONG
Masc1
[in]
LONG
Masc2
[in]
char
FieldSeparator
[out] string
Buffer
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
Parmetro 4 invlido
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
Exemplo
...
long h;
char aux[128];
handle = ScopeObtemHandle(0);
if(handle > 0xFFFF)
{
// obtendo o nsu da transao
memset(aux, '\0', sizeof(aux));
ScopeObtemCampoExt(h, 0x00000004, 0x00 , ';', aux);
ArmazenaCampo(aux);
147
}
else
{
// erro! no conseguiu o handle
}
...
Prottipo
LONG EXPORT ScopeObtemCampoExt2 (LONG Handle,
LONG Masc1,
LONG Masc2,
LONG Masc3,
char FieldSeparator,
char *Buffer)
Parmetros
[in]
LONG
Handle
[in]
LONG
Masc1
[in]
LONG
Masc2
[in]
LONG
Masc3
[in]
char
FieldSeparator
[out] string
Buffer
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
148
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
Parmetro 4 invlido
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
Exemplo
...
long h;
char aux[128];
handle = ScopeObtemHandle(0);
if(handle > 0xFFFF)
{
// obtendo o nsu da transao
memset(aux, '\0', sizeof(aux));
ScopeObtemCampoExt2(h, 0x00000004, 0x00 , 0x00 ,';', aux);
ArmazenaCampo(aux);
}
else
{
// erro! no conseguiu o handle
}
...
CUIDADO: tente alocar um buffer razoavelmente grande conforme os dados que se deseja
recuperar, pois o SCOPE no alocar buffer.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
149
150
} tDadoForneceCampo;
Onde:
SCOPE_DADO_MIN (ID 0): limite inferior do domnio de valores que o primeiro parmetro
pode receber
SCOPE_DADOS_APLIC (ID 9): tipo de terminal (A para ATM ou P para PDV) e usurio
SCOPE_DADOS_PAGAMENTO
(ID
10):
dados
do
pagamento
(confronte
com
SCOPE_DADOS_PAGAMENTO_EX)
Formato
Tipo Terminal
n1
Data de Movimento
n4
Descrio
Tipos de Terminal que podem ser configurados:
1 = Frente de loja, (default)
2 = Magazine,
3 = Batimento/retaguarda
4 = Posto de gasolina
5 = WEB
Data de Movimento no formato MMDD
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
151
Atributos da aplicao
Permite implementar atributos (campos) dinamicamente, que so vinculados as transaes
efetuadas pelo SCOPE. Existem trs mdulos envolvidos por esta funcionalidade:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
152
Exemplo: voc poder consultar as transaes efetuadas pelo SCOPE, vinculadas a outras
informaes teis a empresa, como: nmero da nota fiscal, do pedido, da compra, nome e
telefone do cliente, etc.
O formato dos dados deve ser uma string que obedece ao seguinte padro:
nnc1tt1xx..x1c2tt2xx..x2cnttnxx..xn
, onde:
...
Prottipo
LONG EXPORT ScopeForneceCampo (char TypeField, void *StructField)
Parmetros
[in]
[in]
char
void *
TypeField
StructField
Tipo de dado
Ponteiro para os dados
Retorno
Ver tabela de cdigo de retorno.
153
Cdigos Retorno
Hexadeci Decimal
mal
0xFB01
64257
0xFE01
65025
0xFE05
65029
0xFE0D
0xFB09
65037
64265
Significado
No foi possvel criar a thread na coleta de dados
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
No h arquivo com dados da transao anterior salvo
Estourou o nmero mximo de TEF numa sesso multi-TEF
Exemplo
Digamos que a cada venda paga com o carto de crdito, a empresa deseja que seja
atrelada a transao o nmero de telefone do cliente e o nmero do pedido. Para isso, o
administrador do SCOPE criou dois atributos no ScopeCNF (figura 7).
154
}
...
// encerra sesso de TEF
02 2 campos no buffer
ScopeGetLastMsg
Obtm as ltimas mensagens a serem mostradas para o operador e/ou cliente.
Prottipo
LONG EXPORT ScopeGetLastMsg (ptCOLETA_MSG ptParamColetaMsg)
Parmetros
Ponteiro para
uma rea com o
ptParamColetaMsg
[out] formato da
estrutura
stCOLETA_MSG
Estruturas de apoio
typedef struct _stCOLETA_MSG {
char Op1[64];
char Op2[64];
char Cl1[64];
char Cl2[64];
} stCOLETA_MSG, *ptCOLETA_MSG;
Retorno
Ver tabela de cdigo de retorno.
Significado
No foi possvel criar a thread na coleta de dados
SCOPE API no foi inicializada corretamente
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
155
ScopeGetCheque
Obtm os parmetros para impresso de cheque.
Prottipo
LONG EXPORT ScopeGetCheque(ptPARAM_CHEQUE ptParamCheque)
Parmetros
Ponteiro para uma
rea com o formato ptParamCheque
[out]
da estrutura
ptPARAM_CHEQUE
Estruturas de apoio
typedef struct
_stPARAM_CHEQUE {
char Banco[4];
// nmero do banco
char Agencia[5];
// nmero da agncia
char NumCheque[13];
// nmero do cheque
char Valor[13];
// valor do cheque
char BomPara[9];
// data do cheque
char CodAut[11];
char Municipio[41];
// municpio
short Ordem;
// reservado
} stPARAM_CHEQUE, *ptPARAM_CHEQUE;
Retorno
Ver tabela de cdigo de retorno.
Significado
SCOPE API no foi inicializada corretamente
No existe transao suspensa
ScopeAtualizaValor
Atualiza ou fornece o novo valor da transao. Esta funo deve ser executada aps a funo de
transao e antes do envio da solicitao de autorizao para a Autorizadora.
Prottipo
LONG EXPORT ScopeAtualizaValor(char *Valor)
Parmetros
[in]
String
Valor
Retorno
Ver tabela de cdigo de retorno.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
156
Significado
Parmetro 1 invlido
SCOPE API no foi inicializada corretamente
ScopeGarantiaDescontoCheque
Aciona o SCOPE client para efetuar uma transao de Garantia de Cheque ou de Desconto
Antecipado de Cheque (Factoring).
Prottipo
LONG EXPORT ScopeGarantiaDescontoCheque (char *Valor)
Parmetros
[in]
Valor
String
Retorno
Ver tabela de cdigo de retorno.
0xFE0D
0xFF36
65037
65334
0xFF3A
65338
Significado
Parmetro 1 invlido
Estourou o nmero mximo de TEF numa sesso multi-TEF
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
No h arquivo com dados da transao anterior salvo
Erro no envio da confirmao ou desfazimento da transao
anterior
Erro interno na execuo da coleta
ScopeTransacaoFinanceira
Aciona o SCOPE Client para efetuar uma transao financeira.
Prottipo
LONG EXPORT ScopeTransacaoFinanceira (char *Valor, WORD Servico)
Parmetros
[in]
String
Valor
[in]
WORD
Servio
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Valor da transao
Informa qual o servio a ser adotado. Caso
0 (zero) a coleta do servio ser feita pelo
procedimento usual (ver Cdigos dos
servios)
157
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 2 invlido
Estourou o nmero mximo de TEF numa sesso multi-TEF
No foi possvel criar a thread na coleta de dados
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
ScopeInvestimento
Aciona o SCOPE Client para efetuar um investimento.
Prottipo
LONG EXPORT ScopeInvestimento (char *Valor, WORD Servico)
Parmetros
[in]
String
Valor
[in]
WORD
Servico
Valor da transao
Informa qual o servio a ser adotado. Caso
0 (zero) a coleta do servio ser feita pelo
procedimento usual (ver Cdigos dos
Servios)
Retorno
Ver tabela de cdigo de retorno.
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
Significado
Parmetro 2 invlido
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
158
0xFF1D
65309
0xFF3A
0xFB03
0xFF00
65338
64259
65280
0xFF0A
0xFF5E
0xFFFF
65290
65374
65535
ScopeObtemCartaoInvestimento
Aciona o SCOPE Client para obter o nmero do carto a partir do CPF do cliente. Viabiliza efetuar
uma transao de aplicao pelo nmero do CPF.
Prottipo
LONG EXPORT ScopeObtemCartaoInvestimento (char *CPF,
char *Buf,
WORD TamBuf)
Parmetros
[in]
CPF
String
[out] String
Buf
[in]
TamBuf
WORD
CPF do cliente
rea reservada pela aplicao para
receber o carto (ou lista de cartes). O
layout dos dados foi definido pelo SAB (o
SCOPE no critica nem altera este layout).
A aplicao deve informar ao SCOPE o
tamanho da rea reservada
Retorno
Ver tabela de cdigo de retorno.
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
65290
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
159
0xFFFF
0xFF5E
65535
65374
Erro genrico
Erro ao desmontar a estrutura ISO
ScopeResumoOperacoes
Utilizada nos casos em que a rede ou correspondente bancrio oferece a possibilidade de
obteno de um resumo das operaes realizadas.
Prottipo
LONG EXPORT ScopeResumoOperacoes (WORD CodServico, WORD CodBandeira)
Parmetros
[in]
WORD
CodServico
[in]
WORD
CodBandeira
Retorno
Ver tabela de cdigo de retorno.
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFE0D
0xFB01
0xFB03
0xFB09
0xFF00
65037
64257
64259
64265
65280
0xFF0A
*0xFF1D
65290
65309
Significado
Parmetro 1 invlido
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
No h arquivo com dados da transao anterior salvo
No foi possvel criar a thread na coleta de dados
Erro ao verificar mensagem mensagem invlida
Estourou o nmero mximo de TEF numa sesso multi-TEF
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
160
0xFF36
65334
0xFF3A
0xFF5E
0xFF60
0xFFFF
65338
65374
65376
65535
ScopePagamento
Utilizada para pagamento de conta (ttulo ou convnio) ou fatura, atravs de uma rede
autorizadora ou por intermdio de correspondente bancrio. Os servios atuais disponveis so
pagamento de conta com carto, pagamento de conta sem carto e pagamento de fatura. O
pagamento de conta com carto usado quando a rede exige uma determinada bandeira
(Electron, Cheque Eletrnico), sendo que neste caso o SCOPE valide o BIN do carto.
Pagamento de conta sem carto quando o pagamento pode ser realizado atravs de dinheiro,
cheque ou TEF externa (outra transao realizada separadamente). Pagamento de fatura usado
para o recebimento prprio de fatura de carto de crdito. Neste caso, o cdigo de barras no
obrigatrio, j que o pagamento pode ser atravs do nmero do carto (digitado ou lido).
Prottipo
LONG EXPORT ScopePagamento (WORD CodServico, WORD CodBandeira)
Parmetros
[in]
WORD
CodServico
[in]
WORD
CodBandeira
Retorno
Ver tabela de cdigo de retorno.
0xFE06
0xFE07
65030
65031
0xFE08
65032
Significado
Parmetro 1 invlido
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
161
0xFE0A
65034
0xFE0B
65035
0xFE0D
0xFB01
0xFB03
0xFB09
0xFF00
65037
64257
64259
64265
65280
0xFF0A
*0xFF1D
65290
65309
0xFF36
65334
0xFF3A
0xFF5E
0xFF60
0xFFFF
65338
65374
65376
65535
ScopeServicoTecnico
Utilizada para execuo de um servio tcnico disponvel para determinada rede autorizadora.
Temos os seguintes servios tcnicos: Baixa de OS, Teste de Comunicao, Estatistica e Injeo
de Chaves DUKPT.
O servio tcnico de Injeo de Chaves DUKPT insere a senha DUKPT no pinpad atravs de uma
transao 0900/0800 Injeo de Chaves e sua resposta 0910/0810 quando o pinpad no possui a
senha, isto o servio no atualiza senha; para isso utiliza-se a funo VerificaChaveDUKPT
para verificar se o pinpad possue senha DUKPT.
Prottipo
LONG EXPORT ScopeServicoTecnico (WORD CodServico, WORD CodBandeira)
Parmetros
[in]
WORD
CodServico
[in]
WORD
CodBandeira
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
162
0xFE00
0xFE01
0xFE05
65024
65025
65029
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFE0D
0xFB01
0xFB03
0xFB09
0xFF00
65037
64257
64259
64265
65280
0xFF0A
*0xFF1D
65290
65309
0xFF36
65334
0xFF3A
0xFF5E
0xFF60
0xFFFF
65338
65374
65376
65535
ScopeAtualizaParametrosChip
Utilizada quando parmetros do chip do carto necessitam ser atualizados. Esta funo inicia o
fluxo de coleta necessrio para a atualizao de parmetros do chip do carto.
Redes que utilizam esta funo so: Ticket Edenred e Cielo R2014.
Solicita a senha
Prottipo
LONG EXPORT ScopeAtualizaParametrosChip(char *UsoFuturo1,
char *UsoFuturo2)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
163
Parmetros
[in]
char
UsoFuturo1
[in]
char
UsoFuturo2
Retorno
Ver tabela de cdigo de retorno.
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
*0xFF1D
65290
65309
0xFF36
65334
0xFFFF
65535
Significado
No foi possvel criar a thread na coleta de dados
Erro ao verificar mensagem mensagem invlida
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro no envio da confirmao ou desfazimento da transao
anterior
Erro genrico
ScopeVersao
Esta funo retorna a verso do Scope.
Prottipo
LONG EXPORT ScopeVersao(char *_VersaoScope, int_TamBufVersao)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
164
Parmetros
[out] char
_VersaoScope
[in]
_TamBufVersao
int
Retorno
Ver tabela de cdigo de retorno.
Significado
Parmetro 1 invlido
ScopeAtualizaPrecosMercadorias
Utilizada quando os Preos das Mercadorias do Estabelecimento necessitam ser atualizados na
rede Ticket Edenred. Esta funo inicia o fluxo de coleta necessrio para a Atualizao de Preos
das Mercadorias.
Redes que utilizam esta funo so: Ticket Edenred.
Prottipo
LONG EXPORT ScopeAtualizaPrecosMercadorias ( WORD _CodBandeira,
char *UsoFuturo1 )
Parmetros
[in]
WORD
_CodBandeira
[in]
char
UsoFuturo1
Retorno
Ver tabela de cdigo de retorno.
Estados de coleta
A tabela abaixo mostra os estados de coleta que o fluxo poder retornar, no modo coleta
Cdigos Retorno
Hexadeci Decimal
mal
0xFCCA
64714
Significado
Coleta da Lista de Atualizao de Preos de Mercadorias
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
165
0xFE06
0xFE07
65030
65031
0xFE08
0xFE0A
65032
65034
0xFE0B
65035
0xFB03
0xFF00
64259
65280
0xFF0A
0xFF0C
*0xFF1D
65290
65292
65309
0xFF36
65334
Significado
No foi possvel criar a thread na coleta de dados
Erro ao verificar mensagem mensagem invlida
Estourou o nmero mximo de TEF numa sesso multi-TEF
SCOPE API no foi inicializada corretamente
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito
nenhuma transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de
protocolo superior ao SCOPE Server
POS no cadastrado
No h mais PDVs disponveis. Erro retornado quando a
aplicao passa o caractere # como PDV para que o SCOPE
Server lhe d um nmero de PDV vlido, mas no h mais
PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de
protocolo extremamente antigo (P00, P01 ou P02).
Erro ao verificar mensagem mensagem invlida
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Banco de dados off-line
Transao no implementada
Sesso em andamento a transao solicitada deve ser nica
numa sesso de TEF, ou seja, no pode ser chamada se h
transaes na sesso de TEF atual
Erro no envio da confirmao ou desfazimento da transao
anterior
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
166
Banrisul EMV
Esta a implementao da nova especificao do Banrisul e que trata principalmente a utilizao
de cartes com chip. Com esta implementao, ser possvel realizar as seguintes transaes do
Banrisul no SCOPE:
Cdigo de servio: este um cdigo de 2 dgitos que informa o tipo de servio realizado
previsto pelo Banrisul. Os possveis cdigos e seus significados so:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
167
01 - Gasolina
02 - lcool
03 - Diesel
04 - GNV
05 - Combustvel Aviao
06 - leo
07 - Lavagem
08 - Borracharia
09 - leo Martimo
10 - Graxa
11 - Outros
12 - Gs GLP
13 - Filtro de Ar
14 - Filtro de leo
15 - leo Lubrificante
16 - Filtro de Combustvel
17 - Gasolina Aditivada
18 - Servio de Oficina
Placa do veculo: campo numrico apenas de at 8 dgitos e deve ser entrada apenas a
parte numrica da placa do carro.
Ticket Edenred
A implementao desta trata da especificao das transaes com o carto com chip Ticket Car,
na modalidade Benefcio e Gesto de Frotas. Transaes com carto so suportadas apenas
utilizando o chip do carto Ticket Car. As transaes disponveis no SCOPE que podem ser
realizadas com esta rede so:
Dbito Voucher;
Estorno Voucher;
Consulta saldo;
Atualizao de preos.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
168
O SCOPE suporta a aprovao off-line, efetuada em POS, e uma caracterstica deste carto
que as transaes aprovadas off-line so armazenadas no prprio chip do carto para ser
descarregado numa prxima transao realizada noutro estabelecimento. Portanto o SCOPE
suporta o envio de transaes realizadas em POS e gravadas no chip. Para a transao de envio
destas off-line, verdade que:
o
No h transaes com os cartes Ticket Alimentao e Ticket Restaurante roteadas para esta
rede no SCOPE.
ScopeCompraCartaoDebito
Estorno online
Consulta saldo
Atualizao de parmetros
Atualizao de preos
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
169
Dados coletados
Abaixo est a relao do que pode ser solicitado em cada transao:
Transao
Coletas
Estorno online
Consulta saldo
Atualizao de parmetros
Atualizao de preos
Carto
Dados do ECF (veja mais abaixo)
Senha
Imprimir cupons
Dados Livres (Dados Adicionais)
Nmero de controle da compra
Carto
Imprimir cupons
Carto
Senha
Imprimir cupom do cliente
Carto
Senha
Nenhuma coleta
Consulta saldo
A funo utilizada para esta transao a ScopeConsultaSaldoDebito que como parmetro
espera receber um valor. No entanto, para os cartes Ticket Car no utilizado este, portanto, a
automao pode passar uma string vazia.
Esta transao no possui cupom da loja, mas apenas do cliente.
Dados do ECF
Na transao de compra online (dbito Voucher) necessrio enviar dados do cupom e do ECF.
O SCOPE retorna, no modo coleta, ento o estado de coleta TC_COLETA_DADOS_ECF
(FCBEh) e a automao deve invocar a funo ScopeForneceCampo com os seguintes
parmetros:
TC_COLETA_DADOS_ECF.
Informaes
adicionais
na
seo
StructField: dados fornecidos pela aplicao, cujo formato para a constante utilizada na
tabela abaixo.
Posio
Formato
001-040
ans40
Descrio
Nmero de srie de fabricao do ECF
(alinhado esquerda com brancos direita)
041-044
n4
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
170
045-064
n20
065-072
n8
StructField: dados fornecidos pela aplicao, cujo formato para a constante utilizada na
tabela abaixo.
Posio
Formato
Descrio
001-004
an4
005-005
n1
006-006
n1
007-008
n2
009-013
an5
ID - "SC101"
Contm identificador do formato do registro que ser passado
014-016
n3
017-106
ans90
107-196
ans90
...
A consulta aos cdigos das mercadorias est descrita posteriormente no tem Cdigo das
Mercadorias
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
171
Formato
001-040
an40
041-045
n5
Descrio
Descrio da Mercadoria da Automao Comercial.
Cdigo da Mercadoria consumida (Cdigo TicketCar).
(alinhado a direita e preenchidos com zeros esquerda, caso necessrio)
045-052
n8
053-061
n9
062-070
n9
071-079
n9
080-088
n9
Valor do desconto ($ ou %)
Se (%) dever ser enviado (x 100).
Exemplo: 10,15% 000001015
Se ($) dever utilizar expoente de moeda da transao.
Exemplo (expoente = 2): $ 15,66 000001566
(alinhado a direita e preenchidos com zeros esquerda, caso necessrio)
089-089
n1
Observao: Repetir este bloco tantas quantas forem as mercadorias que os preos foram atualizados.
(FCCAh)
automao
deve
invocar
funo
Informaes
adicionais
na
seo
172
StructField: dados fornecidos pela aplicao, cujo formato para a constante utilizada na
tabela abaixo.
Posio
Formato
Descrio
001-004
an4
005-009
an5
010-012
n3
013-044
ans32
045-076
ans32
...
Formato
Descrio
001-008
n8
009-014
n6
015-019
n5
020-031
n12
032-032
n1
Cdigo da mercadoria
(alinhado a direita e preenchidos com zeros esquerda, caso necessrio)
Valor do preo unitrio
(alinhado a direita e preenchidos com zeros esquerda, caso necessrio)
Nmero de casas decimais para o valor unitrio da mercadoria
Observao: Repetir este bloco tantas quantas forem as mercadorias que os preos foram atualizados.
A consulta aos cdigos das mercadorias est descrita posteriormente no tem Cdigo das
Mercadorias.
Comprovantes
Abaixo segue os comprovantes existentes para cada transao:
Transao
Coletas
Loja
Cliente
Estorno online
Consulta saldo
Reduzido
173
Cielo Premia
O CIELO Premia um programa de premiao, atravs do qual, o comprador pode receber
prmios no momento da compra quando a TEF transacionada pela Cielo. Tambm conhecido
como Plataforma Promocional Online da Cielo, ou, abreviadamente PP Online.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
174
Cupom eletrnico, que apenas uma notificao de que o cliente est participando de
uma campanha promocional. chamado tambm de e-cupom de participao.
IMPORTANTE: Todos os tipos de prmios podem ou no ocorrer simultaneamente em uma
mesma transao.
Crdito;
Dbito;
Voucher Alimentao;
Voucher Refeio.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
175
IMPORTANTE:
1- Antes de iniciar os testes lembre-se de forar uma Inicializao para o estabelecimento
em questo para garantir que a carga PP OnLine seja carregada no banco de dados pelo
ScopeSRV.
2- Os prmios e cupons gerados pelo ScopeAUT possuem contedos fixos, e portanto, no
representam efetivamente o que ir ocorrer em produo.
pode-se
chamar
ScopeForneceCampo
passando
176
(0x000), indica que a transao foi APROVADA (pode ou no ter recebido prmio no
monetrio), mas com certeza, no houve desconto. Importante notar que ambos os retornos
do ScopeStatus (000 e 263) indicam transao APROVADA.
No preciso esperar a finalizao da transao para saber se houve ou no o desconto.
Normalmente essa informao necessria ao receber o cupom de TEF, para decidir como
finalizar o cupom fiscal. A informao se houve ou no desconto e o valor do desconto
podem ser obtidas nos estados de coleta de impresso de cupom.
IMPORTANTE: Quando h desconto na transao, o valor com desconto ser exibido no
pinpad para o cliente visualizar o valor final. Mensagem VALOR COM DESCONTO.
Para saber o valor do desconto:
Para obter o valor do desconto, usar a funo ScopeObtemCampoExt2, mscara 3,
Informao do desconto do resgate monetrio (0x00000002). Esta informao pode ser
solicitada antes da impresso/solicitao do Cupom (ScopeGetCupomEx). Caso o valor
retornado seja zero, ento no houve desconto.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
177
obter
lista
de
brindes
disponveis,
AC
pode
tratar
estado
de
coleta
Onde aux contm um buffer que contenha espao necessrio para ser armazenado o nmero de
prmios e os dados relativos aos prmios. O buffer ser preenchido com a seguinte estrutura:
typedef struct {
char QtdeOcorrenciasECupom[2];
char DadosResgate[3000];
} stPPResgateNaoMonetario
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
178
Formato
N2
N2
A(n)
...
Descrio
Nmero de E-cupons
Tamanho do 1 E-cupom
Ttulo do 1 Prmio, de tamanho n varivel definido nos 2 bytes anteriores
Obs. Repetem-se tamanho e ttulo para os N cupons
179
Existe uma forma de tratar os itens do Menu Dinmico pela aplicao de AC?
Sim. Os itens exibidos pela funo ScopeMenu podem ser manipulados pela AC. Para isso
existem as funes:
ScopeMenuRecuperaItens;
ScopeMenuSelecionaItem.
Cielo Auto
Esta transao efetuada com cartes do tipo voucher que permitem o pagamento do
abastecimento de combustvel e outros servios prestados aos veculos automotivos em
estabelecimentos como postos de gasolina.
Na especificao CIELO Release 2014, corresponde ao Fluxo 32 -Transao Auto.
Transaes so suportadas apenas utilizando o chip do carto. A bandeira que ir tratar esta
transao ser:
As transaes disponveis no SCOPE que podem ser realizadas com este carto so:
Dbito Voucher;
Estorno Voucher;
Consulta saldo;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
180
COMBUSTVEL
ESTACIONAMENTO
Esta lista ser exibida de acordo com as informaes enviadas na Carga de Tabelas da CIELO e
nas informaes habilitadas no chip do carto. O SCOPE disponibiliza os itens do Menu para a
aplicao de automao comercial para a melhor exibio dessas informaes. Esta lista
fornecida durante o fluxo de coleta atravs do estado abaixo:
TC_COLETA_RAMO_PRINC_CIELO_AUTO
0xFCD9
Num fluxo de Compra com Cartao de Debito, recebendo o cdigo de coleta 64729
(TC_COLETA_RAMO_PRINC_CIELO_AUTO), a aplicao de PDV pode realizar o mesmo
tratamento do estado TC_EXIBE_MENU (que j existe hoje), ou seja, opcionalmente chamar a
funo ScopeMenuRecuperaItens do SCOPE para receber os itens do Menu a serem exibidos e
em seguida chamar a ScopeMenuSelecionaItem para indicar ao SCOPE qual item foi
selecionado.
Desta forma, o PDV poder, por exemplo:
Exibir todos os itens na mesma tela (hoje, pelo fluxo do SCOPE Client, apresentado um
item por vez);
Excluir algum item da lista que eventualmente no deva ser exibido ao operador;
Alterar a descrio de algum item para melhor entendimento do operador;
Fazer a seleo automtica de um determinado item sem apresent-lo ao operador;
Caso o aplicativo de automao comercial opte por no tratar este estado de coleta, o SCOPE
exibir os itens na forma de menu rotativo.
Vale ressaltar que este menu somente ser exibido se existir mais que um ramo principal a ser
selecionado. Caso exista apenas um item, o SCOPE assume-o automaticamente sem exibir o
menu.
181
Gasolina comum
Etanol
Diesel
Gasolina Aditivada
Gasolina Premium
Etanol Aditivado
Diesel S50
Diesel Aditivado
GNV (m3)
Biodiesel
OUTROS PRODUTOS E SERVIOS
Lava-Rpido
Aditivos e Lubrificantes
Filtros
Borracharia
Manuteno Geral
Equipamentos eltricos
ESTACIONAMENTO
Estacionamento
Caso exista apenas uma mercadoria habilitada na Carga de Tabelas ou no carto, o SCOPE
assume automaticamente essa mercadoria.
Num fluxo de Compra com Cartao de Debito, recebendo o cdigo de coleta 64730
(TC_COLETA_COD_MERC_CIELO_AUTO), a aplicao de PDV dever obter a lista de
mercadorias disponveis, atravs da funo ScopeRecuperaBufTabela ().
Prottipo
LONG EXPORT ScopeRecuperaBufTabela (BYTE _TipoTabela,
char *Qtd,
char *ListaBuffer,
WORD TamLista)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
182
Descrio
Parmetros
[out]
String [2+1]
Qtd
[out]
String
ListaBuffer
[in]
WORD
TamLista
Retorno
Ver tabela de cdigo de retorno.
Parmetro TipoTabela:
ID layout
Usar estrutura
Descrio
Contm os campos,
BUF_TAB_MERCADORIA_CIELOAUTO
(ID 3)
stREG_MERCADORIA_CIELOAUTO
conforme a transao
AUTO da especificao
CIELO .
Parmetro ListaBuffer:
O SCOPE est preparado para tratar MAX_MERCADORIA_CIELOAUTO=72 mercadorias
da CIELO AUTO.
A lista formada por registros stREG_MERCADORIA_CIELOAUTO com os seguintes
campos:
Posio
Formato
Descrio
01 a 02
char
03 a 04
char
Cdigo da Mercadoria.
05 a 45
String
Descricao da Mercadoria.
Exemplo
int i = 0;
char qtd [2+1] = {0};
LONG lRet;
stREG_MERCADORIA_CIELOAUTO lista [MAX_MERCADORIA_CIELOAUTO] = {0};
lRet = ScopeRecuperaBufTabela (BUF_TAB_MERCADORIA_CIELOAUTO,
qtd,
(char*) lista,
sizeof (lista));
if (lRet == RCS_SUCESSO)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
183
{
// Sucesso no recebimento da lista de mercadorias
for (i = 0; i < atoi(qtd); i++)
{
// exibe os membros das estruturas que estaro preenchidos
// lista[i].CodRamoPrinc,
// lista[i].CodMercadoria,
// lista[i].Descricao
}
}
else
// Erro ...
A aplicao de PDV no necessita realizar qualquer tratamento para a coleta desses campos pois
o SCOPE exibe de forma dinmica, tanto a mensagem quanto os dados coletados, dependendo
do carto utilizado.
SAVS
Esta seo trata da especificao das transaes com a rede SAVS (Sistema Autorizador de
Vouchers e Servios).
As transaes implementadas no SCOPE que podem ser realizadas com esta rede so:
Autorizao de Voucher;
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
184
Parametrizao de Fornecedor
Coleta de Fornecedor:
Parmetro da Carga
Quantidade de
Fornecedores
Disponveis no
Segmento
Selecionado
Coleta
1
>1
Seleciona automaticamente
o nico Fornecedor disponvel e pula para:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
185
Parmetro da Carga
Coleta
"0"
"1"
Tipo de coleta de
dados do Voucher
"2"
"3"
Valor Estado
TC_COLETA_VALOR (0xFC34) ou
TC_INFO_AGU_CONF_OP(0xFCFF)
Quantidade Estado
TC_COLETA_QUANTIDADE (0xFCD7)
Nmero do Voucher
Estado TC_COLETA_NRO_VOUCHER (0xFCA5)
No solicita Coleta de
Cliente Preferencial
Cliente preferencial
Parametrizao de Produtos
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
186
Confirmao
do
Valor
Assumido
por
Parametrizao
Estado
TC_INFO_AGU_CONF_OP (0xFCFF)
Para cada Fornecedor selecionado no Estado de Coleta TC_COLETA_FORNECEDOR_SAV
(0xFCD5) podem estar disponveis alguns Produtos. A lista de Produtos associada ao Fornecedor
selecionado, em passo anterior do fluxo de coleta, est descrita posteriormente neste documento
na seo Lista de Produtos.
Lista de Fornecedores
A lista de fornecedores pode ser retornada para a automao comercial no novo layout, como
descrito a seguir:
Num fluxo de Autorizao de Servios Voucher, recebendo o cdigo de coleta 64725
(TC_COLETA_FORNECEDOR_SAV), a aplicao dever obter a lista de fornecedores
disponveis, atravs da funo ScopeRecuperaBufTabela ().
Prottipo
LONG EXPORT ScopeRecuperaBufTabela (BYTE _TipoTabela,
char *Qtd,
char *ListaBuffer,
WORD TamLista)
Descrio
Parmetros
[out]
String
Qtd
[out]
String
ListaBuffer
[in]
WORD
TamLista
Retorno
Ver tabela de cdigo de retorno.
Parmetro TipoTabela:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
187
ID layout
Usar estrutura
Descrio
Fornecedores SAVS.
BUF_TAB_FORNECEDORE
stREGISTRO_FORNECED
Contm os campos,
S_SAVS (ID 1)
ORES_SAVS
conforme a especificao
do Autorizador Voucher.
Parmetro ListaBuffer:
A lista formada por registros stREGISTRO_FORNECEDORES_SAVS com os seguintes
campos:
Posio
Formato
Descrio
01 a 04
String
Cdigo do Fornecedor.
05 a 25
String
Nome do Fornecedor.
26 a 27
String
27 a 27
String
Exemplo
char sQtdFornec[3] = {0};
LONG lRet;
stREGISTRO_FORNECEDORES_SAVS lstFornecedores [20] = {0};
lRet = ScopeRecuperaBufTabela (BUF_TAB_FORNECEDORES_SAVS,
sQtdFornec,
(char*) lstFornecedores,
sizeof (lstFornecedores));
if (lRet == RCS_SUCESSO)
{
/* Sucesso no recebimento da lista de fornecedores,
os membros das estruturas estaro preenchidos */
}
else
// Erro ...
Lista de Produtos
A lista de produtos pode ser retornada para a automao comercial no novo layout, como descrito
a seguir:
Num
fluxo
de
Autorizao
de
Servios
Voucher,
recebendo
cdigo
de
coleta
Prottipo
LONG EXPORT ScopeRecuperaBufTabela (BYTE _TipoTabela,
char *Qtd,
char *ListaBuffer,
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
188
WORD TamLista)
Descrio
Parmetros
[out]
String
Qtd
[out]
String
ListaBuffer
[in]
WORD
TamLista
Retorno
Ver tabela de cdigo de retorno.
ID layout
Usar estrutura
Descrio
Produtos SAVS.
Contm os campos:
BUF_TAB_PRODUTOS_SAV
stREGISTRO_PRODUTOS
cdigo, descrio e
S (ID 2)
_SAVS
valores, conforme a
especificao do
Autorizador Voucher.
Parmetro ListaBuffer:
A lista formada por registros stREGISTRO_PRODUTOS_SAVS com os seguintes
campos:
Posio
Formato
Descrio
01 a 13
String
14 a 34
String
Descrio.
35 a 47
String
Valor mnimo
47 a 59
String
Valor mximo
59 a 71
String
Valor sugerido
Exemplo
char sQtdProd[3] = {0};
LONG lRet;
stREGISTRO_PRODUTOS_SAVS lstProdutos [50] = {0};
lRet = ScopeRecuperaBufTabela (BUF_TAB_PRODUTOS_SAVS,
sQtdProd, (char*) lstProdutos, sizeof (lstProdutos));
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
189
if (lRet == RCS_SUCESSO)
{
/* Sucesso no recebimento da lista de produtos,
os membros das estruturas estaro preenchidos */
}
else
// Erro ...
Requisitos
Para que esse tipo de transao seja aceito, o estabelecimento precisa estar trabalhando com
Cielo 4.1 R2014. O PINPad precisa ser no mnimo 1.08a com mdulo Contactless instalado e
firmware atualizado. Em caso de dvida, consulte o fabricante do PINPad para saber se seu
PINPad est ou no preparado para aceitar Contactless.
Na inicializao de tabelas do estabelecimento em questo, a Cielo precisa habilitar e enviar na
carga AIDs com Contctless habilitado.
O valor da transao precisa estar dentro da faixa permitida para Contactless, dado que tambm
configurado atravs da inicializao de tabelas. A carga no PINPad precisa estar atualizada com
pelo menos um AID do grupo da transao em questo (Crdito ou Dbito) com Contactless
habilitado.
Funcionamento
A habilitao ou no da leitora Contactless feita de forma automtica, conforme tpicos
descritos acima. No necessria nehuma configurao no SCOPE.
Quando ocorre erro na leitura sem contato, dependendo do tipo de erro ocorrido, a prxima
tentativa pode desabilitar a leitura sem contato, de forma a evitar que o PINPAd leia novamente
por aproximao quando na verdade, o portador do carto deveria inserir o chip ou passar a tarja.
A leitura sem contato tambm desabilitada automaticamente pelo PINPad quando o valor da
trasao for acima do limite permitido para Contactless.
Existem dois tipos de carto sem contato: Chip EMV Sem Contato e Tarja Sem Contato.
Transaes de Tarja Sem Contato so equivalentes a uma transao Magntica.
Transaes de Chip EMV Sem Contato so equivalentes a uma transao de Chip EMV.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
190
A leitura Sem Contato feita de forma nica, ou seja, somente necessrio aproximar o carto
do PINPad uma nica vez, mesmo quando se tratar do tipo Chip EMV Sem Contato.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
191
Apndice A Tabelas
_____________________________________________________________________________________________________
Cdigos de retorno
Coleta de dados
Estes cdigos sero retornados pela funo ScopeStatus() quando a aplicao optar pela coleta
dos dados atravs da funo ScopeSetAplColeta(). Estes cdigos informam para a aplicao de
PDV a ao a ser tomada. Como exemplo, coletar um dado, imprimir um cupom e/ou cheque, ou
at mesmo mostrar informaes no display do operador e/ou cliente aguardando a confirmao.
Cdigos Retorno
Hexa
Decimal
decimal
0xFC00
64512
0xFC01
64513
0xFC02
64514
0xFC03
64515
0xFC04
64516
0xFC05
64517
0xFC06
64518
0xFC07
64519
0xFC08
64520
0xFC09
64521
0xFC0A
64522
0xFC0B
0xFC0C
0xFC0D
0xFC0E
0xFC0F
0xFC10
0xFC11
0xFC12
0xFC13
0xFC14
0xFC15
0xFC16
0xFC17
0xFC18
0xFC19
0xFC1A
0xFC1B
0xFC1C
0xFC1D
0xFC1E
0xFC1F
0xFC20
0xFC21
0xFC22
64523
64524
64525
64526
64527
64528
64529
64530
64531
64532
64533
64534
64535
64536
64537
64538
64539
64540
64541
64542
64543
64544
64545
64546
Significado
Coletar carto
Coletar validade do carto
Imprime Cupom
Coletar CGC ou CPF
Coletar banco
Coletar agncia
Coletar nmero do cheque
Coletar data do cheque (bom para)
Imprime cheque
Coletar se a transao ser a vista ou no
Coletar se a transao ser parcelada pela administradora ou pelo
estabelecimento
Coletar se a transao ser pr-datada
Coletar se a parcela ser vista
Coletar quantidade de dias entre parcelas
Coletar quantidade de parcelas
Coletar o plano de financiamento
Coletar o dia e o ms (DDMM)
Coletar a senha
Coletar o controle do SCOPE
Coletar a forma de pagamento
Coletar data do primeiro vencimento
Coletar valor de entrada
Coletar a forma de entrada
Coletar conta corrente
Coletar ltimos dgitos do carto
Reimpresso de comprovante
Coletar se deseja consultar parcelas
Imprime consulta
Coletar deciso de continuar
Coletar decide ltimo
Coletar nmero de cheque CDC
Coletar quantidade de dias
Coletar o nmero da pr-autorizao
Coletar dia do ms fechado
Imprime nota promissria
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
192
Cdigos Retorno
Hexa
Decimal
decimal
0xFC23
64547
0xFC24
64548
0xFC25
64549
0xFC26
64550
0xFC27
64551
0xFC28
64552
0xFC29
64553
0xFC2A
64554
0xFC2B
64555
0xFC2C
64556
0xFC2D
64557
0xFC2E
64558
0xFC2F
64559
0xFC30
64560
0xFC31
64561
0xFC32
64562
0xFC33
64563
0xFC34
64564
0xFC35
64565
0xFC36
64566
0XFC37
64567
0xFC38
64568
0xFC39
64569
0xFC40
64576
0xFC41
64577
0xFC42
64578
0xFC43
64579
0xFC44
64580
0xFC45
64581
0xFC46
64582
0xFC47
64583
0xFC48
64584
0xFC49
64585
0xFC4A
64586
0xFC4B
64587
0xFC4C
64588
0xFC4D
64589
0xFC4E
64590
0xFC4F
64591
0xFC50
64592
0xFC51
64593
0xFC52
64594
0xFC53
64595
0xFC54
64596
0xFC55
64597
0xFC56
64598
0xFC57
64599
0xFC58
64600
0xFC59
64601
0xFC5A
64602
0xFC5B
64603
0xFC5C
64604
0xFC5D
64605
0xFC5E
64606
0xFC5F
64607
Significado
Coletar CEP
Coletar nmero do endereo
Coletar parte numrica do complemento
Coletar plano de pagamento (Fininvest)
Coletar ciclos a pular (Fininvest)
Coletar nmero do item (Fininvest)
Coletar cdigo de segurana
Coleta se cdigo de segurana ausente ou ilegvel
Coleta se com ou sem garantia de pr-datado
Coleta se aceita ou no risco
Coleta valor do saque
Coleta valor da recarga de celular pr-pago
Coleta cdigo da localidade do telefone
Coleta nmero do telefone
Coleta dgito verificador do telefone
Coleta data (formato DDMMAA)
Coleta valor da taxa de servio
Coleta valor
Coleta se quer realizar saque
Coleta se quer realizar simulao de saque
Coleta se quer saldo ou extrato
Coleta se quer o extrato resumido ou a segunda via
Coleta se consulta investimento ou resgate
Coleta se resgate avulso
Coleta data (formato DDMMAAAA)
Coleta o cdigo de autorizao PBMS
Coleta a lista de medicamentos
Retorna a lista de medicamentos
Exibir mensagem
Imprime cupom parcial
Coleta quantidade de parcelas e aceita 1 parcela
Coleta cdigo de barras
Coleta cdigo de consulta PBM
Coleta CRM mdico
Coleta cdigo UF CRM mdico
Coleta se cliente deseja aderir ao seguro (IBICred)
Coleta se pagamento com carto
Coleta dados especficos da rede Tokoro
Coleta se deseja pagar aps vencimento
Coleta se a transao com senha
Imprime cupom promocional
Coleta se utiliza saldo
Coleta cdigo do material
Coleta cdigo do plano
Coleta se o pagamento em cheque
Coleta se confirma transao
Coleta se o pagamento no rotativo
Coleta CMC7
Coleta se o pagamento em dinheiro ou TEF (carto)
Coleta o cdigo do grupo de servio (para a TEF Externa)
Coleta o cdigo da rede (para a TEF Externa)
Coleta o cdigo do estabelecimento (para a TEF Externa)
Coleta o NSU do Host (para TEF Externa)
Coleta data (ddmmaaaa) (para TEF Externa)
Coleta se consulta
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
193
Cdigos Retorno
Hexa
Decimal
decimal
0xFC60
64608
0xFC61
64609
0xFC62
64610
0xFC63
64611
0xFC64
64612
0xFC65
64613
0xFC66
64614
0xFC67
64615
0xFC68
64616
0xFC69
64617
0xFC6A
64618
0xFC6B
64619
0xFC6C
64620
0xFC6D
64621
0xFC6E
64622
0xFC6F
64623
0xFC70
64624
0xFC71
64625
0xFC72
64626
0xFC73
64627
0xFC74
64628
0xFC75
64629
0xFC76
64630
0xFC77
64631
0xFC78
64632
0xFC79
64633
0xFC7A
64634
0xFC7B
64635
0xFC7C
64636
0xFC7D
64637
0xFC7E
64638
0xFC7F
64639
0xFC80
64640
0xFC81
64641
0xFC82
64642
0xFC83
64643
0xFC84
64644
0xFC85
64645
0xFC86
64646
0xFC87
64647
0xFC88
64648
0xFC89
64649
0xFC8A
64650
0xFC8B
64651
0xFC8C
64652
0xFC8D
64653
0xFC8E
64654
0xFC8F
64655
0xFC90
0xFC91
0xFC92
0xFC93
0xFC94
0xFC95
64656
64657
64658
64659
64660
64661
Significado
Coleta se continua aps verificar a conta
Coleta o cdigo da bandeira
Coleta se conta da fatura
Coleta o valor total
Coleta RG
Coleta se deseja realizar novamente a transao (retentativa)
Coleta somente CPF
Coleta o endereo
Coleta o andar
Coleta o conjunto
Coleta o bloco
Coleta o bairro
Coleta a autorizao ou o carto
Coleta a data de emisso do carto
Coleta o plano Infocards
Coleta nmero do cupom fiscal
Coleta a operadora de recarga de celular pr-pago
Coleta dados SAB
Coleta o nmero do telefone com o dgito verificador
Coleta os dados transao forada SAB
Coleta o tipo de servio tcnico: baixa tcnica, teste comum ou estatstica
Coleta o nmero da OS
Coleta identificao do tcnico
Coleta o cdigo de ocorrncia
Coleta a EPS credenciada
Decide se coleta valor de entrada (no mais utilizado)
Decide se coleta valor da primeira parcela (no mais utilizado)
Coleta o valor da primeira parcela
Coleta os dados adicionais
Coleta se cancela ou no a transao
Go On Chip
Retira o carto
Coleta o valor da taxa de embarque
Exibe a mensagem de saldo
Exibir a mensagem e retorna o fluxo (no mais utilizado)
Exibir a mensagem aguarda confirmao do operador (no mais utilizado)
Obtm os servios
Coleta o carto digitado
Coleta o cdigo do produto
Exibe o menu
Coleta se INSS ou cheque
Coleta o contrato
Coleta a data quando o cliente aderiu ao carto
Exibir o valor da consulta Vale Gs
Coleta data da transao original no formato DDMMAA
Coleta o NSU da transao original (nmero de 6 dgitos)
Exibir os dados do cancelamento (no mais utilizado)
Coletar qual a via da reimpresso (0: todas as vias; 1: apenas da loja; 2:
apenas do cliente)
Coleta o DDD no PINPad
Coleta o nmero de telefone no PINPad
Coleta o nmero de telefone com o dgito verificador no PINPad
Coleta a redigitao da recarga no PINPad
Transao aprovada parcial
Coleta o valor das parcelas
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
194
Cdigos Retorno
Hexa
Decimal
decimal
0xFC96
64662
0xFC97
64663
0xFC98
64664
0xFC99
64665
0xFC9A
64666
0xFC9B
64667
0xFC9C
0xFC9D
64668
64669
0xFC9E
0xFC9F
0xFCA1
0xFCA2
0xFCA3
0xFCA4
0xFCA5
0xFCA6
0xFCA7
0xFCA8
0xFCA9
0xFCAA
0xFCAB
0XFCAC
0XFCAD
0XFCAE
0xFCAF
0xFCB0
0xFCB1
0xFCB2
0xFCB3
0xFCB4
0xFCB5
0xFCB6
0xFCB7
0xFCB8
64670
64671
64673
64674
64675
64676
64677
64678
64679
64680
64681
64682
64683
64684
64685
64686
64687
64688
64689
64690
64691
64692
64693
64694
64695
64696
0xFCB9
0xFCBA
0xFCBB
0xFCBC
0xFCBD
0xFCBE
0XFCC1
64697
64698
64699
64700
64701
64702
64705
0xFCC6
0xFCCA
0xFCCB
0xFCCC
0xFCCD
0xFCD4
0xFCD5
0xFCD6
0xFCD7
64710
64714
64715
64716
64717
64724
64725
64726
64727
Significado
Coleta se a primeira parcela para 30 ou 60 dias
Uso interno do SCOPE e no retornado para a aplicao
Uso interno do SCOPE e no retornado para a aplicao
Uso interno do SCOPE e no retornado para a aplicao
Coleta o Nmero do Carto (para a TEF Externa)
Coleta o cdigo de servio do posto (transao de convnio combustvel
Banrisul).
Coleta a matrcula (transao de convnio combustvel Banrisul)
Coleta a quantidade do servio (transao de convnio combustvel
Banrisul)
Coleta o hodmetro (transao de convnio combustvel Banrisul)
Coleta a placa do veculo (transao de convnio combustvel Banrisul)
Coleta o nmero do resgate de prmio
Opo de resgate de prmio selecionada
Solicitao a confirmao do resgate
Coleta o nmero do resgate prmio
Coleta o nmero do Voucher
Decide entre DARF e GPS
Decide entre DARF Preto e Simples
Coleta o cdigo de receita
Coleta o nmero de referncia
Coleta o valor juros
Coleta o CPF do portador
Coleta o CNPJ
Coleta o percentual
Coleta competncia
Coleta o nmero identificador
Coleta o valor INSS
Coleta a receita bruta
Coleta a opo do operador para continuar, alterar ou cancelar
Coleta o valor de acrscimo
Coleta o valor de deduo
Coleta redigitao do DDD
Coleta os 8 primeiros dgitos do carto no Pin Pad
Coleta os 8 dgitos finais do carto no Pin Pad
Coleta tipo da consulta (transao de Consulta Saldo Credito Infocards,
sendo: 1=Saldo, 2=Dados Cadastrais)
Confirma o nmero do carto digitado no Pin Pad
Coleta validao do saque
Coleta saque em andamento
Coleta DDD + Telefone no PIN Pad
Redigita DDD + Telefone no PIN Pad
Coleta dados ECF
Coleta opo de pagamento de carn para GetnetLAC no servio de
dbito a vista para bandeira ELECTRON (0=No para pagamento de
carn, 1=Sim para pagamento de carn).
Coletar dados carto presente
Coleta da Lista de Atualizao de Preos de Mercadorias
Coleta da Lista de Mercadorias Consumidas
Coleta de Hormetro
Coleta de Carto Magntico
Coleta de Segmento de Mercado
Coleta de Cdigo de Fornecedor de Produto ou Servio
Coleta de Cdigo de Produto, Cdigo de Servio ou Cdigo EAN
Coleta de Quantidade
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
195
Cdigos Retorno
Hexa
Decimal
decimal
0xFCD8
64728
0xFCD9
64729
0xFCDA
64730
0xFCFC
64764
0xFCFD
64765
0xFCFE
64766
0xFCFF
64767
Significado
Coleta de Confirmao de Cliente Preferencial
Coleta Ramo Principal Cielo Auto
Coleta Codigo de Mercadoria Cielo Auto
Coleta carto em andamento
Coleta em andamento
Mostrar informaes e retornar fluxo para o cliente SCOPE
Mostrar Informaes e aguardar confirmao do operador
Autorizadoras
Abaixo se encontram relacionados os cdigos devolvidos pelas redes autorizadoras na
mensagem 0210 e entregue para a aplicao atravs da funo ScopeStatus().
Cdigos Retorno
Hexadeci Decimal
mal
0x0000
0
0x0003
3
0x0006
6
0x0009
9
0x000C
12
0x000D
13
0x000E
14
0x000F
15
0x0013
19
0x001E
30
0x001F
31
0x0026
38
0x0029
41
0x002B
43
0x0033
51
0x0034
52
0x0036
54
0x0037
55
0x0038
56
0x0039
57
0x003C
60
0x003D
61
0x0041
65
0x004C
76
0x004D
77
0x004E
78
0x004F
79
0x0050
80
0x0051
81
0x0052
82
0x0053
83
0x0054
84
0x0055
85
0x0056
86
0x0059
89
Significado
Sucesso
Estabelecimento comercial invlido
Erro
Transao em andamento
Transao invlida
Valor da transao invlido
Carto invlido
Instituio no cadastrada
Refaa transao
Erro de formato
Instituio no pertence rede
Excedido o nmero de tentativas do PIN
Carto extraviado
Carto roubado
Saldo insuficiente
Conta corrente no cadastrada
Carto vencido
Senha incorreta
Carto sem registro
Transao no permitida a esse cliente
Entrar em contato com a instituio
Excedido o limite de saque
Excedida a frequncia de saque
Carto bloqueado
Pendente de confirmao
Transao cancelada
Transao no permitida neste ciclo
Transao inexistente
Transao estornada
Chave de criptografia invlida
Timeout
Logon / Desfazimento
Problema rede local
Transao desfeita
Mensagem enviada pelo Host
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
196
Cdigos Retorno
Hexadeci Decimal
mal
0x005A
90
0x005B
91
0x0100
256
0x0101
0x0102
0x0103
0x0104
0x0105
0x0106
0x0107
257
258
259
260
261
262
263
Significado
Fechamento contbil
Instituio temporariamente fora de operao
Retorno genrico para cdigos alfanumricos. Para obter o exato
cdigo alfanumrico retornado necessrio chamar a funo
ScopeObtemCampoExt() passando o bit equivalente ao cdigo de
resposta (ver Obtendo os campos).
Cliente com restrio na lista negra local
J consultou sob mesmo banco e agncia
J consultou sob banco e/ou agncia diferente(s)
Cdigo GAR no autorizado
Compre Saque Redecard aprovado parcial
Voucher Redecard aprovado parcial
Informao de transao aprovada com prmio
Cdigos Retorno
Hexadeci Decimal
mal
0xFA01
64001
0xFA02
64002
0xFA03
64003
0xFA04
64004
0xFA05
64005
0xFB01
64257
0xFB02
64258
0xFB03
64259
0xFB04
64260
0xFB05
64261
0xFB06
64262
0xFB07
64263
0xFB08
64264
0xFB09
64265
0xFB0A
64266
0xFB0B
64267
0xFE00
65024
0xFE01
65025
0xFE02
65026
0xFE03
65027
0xFE04
65028
0xFE05
65029
0xFE06
0xFE07
65030
65031
0xFE08
65032
Significado
Parmetro 1 invlido
Parmetro 2 invlido
Parmetro 3 invlido
Parmetro 4 invlido
Parmetro 5 invlido
No foi possvel criar a thread na coleta de dados
Erro na montagem do servio pela API
Erro ao verificar mensagem mensagem invlida
Erro ao montar mensagem
Erro no arquivo de controle da TEF
Erro no contexto do arquivo de TEF (no mais utilizado)
Erro na totalizao de TEF
Erro no arquivo de controle utilizado finalizao no ciclo multi-TEF
Estourou o nmero mximo de TEF numa sesso multi-TEF
No salvou a mensagem de confirmao para o SAB
No salvou a mensagem de desfazimento para o SAB
A transao em andamento a aplicao deve aguardar
SCOPE API no foi inicializada corretamente
SCOPE API j foi inicializada corretamente
Existe transao suspensa
No existe transao suspensa
API ainda no fez nenhuma transao aps a inicializao. A
aplicao est tentando obter um handle sem ter feito nenhuma
transao desde ltima conexo com o ScopeSRV
Logon duplicado
Protocolo no suportado SCOPE Client com verso de protocolo
superior ao SCOPE Server
POS no cadastrado
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
197
Cdigos Retorno
Hexadeci Decimal
mal
0xFE09
65033
0xFE0A
65034
0xFE0B
65035
0xFE0C
65036
0xFE0D
0xFF00
65037
65280
0xFF01
0xFF02
65281
65282
0xFF03
0xFF04
0xFF05
0xFF06
0xFF07
0xFF08
0xFF09
0xFF0A
0xFF0B
0xFF0C
0xFF0D
0xFF0E
0xFF0F
0xFF10
0xFF11
0xFF12
65283
65284
65285
65286
65287
65288
65289
65290
65291
65292
65293
65294
65295
65296
65297
65298
0xFF13
0xFF14
0xFF15
0xFF16
0xFF17
0xFF18
0xFF19
0xFF1A
0xFF1B
0xFF1C
0xFF1D
65299
65300
65301
65302
65303
65304
65305
65306
65307
65308
65309
0xFF1E
0xFF1F
0xFF20
0xFF21
0xFF22
0xFF23
0xFF24
0xFF25
0xFF26
0xFF27
65310
65311
65312
65313
65314
65315
65316
65317
65318
65319
Significado
Servidor no configurado no arquivo scope.ini
No h mais PDVs disponveis. Erro retornado quando a aplicao
passa o caractere # como PDV para que o SCOPE Server lhe d
um nmero de PDV vlido, mas no h mais PDVs disponveis
Protocolo incompatvel SCOPE Client com verso de protocolo
extremamente antigo (P00, P01 ou P02).
No pode mais desfazer uma transao que j iniciou o ciclo de
finalizao situao que pode ocorrer apos queda de energia ou na
inicializao da aplicao.
No h arquivo com dados da transao anterior salvo
ScopeSrv off-line ou o IP configurado no arquivo scope.ini est
apontando para a mquina errada
Instituio off-line
Transao cancelada pelo operador ou no caso de um estorno via
REDECARD: estorno fora do prazo permitido, validade no confere.
Servio ou BIN no configurado
Transao j foi cancelada
Transao no encontrada
Transao no permite cancelamento
Dados informados no conferem com a transao original
Erro no acesso ao banco de dados
Time-out no acesso ao banco de dados
Banco de dados off-line
Transao abortada pelo aplicativo
Transao no implementada
Handle invlido (ver Obtendo handle)
Taxa de servio invlida
Taxa de servio excede limite
Dado invlido
No existe cupom vlido
rea reservada para o buffer insuficiente para o SCOPE Client
preencher com os dados solicitados
Limite invlido inferior ao permitido
Transao desfeita
Digitao no permitida
Memria insuficiente
Service Code invlido
Data invlida
Carto vencido
Carto invlido
Desfazimento no disponvel
Erro na impresso do cupom
Sesso em andamento a transao solicitada deve ser nica numa
sesso de TEF, ou seja, no pode ser chamada se h transaes na
sesso de TEF atual
Transao j efetuada
Inserir chip do carto
Controle obrigatrio
Pr-autorizao obrigatria
Servio no configurado
Servio no definido
Nmero de parcelas invlidas
Valor invlido
Servio ou BIN no configurado para Visanet
Estado de coleta no definido
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
198
Cdigos Retorno
Hexadeci Decimal
mal
0xFF28
65320
0xFF29
65321
0xFF2A
65322
0xFF2B
65323
0xFF2C
65324
0xFF2D
65325
0xFF2E
65326
0xFF30
65328
0xFF31
65329
0xFF32
65330
0xFF33
65331
0xFF34
65332
0xFF35
65333
0xFF36
65334
0xFF37
65335
0xFF38
0xFF39
0xFF3A
0xFF3B
0xFF3C
0xFF3D
0xFF3E
0xFF3F
0xFF40
0xFF41
0xFF42
0xFF43
0xFF44
0xFF45
0xFF46
0xFF47
0xFF48
0xFF49
0xFF50
0xFF51
0xFF52
0xFF53
0xFF54
0xFF55
65336
65337
65338
65339
65340
65341
65342
65343
65344
65345
65346
65347
65348
65349
65350
65351
65352
65353
65360
65361
65362
65363
65364
65365
0xFF56
65366
0xFF57
65367
0xFF58
0xFF59
0xFF5A
0xFF5B
65368
65369
65370
65371
0xFF5C
65372
0xFF5D
0xFF5E
65373
65374
Significado
Operao no permitida
CNPJ/CPF invlido
Primeiro bloco do cdigo de barras est invlido
Segundo bloco do cdigo de barras est invlido
Terceiro bloco do cdigo de barras est invlido
Quarto bloco do cdigo de barras est invlido
Dados adicionais AID do chip do carto inexistente
Autorizador retornou dados invlidos
Conta no permitida
Conta vencida
No existe resumo
Cdigo de barra invlido
Erro na consistncia do DAC
Erro no envio da confirmao ou desfazimento da transao anterior
Servio invertido a aplicao est tentando fazer uma transao de
dbito com um carto de crdito ou vice-versa
Carto no permitido
Permitido somente a coleta do CPF consulta de cheque
Erro interno na execuo da coleta
Lista (de produtos, de medicamentos, etc.) no est disponvel.
Erro de leitura do carto
Controle invlido
Erro ao enviar mensagem para o servidor
Interface SAB no inicializada
Erro: dados ainda no disponveis (SAB)
Erro: dados indisponveis (SAB)
Servidor SAB off-line
Erro de conexo entre SCOPE e SAB
Erro no NSU recebido
Erro no logon do PDV
Erro no processamento do chip
Operadora invlida
Dados, da recarga de celular, no encontrados.
Transao cancelada pelo cliente
Transao aprovada off-line
Verso do banco de dados incompatvel
Cancelamento fora do prazo permitido
Mensagem invlida
PIN-Pad no foi aberto
PIN-Pad j foi aberto a aplicao abriu o PIN-Pad antes de conectar
ao ScopeSRV, mas no deveria ter-lo feito, pois no ScopeCNF est
configurado com uso exclusivo do SCOPE
Estado invlido a aplicao est tentando obter os servios
disponveis num estado de coleta inadequado
PIN-Pad compartilhado no est configurado, mas a rede exige que
seja compartilhado
PIN-Pad compartilhado no trabalha com a verso 2000 da VISA
Funo de uso exclusivo na interface coleta
rea insuficiente para os atributos do servio
O SCOPE est configurado para uso de PIN-Pad compartilhado, mas
a aplicao informou que est com o kit Visanet para PIN-Pad
O SCOPE no est configurado para uso de PIN-Pad compartilhado,
mas a aplicao informou que est com PIN-Pad compartilhado
Erro ao inicializar perifricos na interface HLAPI
Erro ao desmontar a estrutura ISO
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
199
Cdigos Retorno
Hexadeci Decimal
mal
0xFF5F
65375
0xFF60
65376
0xFF61
65377
0xFF62
65378
0xFF63
65379
0xFF64
65380
0xFF65
65381
0xFF66
65382
0xFF67
65383
0xFF68
65384
0xFF69
65385
0xFF6A
65386
0xFF6B
65387
0xFF6F
0xFFFF
-
65391
65535
-5000
-5001
-5002
-5003
-5004
-5005
Significado
Bandeira no est configurada
Funo indisponvel
Valor mnimo da parcela invlido
Valor da consulta Vale Gs ainda no est disponvel
Nmero de Telefone invlido
DDD invlido
Erro Rede Modelo 2
Erro Rede Modelo 3
Confirmao Positiva Inconsistente
Transao Offline Permitido apenas reimpresso offline
Contrato Suspenso
Transao permite somente digitado
No Encontrado (para quando no veio menu dinmico na carga de
tabelas).
Erro ao acessar arquivo de contexto da PBM.
Erro genrico
Erro desmontando o pacote recebido
No achou a Master Key referente
Ocorreu timeout do pacote
Erro configurando o registrador
Parmetro lib incorreto
Erro Leitura Cartao/Trilha
PIN-Pad compartilhado
Para alguns casos, o SCOPE poder retornar erros reportados pelo PIN-Pad compartilhado, cujos
cdigos se encontram descritos na tabela abaixo.
Cdigos Retorno
Hexadeci Decimal
mal
0x0000
0
0x0001
1
0x0002
2
0x0004
4
0x0005
5
0x0006
6
0x0007
7
0x0008
8
0x000A
10
0x000B
11
0x000C
12
0x000D
13
0x000E
14
0x000F
15
0x0010
16
0x0011
17
0x0012
18
0x0013
19
0x0014
20
0x0015
21
Significado
Operao OK
Operao em processamento
Notificar o operador com a mensagem recebida do PIN-Pad
Pressionada a tecla de funo #1
Pressionada a tecla de funo #2
Pressionada a tecla de funo #3
Pressionada a tecla de funo #4
Pressionada a tecla Limpar/Clear
Necessria operao previa
Parmetro invlido
Time-out esgotado o tempo de resposta
Operao cancelada
PIN-Pad j foi aberto
PIN-Pad no foi aberto
Erro interno de execuo
Funo no suportada
Funo no disponvel
Ausncia de dado mandatrio para o processamento.
Tabelas expiradas
Erro ao tentar gravar tabelas (falta de espao, por exemplo)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
200
Cdigos Retorno
Hexadeci Decimal
mal
0x0016
22
0x001E
30
0x001F
31
0x0020
0x0021
0x0022
32
33
34
0x0028
0x0029
0x002A
40
41
42
0x002B
0x002C
43
44
0x0032
0x0033
0x0034
0x003C
0x003D
0x003E
50
51
52
60
61
62
0x003F
63
0x0040
64
0x0041
0x0042
0x0043
65
66
67
0x0044
68
0x0045
69
0x0046
70
0x0047
71
0x0048
72
0x0049
73
0x004A
0x004B
0x004C
74
75
76
0x0050
80
Significado
Aplicao da rede adquirente no existe no PIN-Pad.
Erro de comunicao: porta serial do PIN-Pad provavelmente
ocupada.
Erro de comunicao: PIN-Pad provavelmente desconectado ou
problemas com a interface serial. Pode ser que a porta que est
passando como parmetro esteja errada.
Status informado pelo PIN-Pad no conhecido.
Mensagem recebida do PIN-Pad possui formato invlido.
Tempo esgotado ao esperar pela resposta do PIN-Pad (no caso de
comandos no-blocantes).
Erro interno do PIN-Pad.
Erro de leitura do carto magntico.
Erro na captura do PIN (senha) - Master Key pode no estar
presente.
No h carto inteligente presente no acoplador. Carto removido.
PIN-Pad no pode processar a captura de PIN temporariamente
devido a questes de segurana (como quando atingido o limite de
capturas dentro de um intervalo de tempo).
Erro genrico no mdulo SAM.
SAM ausente, "mudo", ou com erro de comunicao.
SAM invlido, desconhecido ou com problemas.
Carto no responde ("mudo") ou chip no presente.
Erro de comunicao do PIN-Pad com o carto inteligente.
Carto do tipo invlido ou desconhecido, no pode ser tratado (no
EMV nem TIBC v1).
Carto bloqueado por nmero excessivo de senhas incorretas
(somente para Easy-Entry TIBC v1).
Carto TIBC v1 no autenticado pelo mdulo SAM (somente para
Easy-Entry TIBC v1).
Carto TIBC v1 expirado (somente para Easy-Entry TIBC v1).
Carto com erro de estrutura - arquivos esto faltando.
Carto foi invalidado. Se o carto for TIBC v1, quando seleo de
arquivo ou ATR retornar status 6284. Se o carto for EMV, quando
seleo de aplicao retornar status 6A81.
Carto com problemas. Esse status vlido para muitas ocorrncias
no processamento de cartes TIBC v1 e EMV onde o carto no se
comporta conforme o esperado e a transao deve ser finalizada.
O carto, seja TIBC v1 ou EMV, comporta-se corretamente, porm
possui dados invlidos ou inconsistentes.
Carto sem nenhuma aplicao disponvel para as condies pedidas
(ou carto reconhecido como TIBC v1 ou EMV, mas no possui
nenhuma aplicao compatvel com a requerida).
Somente para carto EMV. A aplicao selecionada no pode ser
utilizada neste terminal, pois o Get Processing Options retornou
status 6985.
Somente para aplicao de moedeiro. O saldo do moedeiro
insuficiente para a operao.
Somente para aplicao de moedeiro. O limite mximo para a
operao foi excedido.
Carto ainda no efetivo (data de ativao posterior atual)
Moeda invlida (carto moedeiro)
Erro de alto nvel no carto EMV que passvel de
fallback para tarja magntica.
Mais de um carto sem contato foi apresentado ao leitor (este cdigo
de retorno opcional e depende da capacidade do equipamento em
detectar esta situao).
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
201
Cdigos Retorno
Hexadeci Decimal
mal
0x0051
81
0x0052
0x0053
82
83
0x0054
84
0x0055
85
0x00C8
0x00C9
0x00CA
0x00CB
0x00CC
0x00CD
0x00CE
0x00CF
0x00D0
0x00D1
0x00D2
0x00D3
0x00D4
0x00D5
0x00D6
0X00D7
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
Significado
Erro de comunicao entre o terminal (antena) e o carto com chip
sem contato.
Carto foi invalidado (seleo de aplicao retornou status 6A81).
Carto com problemas. Esse status vlido para muitas ocorrncias
no processamento de cartes sem contato em que o carto no se
comporta conforme o esperado e a transao deve ser finalizada.
Carto sem nenhuma aplicao disponvel para as condies pedidas
(nenhum AID encontrado).
A aplicao selecionada no pode ser utilizada (o Get Processing
Options retornou status 6985 ou houve erro no comando Select
final), e no h outra aplicao compatvel na lista de candidatas.
Transao negada na funo PP_GoOnChip()
Transao negada na funo PP_GoOnChip()
Memria no alocada para a estrutura do PIN-Pad compartilhado
Erro alocando memria
Memria insuficiente para receber os dados
PIN-Pad j aberto via SCOPE
No foi possvel definir a Master Key a ser utilizada
No foi possvel definir o Estado de coleta no PIN-Pad
Erro no parmetro da funo GetPIN
PIN-Pad no configurado
Display no permitido neste momento ou situao
PIN-Pad no foi aberto pela aplicao
Time-out do cliente / usurio
Dado no chip no encontrado
Comanda Vazia
Comanda Invlida
Cdigo de Retorno
Descrio
(Decimal)
00
Sucesso
01
Rede Offline
02
Erro na consulta ao BD
03
Timeout na consulta ao BD
04
BD no conectado
05
Transao no localizada no BD
06
07
PDV j logado
08
PDV no cadastrado
09
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
202
10
11
Digitao no permitida
12
Protocolo no suportado
13
No h PDVs disponveis
14
Protocolo incompatvel
15
16
17
Conta no permitida
18
19
20
21
Dados no encontrados
22
23
24
Verso do BD incompatvel
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Estorno j realizado
39
Cupom no encontrado
40
41
Contrato suspenso
42
Carto invlido
43
Modo invlido
44
Leitor inativo
45
46
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
203
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Significado
String representando uma data no formato DDMMAA
String representando uma data no formato DDMM
String representando uma data no formato MMAA
String representando uma hora no formato HHMMSS
String representando um nmero
String representando uma senha que numrica
String representando um nmero com 4 dgitos
String representando um dado alfanumrico
String representando uma data no formato DDMMAAAA
204
Cdigos Formato
Significado
Hexadeci Decimal
mal
0x0001
01
Tecla cancela habilitada
0x0002
02
Tecla prximo habilitada
0x0004
04
Tecla retorna habilitada
Ele dever ser verificado a cada iterao, logo aps a chamada funo (ver Obtendo os
parmetros da transao)
Cdigos de Fluxo
Num determinado momento, coletado o dado ou no, a aplicao dever informar ao SCOPE qual
ao que ele dever tomar (ver Passando o dado da coleta ao SCOPE Client). Esta ao est
associada s opes que o usurio pode tomar: avanar para o prximo estado, retornar para o
estado anterior ou cancelar a transao. Cada ao tem um cdigo amarrado a ela que se
encontra na tabela que segue.
Cdigos Formato
Hexadeci Decimal
mal
0x0000
00
0x0001
01
0x0002
02
0x0003
03
Significado
Prximo estado
Estado anterior
Cancelar
Erro na coleta de dados
Exit Point
Coleta do carto
Coleta da data de validade do carto
Montagem e envio da mensagem
Exibio de mensagens de no autorizao
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
205
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
33
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Impresso do cupom
Recuperao dos servios vlidos
Coleta de CPF ou CGC
Resultado com transao cancelada
Resultado com transao autorizada
Coleta do nmero do banco
Coleta do nmero da agncia
Coleta do nmero do cheque
Coleta da data para depsito
Impresso de cheque
Escolha de pagamento vista
Escolha do plano de parcelamento da administradora de carto ou da loja
Escolha de pr-datado
Escolha de parcela vista
Coleta do intervalo de datas entre parcelas
Coleta de quantidade de parcelas
Decidindo o plano de financiamento
Coleta de nmero de dias ou da data de dbito
Decide se coleta a senha
Coleta de senha
Carrega da bandeira
Desfazimento de transao
Recuperao de dados de transao
Coleta o nmero de controle
Consistncia dos dados originais da transao (cancelamento)
Consistncia do carto
Montagem e envio da mensagem de pr-autorizao
Escolha da forma de pagamento (1 - cheque, 2 carn, 4 - C/C)
Coleta do valor da entrada (Valor Entrada ?)
Coleta do cheque da parcela ("Num Cheque Entrada ?" ou "Num Cheque Parcela ?)
Coleta do nmero da conta-corrente do cheque (Conta Corrente ?)
Encerramento da transao abortada
Decide se deve coletar os 4 ltimos dgitos
Coleta os ltimos 4 dgitos do carto
Verificao do carto e do servio localmente
Decide se a ltima transao
Recuperao do comprovante
Decide se consulta parcelas
Consulta de parcelas
Impresso de consulta
Decide de continua a transao
Exibe mensagem de erro
Exibe autorizado
Decide se coleta vista
Decide se coleta o tipo de financiamento ou a quantidade de parcelas
Decide se pr-datado ou parcelado
Decide se coleta se a parcela vista
Coleta carto para resumo de vendas
Decide se continua ou termina
Exibe continua
Exibe fim
Coleta o nmero do cheque de entrada
Decide se imprime cheque
Coleta a quantidade de dias
Coleta a quantidade de dias para a primeira parcela
Coleta a data para a primeira parcela
Carrega os atributos para pr-datado
Carrega os atributos de parcela com a primeira vista
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
206
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
116
117
118
119
120
121
122
123
124
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
207
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
208
183
184
185
186
187
188
189
190
191
194
195
196
197
198
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
209
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
314
315
316
317
318
319
320
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
210
339
340
357
358
359
360
361
362
363
364
365
366
368
369
370
371
372
373
374
Significado
SCOPE
Tecban
Ita
Visanet especificao 2000.01
Bradesco
Redecard
Fininvest
Serasa
Teledata
Banrisul
Ticket
Associao Comercial de So Paulo - ACSP
BrasilCard (Antiga CNS)
Sysdata
Redecard especificao L0102
Visanet especificao 1998.10
CBD
Lojista
CSU
Parati
Bem
Tokor
MaxiCred
Zogbi
ACC Card
Sorocred
Coopercred
Telesp
Policard
Via Varejo
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Cdigo SAT
Decimal
999
31
999
999
999
25
999
999
999
999
32
999
999
999
25
999
999
999
999
999
999
999
999
999
999
30
999
999
23
999
211
Cdigos Rede
Decimal
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
Significado
SAB
E-Pharma
Vidalink
PrevSade
Hipercard
Interchange
Tecban especificao 2.0
Nutricash
Losango
GoodCard
Cetelem
Bnus
American Express (AMEX) especificao 01
Banco do Brasil GCB
Sonae
Incomm (reutilizao do cdigo da rede BankBoston)
Portal Card
Valecard
Telenet
Evanglico
Funcional Card
Ediguay
CheckCheck
Banktec
Big
Big Card
SuperCard
Banese
TR Centre
TRN Card
Infocards
Valecash
Premium
CredSystem
Redecard especificao L02.05
E-Capture
Check Express
Conductor
ChequePre
Visanet 4.1
American Express especificao 03.00
ECX Card
Ultragaz
GetNet
CentralCard
Orbitall
Recarga de Celular especificao Itautec
IBI
DATASUS
Comprocard
Framaseg
Intellisys
Somar
Solucard
Obo
Da Casa
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Cdigo SAT
Decimal
999
999
999
999
19
999
31
999
999
999
11
999
3
999
999
999
999
999
999
999
18
999
999
999
999
8
999
999
999
999
999
999
999
999
25
999
999
999
999
999
3
14
999
999
999
999
999
999
999
999
999
999
999
999
999
999
212
Cdigos Rede
Decimal
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
102
103
104
105
109
112
113
114
116
117
118
121
123
124
125
126
127
128
129
133
134
Significado
Valeshop
Fidelize
UtilCard
RV Tec
GW Cel
U-Paid
Redecard especificao L0401
Banpar
Neus
CredShop
Banco HSBC
Banco do Brasil ISO-GCB
Pharma Link
Banrisul EMV
Banestes
Cielo
Redecard especificao L05.00
Diamante
RedeSoftnex
Usecred
DMCARD
Siscred
Epay
Orgcard
SAVS
TENDENCIA
RVTECNOLOGIA
GIVEX
CREDITEM
FOXWIN
BIN
TOPCARD
ELAVON
VR
PBM PADRAO
CONDUCTOR-PL especificao V02.05
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
Cdigo SAT
Decimal
999
999
999
999
999
999
25
999
999
999
999
999
999
999
999
12
25
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
999
31
999
999
213
118
Cdigo
Especificao
1
2
1
2
1
2
1
2
2
1
2
1
2
0
1
1
2
3
1
2
Significado
SYSDATA
CHECKEXPRESS
GETNET-6.0
IBI
RVTEC
GWCEL
UPAID
CIELO
REDECARD
TENDENCIA
V1.XX
V2.00
V1.XX
V2.00
V01.00
V02.00
V1.XX
XSAB 1.28a
V2.00
V0003
V0005
V1.XX
V2.00
4.1.0
4.1R2014
V5.00
V5.01
V5.02
V1.XX
V2.00
Significado
SCOPE
Visa
Mastercard
Amex
Lojista
Dinners
Sollo
Cheque Eletrnico
Mastercard Maestro (conhecido tambm como Redeshop)
Ita
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
214
Cdigos Bandeira
Hexadeci Decimal
mal
0x000A
010
0x000B
011
0x000C
012
0x000D
013
0x000E
014
0x000F
015
0x0010
016
0x0011
017
0x0012
018
0x0013
019
0x0014
020
0x0015
021
0x0016
022
0x0017
0x0018
0x0019
0x001A
0x001B
0x001C
0x001D
0x001E
0x001F
0x0020
0x0021
0x0022
0x0023
0x0024
0x0025
0x0026
0x0027
0x0028
0x0029
0x002A
0x002B
0x002C
0x002D
0x002E
0x002F
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
0x0030
0x0031
0x0032
0x0033
0x0034
0x0035
0x0036
0x0037
0x0038
0x0039
0x003A
0x003B
0x003C
0x003D
0x003E
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
Significado
Bradesco
Fidelidade
Serasa
Telecheque
Sodexo Alimentacao
BrasilCard (antiga RVA)
Ticket Alimentao
Hipercard
CardCo (antiga CNS)
MaxiCred
Banrisul
Visa Electron
Redecard (bandeira para operaes internas, independentes de
carto. Exemplo: Resumo de Vendas)
JCB
Quality Card
Unnisa
Fininvest
Multi-Cheque
VR (carto voucher da CSU)
TransCheck
TecBan (bandeira genrica para servios TECBAN)
ACC Card
Sorocred
Parati
BEM - Banco do Estado do Maranho
Tokoro
Zogbi
TopPremium
Carrefour (carto voucher da CooperCred)
Rainbow (carto voucher da TecBan)
Telesp Celular
Policard
Via Financeira
IBI
e-Pharma (PBM)
Vidalink (PBM)
PrevSaude (PBM)
e-Pharma balco (solicitao de autorizao via conexo direta com
ScopeGW.)
Aura
Correspondente bancrio Unibanco
Correspondente bancrio Citibank
Recebimento Fininvest
Multi-Benefcios
VA Eletrnico (carto alimentao)
Valetik
Losango
Goodcard
FIC
Banestik (carto voucher da TecBan)
Cabal
TMS
Bonus (carto voucher)
Visa Vale
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
215
Cdigos Bandeira
Hexadeci Decimal
mal
0x003F
063
0x0040
064
0x0041
065
0x0042
066
0x0043
067
0x0044
068
0x0045
069
0x0046
070
0x0047
071
0x0048
072
0x0049
073
0x004A
074
0x004B
075
0x004C
076
0x004D
077
0x004E
078
0x004F
079
0x0050
080
0x0051
081
0x0052
082
0x0053
083
0x0054
084
0x0055
085
0x0056
086
0x0057
087
0x0058
088
0x0059
089
0x005A
090
0x005B
091
0x005C
092
0x005D
093
0x005E
094
0x005F
095
0x0060
096
0x0061
097
0x0062
098
0x0063
099
0x0064
100
0x0065
101
0x0066
102
0x0067
103
0x0068
104
0x0069
105
0x006A
106
0x006B
107
0x006C
108
0x006D
109
0x006E
110
0x006F
111
0x0070
112
0x0071
113
0x0072
114
0x0073
115
0x0074
116
0x0075
117
Significado
Correspondente bancrio Banco do Brasil
Colaborador (carto de crdito do SONAE)
Incomm (reutilizao do cdigo da bandeira CB-BankBoston)
Portal Card
Vale Card
Personal Card
Green Card (no mais utilizada)
AsCard
Evangelico
Funcional card (PBM)
ACSP - Associao Comercial de So Paulo
ExtraBom/ABN
Ediguay
GoodMed (PBM)
Bnus Eletrnico (carto voucher do SONAE)
RefeiSul
Multi-Alimentao
Multi-Cheque (Novo)
CheckCheck
EcxCard
BigCard
SuperCard
Banese - Banco do Estado de Sergipe
Novartis (PBM)
FlexMed (PBM)
TrnCentre - Transaction Centre
InfoCards
BaseCard
SysData
Correspondente bancrio Bradesco
Ticket Restaurante
ValeCash
BankCard
MedCheque
Premium (carto de crdito do SONAE)
Vale Gs
Datasus (PBM)
BankTec
PoupCard
ChequePre
Banquet (carto voucher alimentao)
Private Label da Redecard
Cielo
Rancho Convnio - PortalCard
Rancho Alimentao - PortalCard
PlanVale
IBICard
IBI PL,
Pague-Conta Visanet
Carto Fcil (EPA)
Carto Fcil Losango (EPA)
CPF - IBI PL deposito CDB
ComproCard
FarmaSeg (PBM)
Unik
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
216
Cdigos Bandeira
Hexadeci Decimal
mal
0x0076
118
0x0077
119
0x0078
120
0x0079
121
0x007A
122
0x007B
123
0x007C
124
0x007D
125
0x007E
126
0x007F
127
0x0080
128
0x0081
129
0x0082
130
0x0083
131
0x0084
132
0x0085
133
0x0086
134
0x0087
135
0x0088
136
0x0089
137
0x008A
138
0x008B
139
0x008C
140
0x008D
141
0x008E
142
0x008F
143
0x0090
144
0x0091
145
0x0092
146
0x0093
147
0x0094
148
0x0095
149
0x0096
150
0x0097
151
0x0098
152
0x0099
153
0x009A
154
0x009B
155
0x009C
156
0x009D
157
0x009E
158
0x009F
159
0x00A0
160
0x00A1
161
0x00A2
162
0x00A3
163
0x00A4
164
0x00A5
165
0x00A6
166
0x00A7
167
0x00A8
168
0x00A9
169
0x00AA
170
0x00AB
171
0x00AC
172
Significado
Verde Card
Rossi
Somar
Solucard
Banquet Smart
VEGAS CARD SENHA
Planvale Redecard
Obo Card
DaCasa
CABAL Vale (TECBAN e GETNET 6.0)
CABAL Dbito (TECBAN e GETNET 6.0)
BRTelecom Telefonia FIXA
Brasil Telecom
GoodVale (GETNET 6.0 Voucher)
RedeSoftnex Com senha
PratiCard
PrestaServ
Safra Amanco
SimCred
Premiao SONAE
Presente SONAE
ValeShop
PREZUNIC
FAI/Orbital
ConvCard
Operadora Claro
Operadora OI
Operadora TIM
Operadora Telemig
Operadora Amaznia Celular
Operadora Embratel
Operadora Telefonica
Operadora TELEMAR
Operadora CTBC-Celular
Operadora CTBC Fixo
Operadora SERCOMTEL Celular
Operadora SERCOMTEL Fixo
Operadora Telefonica Famlia
Operadora NEXTEL
Operadora VIVO
Carto Parcele Mais (REDECARD L0401)
BANPARA
NEUS
BANCRED SENHA
Credi-Shop
Sapore
CB-HSBC
Verocheque
Getnet
Pharmalink PBM
Aura FNAC
Aura BERGAMAIS
Com Voc
BANESCARD
Nokia
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
217
Cdigos Bandeira
Hexadeci Decimal
mal
0x00AD
173
0x00B0
176
0x00B1
177
0x00B2
178
0x00B3
179
0x00B4
180
0x00B5
181
0x00B6
182
0x00B7
183
0x00B9
185
0x00BA
186
0x00BB
187
0x00BC
188
0x00BD
189
0x00BE
190
0x00BF
191
0x00C0
192
0x00C2
194
0x00C3
195
0x00C4
196
0x00C7
199
0x00C8
200
0x00C9
201
0x00CA
202
0x00CB
203
0x00CC
204
0x00CF
207
0x00D0
208
0x00D1
209
0x00D2
210
0x00D3
211
0x00D4
212
0x00D5
213
0x00D6
214
0x00D7
215
0x00D8
216
0x00D9
217
0x00DA
218
0x00DB
219
0x00DC
220
0x00DD
221
0x00E0
224
0x00E1
225
0x00E2
226
0x00E4
228
0x00E5
229
0x00E6
230
0x00E9
233
0X00F1
241
0x00F2
242
0x00F4
244
0x00F5
245
0x00F8
248
0x00FA
250
0x00FB
251
Significado
Fala Fcil (Nexus)
BRASIL CONVENIOS
AMCARD
Rede MED
GPA
PAT sem senha
PAT com senha
FAN CARD
BANRICOMPRAS
Banrisul - Refeisul Alimentao / Refeio
Banrisul - Refeisul Combustvel
TIM ON-LINE
BNB Clube
NEUS Senha
Diamante
MinasCred
Nutricash
ELO Debito
ELO Credito
Goodcard Senha
USECRED sem senha
USECRED com senha
SOROCRED Crdito
SICREDI Crdito
SICREDI Dbito
BrasilCard com senha
PL GETNET VISA
DMCARD
PLANVALE com senha
SISCRED sem senha
SISCRED com senha
DMCARD com senha
RedeSoftnex Convnio
RedeSoftnex
Claro Off-line
Oi Fixa
Oi Off-line
Vivo off-line
Telesp Super 15
Embratel Livre Online
Epay
Orgcard dbito
Orgcard crdito
Orgcard crdito DV,CS
Ticket Car
PL GETNET MASTER
SAVS
POLICARD SENHA
GIVEX
CREDITEM SENHA
MURY
ABRAPETITE
Sodexo Refeicao
TOPCARD com senha
TOPCARD sem senha
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
218
Cdigos Bandeira
Hexadeci Decimal
mal
0x00FC
252
0x00FD
253
0x00FE
254
0x00FF
255
0x0100
256
0x0101
257
0x0102
258
0x0103
259
0x0104
260
0x0105
261
0x0106
262
0x0107
263
0x0108
264
0x0109
265
0x010A
266
0x010B
267
0x010C
268
0x010D
269
0x0112
274
0x0116
278
0x0125
293
0x0126
294
Significado
Elavon
VR ALIMENTACAO
VR AUTO
VR CULTURA
VR REFEICAO
MULTIBENEFICIO
MULTIALIMENTACAO BEN
MULTICESTABASICA
CARTAO MAMAE
MULTICASH
CARTAO BRINQUEDO
CARTAO NATAL
MULTICHEQUE BEN
MULTIEMPRESARIAL
MULTICOMBUSTIVEL
MULTICULTURA
MULTIFARMA
MULTIREFEICAO
FORTBRASIL
ELO AUTO
BAHAMAS CRDITO
BAHAMAS ALIMENTAO
Mscara 1
CAMPO DE DADOS
PAN Personal Account Number (nmero do carto)
Valor da transao
NSU (Nmero Sequencial nico) da transao
Hora local da transao
Data local da transao
Data de validade do carto
Data contbil da transao
Nmero do cheque
Cdigo de autorizao
Cdigo de resposta
Identificao do terminal
Cdigo do estabelecimento (contrato)
Nmero de parcelas
Taxa de servio (gorjeta)
NSU do Host
Nmero do banco
Nmero da agncia
Data de agendamento
Cdigo da bandeira
Cdigo do Servio (*)
Contedo do BIT 62
Nmero do controle
Cdigo de rede
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
VALOR DO BIT
0x00000001
0x00000002
0x00000004
0x00000008
0x00000010
0x00000020
0x00000040
0x00000080
0x00000100
0x00000200
0x00000400
0x00000800
0x00001000
0x00002000
0x00004000
0x00008000
0x00010000
0x00020000
0x00040000
0x00080000
0x00100000
0x00200000
0x00400000
219
Mscara 2
Mscara 3
Nome da bandeira
Nome da Rede
Trilha 02 do carto
Nmero de notas promissrias
Cdigo de estabelecimento Visanet
Cdigo CMC7
CGC do convnio PBMS
Mensagem de autenticao do cheque
Saldo disponvel (carto convnio)
NSU da transao original
Cliente aderente ao seguro (IBICred)
Dados do parcelado da rede Cetelem
Data do movimento (Interchange, BBGCB)
Nome do cedente ou empresa de convnio (Interchange,
BBGCB)
Lista das formas de pagamento em TEF permitidas
(Interchange)
Linha de autenticao (Interchange Fininvest)
Dados da consulta de fatura (Interchange Fininvest) (Vide
ScopeApi.h)
Formas de financiamento (A: Administradora E:
Estabelecimento)
Cdigo especfico da consulta AVS
Pontos adquiridos ou resgatados
Fator de compra
NSU do Host da transao original (estornada)
Identificao do cliente PBM junto autorizadora (apenas
Vidalink)
Cdigo da operadora de celular
Cdigo de rea (DDD)
Nmero do telefone
ULTRAGAZ: dados do ValeGs
Cdigo IF (Instituio Financeira)
Nmero do item da Fininvest ou Cetelem, ou nmero do
contrato (CPCHEQUE/INSS) do IBI
Valor da taxa de embarque
Uso exclusivo do SONAE
Informao contida no bit 124 - CDC Orbitall
Cdigo de servio da transao original (estorno)
Cdigo de barras
Permite desfazimento
Logo do PAN
Cdigo da Empresa
Cdigo de Autenticao
Dados do pagamento
UsoRes_63
Nmero do PDV
Informaes sobre a quantidade e os e-cupons disponveis ao
cliente
Informao do desconto do resgate monetrio
Informaes sobre a coleta de dados realizada na transao
(BIT 48).
Modo de Entrada (Entry Mode)
Valor do Saque
Resposta da consulta Infocards (bit 62 da 0110)
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
0x00800000
0x01000000
0x02000000
0x04000000
0x08000000
0x10000000
0x20000000
0x40000000
0x80000000
0x00000001
0x00000002
0x00000004
0x00000008
0x00000010
0x00000020
0x00000040
0x00000080
0x00000100
0x00000200
0x00000400
0x00000800
0x00001000
0x00002000
0x00004000
0x00008000
0x00010000
0x00020000
0x00040000
0x00080000
0x00100000
0x00200000
0x00400000
0x00800000
0x01000000
0x02000000
0x04000000
0x08000000
0x10000000
0x20000000
0x40000000
0x80000000
0x00000001
0x00000002
0x00000004
0x00000008
0x00000010
0x00000020
220
0x00000040
SAVS
CNPJ da rede credenciadora - SAT
0x00000100
0x00000200
0x00000400
0x00002000
Grupo de Servios
Nesta tabela encontram-se os grupos de servios que o SCOPE trabalha.
Cdigos Bandeira
Hexadeci
Decimal
mal
0x0001
001
0x0002
002
0x0003
003
0x0004
004
0x0005
005
0x0006
006
0x0007
007
0x0008
008
0x0009
009
0x000A
010
0x000C
012
0x000E
014
0x000F
015
0x0010
016
0x0011
017
0x0012
018
0x0013
019
0x0014
020
0x0017
023
Significado
Carto de dbito
Carto de crdito
Consulta a cheques
Controle SCOPE/Autorizador
Controle API/Server
PAT
CDC
Garantia de desconto de cheques
Resumo de vendas
IATA para companhias areas
Reimpresso de comprovante
Fidelidade
Recarga de celular
Transao financeira
Investimento
Medicamento
Pagamento de conta
Tcnico
Administrativo
Descrio
Compra com carto de dbito vista
Compra com carto de crdito vista
Pr-Autorizao com carto de crdito
Consulta de cheques a vista
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
221
018
020
021
022
023
024
027
028
031
032
034
035
036
037
039
040
041
042
043
044
045
047
048
050
051
056
058
059
060
061
062
063
064
065
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
222
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
118
121
122
123
124
125
126
127
128
133
134
136
142
Convnios
As transaes relacionadas s transaes de PBM exigem o cdigo das redes, as quais so
listadas abaixo.
Cdigos do Convnio
Hexadeci
Decimal
mal
0x0001
0001
0x0002
0002
0x0003
0003
0x0004
0004
0x0005
0005
0x0006
0006
0x0007
0007
0x0008
0008
0x0009
0009
Significado
E-Pharma
Vidalink
PrevSaude
Funcional Card
GoodCard
Novartis
FlexMed
DataSUS
FarmaSeg
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
223
Cdigos do Convnio
Hexadeci
Decimal
mal
0x000A
0010
0x000B
0011
Significado
Pharmalink
PBM Padro
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
224
Adequao
Para suportar a Visanet 4.1, os PIN-Pads tero seu firmware atualizado. Os PIN-Pads atualizados
so denominados PIN-Pads compartilhados. Este novo firmware compatvel com as verses
atuais, ou seja, tambm suporta as funes antigas de acesso ao PIN-Pads realizada pela
biblioteca PPVISA da Visanet, e que eram utilizadas pelas aplicaes de PDV. No entanto,
quando o SCOPE estiver configurado para trabalhar com o PIN-Pads compartilhado, o acesso ao
PIN-Pads ser feito pelo SCOPE e no mais pelas aplicaes de PDV.
Abaixo seguem algumas funcionalidades da Visanet 4.1 que exigiro adequao por parte da
aplicao de PDV:
SCOPE
solicitar
valor
do
saque
atravs
do
estado
TC_COLETA_VALOR_SAQUE (0xFC2D).
O cancelamento de venda pode ser feito quando ocorrerem erros na digitao (valor, data
de agenda, nmero de parcelas etc.) ou desistncia da compra por parte do cliente,
sendo necessrio informar os dados da transao original a ser cancelada.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
225
Consulta CDC. Consulta direta ao banco emissor, possibilita o acesso a taxas aplicadas
no momento da inteno de compra.
Certificao
Uma vez que a aplicao de PDV cumpra as adequaes mencionadas anteriormente, ela deve
ser certificada pela Visanet.
A certificao deve ser agendada com a Itautec S.A., atravs do e-mail apoioscope@itautec.com,
e consiste em:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
226
IMPORTANTE: Este tpico deve ser considerado apenas pela automao que utiliza a
interface coleta do SCOPE.
Abaixo segue alguns aspectos para integrao com SCOPE na interface coleta:
O SCOPE ser responsvel por toda a interao com o PIN-Pad Compartilhado num
processo de TEF;
TC_CARTAO
TC_COLETA_AUT_OU_CARTAO
TC_SENHA
TC_DECISAO_CONT
Para a aplicao de PDV cancelar uma leitura de carto no PIN-Pad e realizar uma
transao digitada, nos casos permitidos, sero oferecidas as seguintes opes:
o
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
227
No arquivo scope.ini poder ser desabilitado as opes acima - digitao do carto (ver
Sesso [PPCOMP]). Opcionalmente, a aplicao de PDV tambm poder utilizar a funo
ScopeConfigura para o mesmo fim.
SCOPE
tambm
disponibilizar
funo
ScopeValidaInterfacePP
que
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
228
MS-WINDOWS
Para a maioria dos ambientes de programao, as bibliotecas necessrias para a execuo do
CMC7.DLL
COMVERIFONE.DLL
CSMSG.DLL
ECF4000.DLL
ECNF.DLL
PINPAD.DLL
PPDIOW32.DLL
PPGERW32.DLL
PPINGW32.DLL
PPSLBW32.DLL
PPVFNW32.DLL
PPW32.DLL
SCOPEAPI.DLL
SCOPECLT.DLL
SCOPECNX.DLL
SCOPECOM.DLL
SCOPEECF.DLL
SCOPEISO.DLL
SCOPELIB.DLL
SCOPEPRF.DLL
SCOPEREG.DLL
SCOPETCP.DLL
scope.ini
Linguagem Java
Aplicativos de PDV escritos em Java, alm das bibliotecas citadas acima, tambm precisam das
seguintes:
PINPADJAVA.DLL
PINPADJAVA.JAR
SCOPEJAVA.DLL
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
229
SCOPEJAVA.JAR
Linux
Os ambientes executados no sistema operacional Linux precisam das seguintes bibliotecas:
libScopeApi.so
libScopeCom.so
libScopeSerial.so
libSenha.so
scope.ini
Linguagem Java
Como acontece em MS-Windows , o aplicativo de PDV escrito em Java tambm precisa das
seguintes bibliotecas:
libPinpadJava.so
pinpadjava.jar
libScopeJava.so
scopejava.jar
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
230
Antes de atualizar o SCOPE Client ou reportar um problema para a Itautec S.A. muitas vezes
necessria no s a verificao da verso do SCOPE Server, mas tambm do SCOPE Client.
Abaixo exibimos as diversas formas de verificar a verso do SCOPE Client.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
231
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
232
libScopeApi.so.<a>.<bbb><cc>.<dd>
libScopeCom.so.<a>.<bbb><cc>.<dd>
libScopeJava.so.<a>.<bbb>.<e>
, onde:
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
233
Um exemplo da sada gerada por esse comando est na Figura 14. No exemplo, apresentada a
verso 2.25.07.01.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
234
Este apndice tem como objetivo documentar o formato do cdigo de barras da bandeira
InComm.
O nmero do carto para identificao da bandeira InComm pelo SCOPE pode ser obtido por
meio de carto magntico ou por cdigo de barras.
O leitura e o tratamento do cdigo de barras da InComm ser realizado pela automao
comercial, a qual enviar o nmero do PAN j formatado para o SCOPE. O layout do cdigo de
barras possui, sequencialmente, 11 dgitos refententes ao cdigo do produto e 19 dgitos
referentes ao nmero do carto (PAN), o qual deve ser justificado direita e preenchido com
zeros esquerda se for menor que 19 dgitos,como podemos observar na figura 12.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
235
Apndice G - Glossrio
_____________________________________________________________________________________________________
Endereo IP (Internet Protocol): trata-se de uma
MasterCard, Amex).
(card holder).
o Banco emissor.
B
Banco de dados: tambm conhecido como base de
dados, so arquivos ou sistemas com uma estrutura
I
Issuer: Veja Banco emissor.
base de dados.
tambm PoS.
PDV.
Rede
clientes.
recebimento
BIN
(bank
identification
number):
nmero
de
autorizadora:
de
empresa
transaes
que
TEF
concentra
de
diversos
dgitos do carto.
E
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
S
236
SCOPE:
SCOPE
soluo
Itautec
para
pagamentos eletrnicos
ScopeCNF (SCOPE Configurador):
o mdulo
conectados em rede.
de Bases de Dados.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
237
2014
Este documento de propriedade da OKI Brasil Indstria e Comrcio de Produtos e Tecnologia em Automao
S/A. Todos os direitos reservados.
As informaes aqui contidas tm carter tcnico/informativo e no podero ser copiadas, fotocopiadas, reproduzidas,
traduzidas ou reduzidas a qualquer meio eletrnico ou forma legvel por mquina sem a autorizao prvia da OKI
Brasil Indstria e Comrcio de Produtos e Tecnologia em Automao S/A.
Esta se reserva, por outro lado, o direito de alterar seu contedo e forma, sem qualquer aviso prvio.
Produzido no Brasil.
Manual do desenvolvedor
SCOPE Soluo Completa para Pagamento Eletrnico 2.27
238