Histórico



Cancelamento de Transação

Para cancelar qualquer transação no SAFE, deve-se utilizar o seguinte método: CancelamentoGenerico

 

Parâmetros de entrada

Nome

Tipo

Tamanho

Descrição

numeroCartao

String

19

Número do Cartão a ser cancelado.

Caso seja um cancelamento de Emissão ou Resgate de VT, deve-se passar o valor 7850000000000000000

valor

Double

12,2

Valor da transação que está sendo cancelada

horaLocal

String

6

Representa a hora local do PDV

Mascara: hhmmss

dataLocal

String

4

Representa a data local do PDV

Mascara: MMDD

dataReferencia

String

4

Representa a data local do PDV

Mascara: AAMM

modoEntrada

Char

3

Modo de entrada da transação.

012 – Manual

022 - Magnético

idTerminal

String

8

Identificação do Terminal.

É composto da seguinte forma:

1 + LOJA – PDV

Ex:

10001123

estabelecimento

String

15

Representa o código do estabelecimento.

 

ESTABELECIMENTO.CODIGO_ESTABELECIMENTO

nsuSafe

String

9

NSU SAFE da Transação a ser cancelada

doDataHora

String

10

Data Hora da transação original a ser cancelada.

Máscara: MMDDHHMMSS

numeroCupom

String

6

Número do cupom da transação de cancelamento.

Deve-se completar com zeros a esquerda.

matriculaFiscal

String

6

Número do fiscal que está realizando o resgate.

Deve-se completar com zeros a esquerda.

tipoIdentificacao

Char

1

1 - Trilha 2

2 – CPF

3 – Matrícula

4 - Número do Cartão

 

Parâmetros de saída

Nome

Tipo

Tamanho

Descrição

CodigoResposta

String

2

Código de Resposta da Transação.

Vide item “Códigos de Resposta” no documento

NSUSafe

String

9

NSU SAFE da Transação

MensagemPDV

String

16

Mensagem a ser exibida no terminal

SaldoDisponivel

Double

12,2

-- DEPRECATED --

Cartao

String

19

Número do Cartão que foi cancelado

Cartao

String

19

Número do Vale-Troca gerado

TempoResposta

Numeric

6

Tempo de Resposta da Transação

DataHoraTransacao

String

10

Data/Hora da Transação realizada.

Máscara: MMDDHHMMSS

 

XML de Retorno

<RespostaSAFE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://grupolinx.com.br/">

    <CodigoResposta>00</CodigoResposta>

    <NSUSafe>000073436</NSUSafe>

    <MensagemPDV>TRANSAC APROVADA</MensagemPDV>

    <SaldoDisponivel>0</SaldoDisponivel>

    <Cartao>0000000000000000440</Cartao>

    <TempoResposta>944</TempoResposta>

    <DataHoraTransacao>0303110028</DataHoraTransacao>

</RespostaSAFE>



Confirmação/Desfazimento de Transação

Para confirmar ou desfazer qualquer transação no SAFE, deve-se utilizar o seguinte método: ConfirmaDesfazGenerico

 

Parâmetros de entrada

Nome

Tipo

Tamanho

Descrição

valor

Double

12,2

Valor da transação que está sendo cancelada

codigoEstabelecimento

String

15

Representa o código do estabelecimento.

 ESTABELECIMENTO.CODIGO_ESTABELECIMENTO.  Completar com espaços a direita até 15 posições.

codigoEmpresa

String

5

Representa o código da empresa.

Ex: 00001

numeroLoja

String

4

Representa o número da loja.

Deve-se completar com zeros a esquerda.

Ex: Loja 1 deve ser passado 0001

pdv

String

3

Representa o número do PDV

Deve-se completar com zeros a esquerda.

Ex: PDV 22 deve ser passado 022

nsuSafe

String

9

NSU Safe da transação original

horaLocal

String

6

Representa a hora local do PDV

Mascara: hhmmss

dataLocal

String

4

Representa a data local do PDV

Mascara: MMDD

isDesfazimento

Bool

 

Se enviar true, a transação será desfeita.

Se enviar false, a transação será confirmada.

 

Parâmetros de Saída

Nome

Tipo

Tamanho

Descrição

CodigoResposta

