Comando emv.adddata

O conhecimento da norma EMV é necessário para utilização deste comando.

O comando emv.adddata é utilizado para passagem de parâmetros para o Kernel EMV nas instruções emv.inittransaction, emv.processtransaction e emv.finishtransaction.

Parâmetros

  1. parameter [string]
    Nome do parâmetro que desejamos passar. (veja tabela abaixo)
  2. type [string]
    Tipo do parâmetro, pode ser:
    • init
    • process
    • finish
  3. value [string]
    Valor do parâmetro.
  4. variablereturn [integer]
    Retorno do comando, onde:
    • 0: OK
    • -1: Erro. Tipo, chave ou valor não existe.

Parâmetros suportados:

Para tipo 'init' <emv.inittransaction/>

Parâmetro Descrição Contact Cless
bAcquirerID Identificador da Rede Adquirente x
bReqApplication 99 - Todas as aplicaçãoes
0 - Apenas aplicações selecionadas em waAppArray
x
baInitialValue Valor inicial(Amount authorized). 12 caracteres com padding de 0 a esquerda, exemplo:
“000000005000”(50,00)
x
baDate Data da Transação(“AAMMDD”) x x
baTime Hora da transação(“HHMMSS”) x x
baTimeStamp Selo de tempo para as tabelas(“DDMMAAAASS”), onde SS é um número sequencial qualquer. O Kernel EMV do Telium x
iAppCount Quantidade de entradas da lista waAppArray x
waAppArrayX Array contendo identificador da rede adquirente + índice para tabela de parâmetros EMV. Aonde X é o número sequencial da aplicação, começando a partir do 1. Exemplo waAppArray1, waAppArray2... x

Para tipo 'process' <emv.processtransaction/>

Parâmetro Descrição Contact Cless
baAmount Valor da transação (Amount, authorized), podendo incluir novos valores apresentados após a instrução emv.inittransaction. 12 caracteres com padding de 0 a esquerda, exemplo:
“000000005000”(50,00).
x x
baAmountOther Valor de saque ou troco - cashback (Amount, other). 12 caracteres com padding de 0 a esquerdo, exemplo: “000000005000”(50,00). x x
bfRefund Anulação da transação anterior
1 - sim
0 - não
x
bBlackList Resultado da consulta à lista negativa (EMV)
0 - PAN não consta na lista negra
1 - PAN consta na lista negra.
x
bMustConnect Obrigatoriedade de conexão
0 - Transação pode ser efetuada offline
1 - Transação somente pode ser efetuada online.
bRequirePIN Entrada de PIN
0 - Não obrigatória
1 - Obrigatória.
x
bKeyMode Modo de criptografia para captura de PIN online
2 - DUKPT DES(8 bytes)
3 - DUKPT 3DES(18 bytes)
x x
bManageRisk Gerenciamento de risco EMV (Risk Management)
0 - Não faz o gerenciamento de risco
1 - Faz o gerenciamento de risco.
x
dwFloorLimit Terminal Floor Limit (em centavos). x x
dwThresholdValue Valor limite para “Biased Transaction Selection” em centavos. x
bMaximumTarget Porcentagem máxima alvo para ser usada em “Biased Transaction Selection”. x
bMandatoryTagsLen Tamanho do campo baMandatoryTags. x x
baMandatoryTags Lista de tags necessárias para a montagem do campo 55 da mensagem ISO-8583. (Hex) x x
bOptionalTagsLen Tamanho do campo baOptionalTags. x x
baOptionalTags Lista de tags desejáveis a serem recuperadas na operação. (Hex) x x
bPinBypass Bypass no PIN através da Biblioteca EMV
0 - Não
1 - Sim
x x

Para tipo 'finish' <emv.finishtransaction/>

Parâmetro Descrição Contact Cless
bCommStatus Status da comunicação com o Host
0 - Comunicação bem sucedida
1 – Falha na comunicação com o host.
x x
bIssuerType Tipo de Emissor
0 - EMV “Full-Grade”
1 - EMV “Partial-Grade”.
x x
baInitialValue Authorization Response Code (em ASCII). O padrão define:
00 - Approved
01 - Denied
Y1 - Offline approved
Y3 - Offline declined
Z1 - Unable to go online, offline approved
Z3 - Unable to go online, offline declined
x x
iTLVDataEMVLen Tamanho do campo baTLVDataEMV. x x
baTLVDataEMV Lista de tags retornadas pelo emissor. (Hex) x x
bMandatoryTagsLen Tamanho do campo baMandatoryTags. x x
baMandatoryTags Lista de tags mandatórias a serem recuperadas na operação. (Hex) x x

Exemplo


No exemplo acima, foi demonstrado um exemplo para cada tipo de parâmetro, init, process e finish.

O exemplo aqui demonstrado é fictício, já que para se ter sucesso com toda uma transação EMV é necessário vários outros fatores como resposta ISO-8583 do emissor do cartão, chaves injetadas no terminal e demais requisitos como define a norma EMV.