String

2

Código de Resposta da Transação.

Vide item “Códigos de Resposta” no documento

SaldoDisponivel

Double

12,2

-- DEPRECATED --

TempoResposta

Numeric

6

Tempo de Resposta da Transação

 

XML de Retorno

<RespostaSAFE xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://grupolinx.com.br/">

    <CodigoResposta>00</CodigoResposta>

    <SaldoDisponivel>0</SaldoDisponivel>

    <TempoResposta>0</TempoResposta>

</RespostaSAFE>





Códigos de resposta


Código de RespostaDescrição Relacionada ao CódigoMensagem Default para o Terminal
00Aprovada, Transação executadaTRANSAC APROVADA
03Estabelecimento Comercial InválidoESTAB INVLD - 03
05Cartão InadimplentePROBL CARTAO -05
06Erro (problema ocorrido na transação)REFACA TRANS -06
08Transação inválida para o estabelecimentoTRANS INVLD - 08
12Transação InválidaTRANS INVLD - 12
13Valor InválidoVALOR INVLD - 13
14Cartão InválidoPROBL CARTAO -14
15Instituição não CadastradaPROBL CARTAO -15
19Refaça a TransaçãoREFACA TRANS -19
22Plano inválidoPLANO INVLD - 22
25Registro não EncontradoPROBL CARTAO -25
30Erro de formatoREFACA TRANS -30
38Cartão Sem RegistroPROBL CARTAO -38
39Número de Conta InválidoCONTA INVLD - 39
41Cartão Sem RegistroPROBL CARTAO -41
43Cartão Sem RegistroPROBL CARTAO -43
51Saldo InsuficienteSALDO INSUFIC-51
52Conta Corrente Não CadastradaPROBL CARTAO -52
54Não Autorizado - Cartão VencidoPROBL CARTAO -54
55Senha IncorretaSENHA INVLD - 55
56Cartão Sem RegistroPROBL CARTAO -56
57Transação não Permitida a esse ClientePROBL CARTAO -57
58Conta bloqueada para compraBLOQ P/COMPRA-58
59Conta IrregularCONTA IRREGUL-59
60Convênio BloqueadoCONVENIO BLOQ-60
61Excedido LimiteEXCEDE LIMITE-61
65Excedido FreqüênciaEXCEDE LIMITE-65
76Cartão BloqueadoPROBL CARTAO -76
78Transação CanceladaREFACA TRANS -78
79Transação Não Permitida Neste CicloPROBL CARTAO -79
80Transação não existeTRANS ORIG N ENC
81Transação EstornadaREFACA TRANS -81
83Time-outREFACA TRANS -83
84Log-on (Terminal Não aberto)FALHA LOGON  -84
86Transação DesfeitaREFACA TRANS -86
90Fechamento ContábilREFACA TRANS -90
91Instituição Fora de OperaçãoREFACA TRANS -91
96Mal funcionamento do sistemaREFACA TRANS -96
M9Data InválidaREFACA TRANS -M9
N0MAC InválidoREFACA TRANS -N0
N1Dados InválidosDADOS INVALD -N1
N2Código de Processamento InválidoREFACA TRANS -N2
N3Transação já CanceladaTRANS CANCEL -N3
N9NSU RepetidoREFACA TRANS -N9
R1Certificado de Garantia Estendida inexistenteCERT INEXIST
R2CPF difere do CPF associado do Certificado de GECPF N CONFERE
R3Certificado de Garantia Estendida já resgatadoCERTIF JA RESGAT
R4Certificado de Garantia Estendida já canceladoCERTIF CANCELADO
SAVale Presente já está ativoVALE JA ATIVO
SBVale Presente bloqueadoVALE BLOQUEADO
SPVale Presente com status “Pré-Cadastrado”VALE PRE-CADASTR
SRVale Presente já resgatado (utilizado)VALE RESGATADO
SXVale Presente canceladoVALE CANCELADO
SEVale Presente vencidoVALE EXPIRADO
SCVale Presente excluídoVALE EXCLUIDO
SIVale Presente invalidoVALE INVALIDO
STTransação InválidaTRANSAC INVALIDA
TNBoleto ACOM inexistenteBOLETO INEXIST
TVBoleto ACOM vencidoBOLETO VENCIDO
TIBoleto ACOM inválidoBOLETO INVALIDO
TBBoleto ACOM bloqueadoBOLETO BLOQUEADO
TCBoleto ACOM já processadoBOLETO JA PROC
TPVale Presente pendenteVALE PENDENTE
GDValidade do Vale Presente inválidaVALIDADE INVALID
GVValor do Vale Presente inválidoVALOR INVALIDO
GCVale Presente inválidoVALE INVALIDO
GNGarantias não encontradas para o cod SAP informadoGARANT INEXIST
GIVale Presente inválidoVALE INVALIDO
V3MAC inválidoMAC INVALIDO
V4Vale-Troca não existeVT NAO EXISTE
V5CPF inválidoCPF INVALIDO
V6Data de Nascimento inválidaDT NASC INVALIDA
V7Vale-Troca já utilizadoVT JA UTILIZADO
V8Vale-Troca vencidoVT FORA DO PRAZO
V9Cód Operado inválidoOPERADOR INVALID
VAVale-Troca pendenteVT PENDENTE
VBVale-Troca invalidoVT INVALIDO
VCCliente sem Vale-Troca emitido e não utilizadoCLIENTE SEM VT
VDEtiqueta de Logistica Reversa já utilizadaETIQ UTILIZADA
VEVale-Troca já canceladoVT JA CANCELADO
VFQuantidade de VT´s excede limite do Bit62QTD VALES EXCED
COCartão de Convênio VencidoCARTAO VENCIDO
BDProblemas de processamento do banco do SAAPROBL SAA BD
BOAutorizador sem conexao com banco de dadosSAA S/ CONEX BD
C1Dados inválidos para pesquisa de CuponagemCUPONAGEM INVLD
C2Cliente sem Cuponagem a resgatarSEM CUPONAGEM
TRBoleto ACOM já pagoTITULO JA PAGO
R5Valor de Resgate de GE maior que o autorizado pela seguradoraVALOR INVALID-R5
RNRecarga de Cartão Presente não permitidaRECARGA N PERMIT





Tipos Complexos

 

DadosConsultaProdutoGE

Nome

Tipo

Tamanho

Descrição

Produto

Tipo Complexo

 

Produto

Planos

Tipo Complexo

 

Lista contendo os planos de garantia estendida / RF.

  

DadosVendaGE

Nome

Tipo

Tamanho

Descrição

Tipo Bilhete

String

2

Tipo do bilhete (GE/RF)

Cliente

Tipo Complexo

 

Representa o cliente que comprou a garantia

ValorAutorizado

Double

12,2

Valor autorizado

Cupom

String

6

Texto do cupom

NsuCtf

NSU do CTF

6

0

NsuSafe

NSU do SAFE

9

NSU retornado pelo SAFE Autorizador

Garantia

Tipo Complexo

 

Representa a garantia vendida

  

DadosConsultaResgateGE

Nome

Tipo

Tamanho

Descrição

CodigoAutorizacao

String

10

Senha de autorização fornecida pela seguradora

NumeroCertificado

String

15

Número do Certificado de Garantia

ValorAutorizado

Double

12,2

Valor autorizado

Produto

Tipo Complexo

 

Produto

 

  

Produto

Nome

Tipo

Tamanho

Descrição

CodigoInterno

String

20

Código Interno do Produto

CodigoEAN

String

20

Código EAN do Produto

Descricao

String

80

Descrição do Produto

Marca

String

15

Marca do Produto

GarantiaFabricante

String

3

Tempo dado de garantia pelo fabricante do produto

DataHoraInclusao

String

14

Data / Hora da inclusão do produto no cadastro do SAFE.

Formato: AAAAMMDDHHMMSS.

  

Plano

Nome

Tipo

Tamanho

Descrição

Id

String

10

Código do Plano

Tipo

String

20

Tipo do Plano. Ex.: TROCA.

Prazo

String

3

Prazo de garantia deste plano

ValorVenda

Double

12,2

Valor de venda da garantia

DataHoraInclusaoPlano

String

14

Data / Hora de inclusão do plano no cadastro do SAFE.

Formato: AAAAMMDDHHMMSS.

Ramo

Tipo Complexo

 

Ramo do plano

CodigoTipoServico

String

1

Código do Tipo de Serviço

DescricaoTipoServico

String

25

Descrição do tipo de serviço

CodigoCategoria

String

3

Código da Categoria

DescricaoCategoria

String

100

Descrição da Categoria

CodigoTipoPlano

String

2

Código do Tipo de Plano

DescricaoTipoPlano

String

50

Descrição do Tipo de Plano

  

Cliente

Nome

Tipo

Tamanho

Descrição

Nome

String

40

Nome do cliente

Endereco

String

50

Endereço do cliente

Cidade

String

20

Cidade do cliente

UF

String

2

UF do cliente

CPF

String

11

CPF do cliente

RG

String

10

RG do cliente

  

Garantia

Nome

Tipo

Tamanho

Descrição

Certificado

String

15

Número do certificado de garantia

DescricaoProduto

String

38

Descrição do produto vendido

MesesGarantiaFabricante

String

3

Quantidade de dias que o fabricante dá de garantia

Tipo

String

20

Tipo da garantia

Inicio

String

8

Data de início da cobertura da garantia (AAAAMMDD)

Fim

String

8

Data de fim da cobertura da garantia (AAAAMMDD)

ValorGarantia

Double

12,2

Valor da garantia vendida

ValorIOF

Double

12,2

Valor do IOF recolhido nesta venda

PercentualRemuneracao

Double

5,2

Percentual de remuneração utilizado no cálculo

ValorRemuneracao

Double

12,2

Valor da remuneração da garantia

PercentualCusto

Double

12,2

Percentual de custo da garantia

  

Ramo

Nome

Tipo

Tamanho

Descrição

Id

Integer

 

Código do Ramo

Descrição

String

50

Descrição do Ramo

 

FormaPagamento

Nome

Tipo

Tamanho

Descrição

Código

String

2

Código da forma de pagamento

Valor

Double

12,2

Valor da forma de pagamento

CodigoAutorizadora

String

2

Código da autorizadora

Parcelas

Integer

2

Quantidade de parcelas

ValorParcela

Double

12,2

Valor de cada parcela

Bin

String

6

Bin do cartão

CodigoAprovacaoTEF

String

6

Código de aprovação do TEF

NsuTEF

String

6

NSU gerado pelo TEF




Cálculo do MAC

O cálculo leva em consideração 5 parâmetros:

 

-> Data sensibilização;

Data no formato AAAAMMDD

 -> Número da loja;

Loja 4 numeros

 -> Número do PDV;

PDV 3 numeros

 -> NSU Sensibilização.

NSU 6 numeros

 -> Valor da transação

Valor 12 numeros (ex.: 29,90, passar 000000002999)

 Para fins didáticos, o cálculo será exemplificado com os seguintes parâmetros:

 -> Data sensibilização;

20110707

 -> Número da loja;

0001

 -> Número do PDV;

244

 -> NSU Sensibilização.

000000

 -> Valor da transação

000000002999

 Passo 1:

Soma os valores de:

-> Data sensibilização;

-> Número da loja;

-> Número do PDV;

-> NSU Sensibilização

 20110707 + 0001 + 244 + 000000

 Resultado: 20110952

 Passo 2:

Divide o valor pago pelo número do PDV e trunca, obtendo a parte inteira dessa divisão.

000000002999 / 244

Resultado: 12,29098360655738

 Porém, precisamos apenas da parte inteira.

Resultado = 12

Passo 3:

Soma o resultado do Passo 1 com o Passo 2

20110952 + 12

Resultado: 20110964

 Passo 4:

Multiplica o valor do Passo 3 com a soma da Loja + NSU Sensibilização

20110964 * (0001 + 000000)

Resultado: 20110964

 Passo 5:

Converte o resultado obtido Passo 4  em string e completa com zeros a esquerda até ficar com 4 posições, caso o resultado do Passo 4 seja menor que 4 dígitos. No nosso exemplo, o passo 4 tem tamanho 8, logo não é necessário completar com zeros a esquerda.

 Passo 6:

Inverte a string obtida no Passo 5 e devolve os 4 primeiros bytes dela

Resultado: 46901102

MAC = 4690