Comando emv.getinfo

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

O comando emv.getinfo é utilizado para busca de resultados nas intruções emv.inittransaction, emv.processtransaction e emv.finishtransaction.

Parâmetros

  1. parameter [string]
    Nome do parâmetro que desejamos buscar (veja tabela abaixo).
  2. type [string]
    tipo do parâmetro, pode ser:
    • init
    • process
    • finish
  3. value [string]
    Variável que irá armazenar o valor do parâmetro que será retornado pelo Kernel EMV.

Parâmetros suportados:

Para tipo 'init' <emv.inittransaction/>

Parâmetro Descrição Contact Cless
bCardType Tipo do cartão
0 - Tarja magnética
3 - EMV chip card.
x
bLastChipStatus Status da última leitura do cartão
0 - ok
1 - Fallback é necessário
2 - App não suportada
x
bAppType Tipo de aplicação selecionada (conforme tabela de parâmetros)
01 - Crédito
02 - Débito
03 - Voucher
x
bAcquirerID Identificador da rede adquirente (conforme tabela de parâmetros). x
bRegisterIndex Índice do registro na tabela de parâmetros. x
bTrack1Len Tamanho do campo bTrack1. x
baTrack1 Trillha 1 (Hex). x
bTrack2Len Tamanho do campo bTrack2. x
baTrack2 Trilha 2 (Hex). x
bTrack3Len Tamanho do campo bTrack3. x
baTrack3 Trilha 3 (Hex). x
bPANLen Tamanho do campo baPAN. x
baPAN PAN x
bPANSequence translation missing: pt-BR.posxml.commands.emv_getinfo.table_1.table_row_14 x
bApplicationLabelLen Tamanho do campo baApplicationLabel. x
baApplicationLabel Application Name. x
baServiceCode Service Code (com zero á esquerda). x
bCardHolderNameLen Tamanho do campo baCardHolderName. x
baCardHolderName Nome cardholder. x
baExpirationDate Data de expiração (“AAMMDD”). x
bExternalNumberLen Tamanho do campo baExternalNumber. x
baExternalNumber Número externo do cartão. x
baBalance Saldo, em caso de moedeiro. x
baIssuerCountryCode Código do país do Emissor. x
baApplicationIdentifier Application Identifier x

Para tipo 'process' <emv.processtransaction/>

Parâmetro Descrição Contact Cless
bDecision Decisão tomada
0 - Aprovada Offline
1 - Negada
2 - Ir Online
x x
bSignature Assinatura em papel deve ser obtida
0 - Não
1 - Sim
x x
bOfflinePIN PIN foi verificado Offline
0 - Não
1 - Sim
x x
bOfflinePINErrors Número de apresentações inválidas de PIN Offline x x
bOfflinePINBlocked PIN Offline foi bloqueado na última apresentação inválida
0 - Não
1 - Sim
0 - No
1 - Yes
x x
bOnlinePIN PIN capturado para verificação online
0 - Não
1 - Sim
x x
baDUKPTInfo Número de série da chave (Key Serial Number) e contador (Key Counter) Em caso de PIN Online x x
iTLVDataEMVLen Tamanho do campo baTLVDataEMV x x
baTLVDataEMV Tags mandatórias e opcionais requisitadas no parâmetro baMandatoryTags de AddData (criptograma para ser análisado pelo emissor do cartão em caso de transação online) x x
baBalance Quantidade disponível para aprovação offline x
baVLPIssuerAuthCode VLP Issuer Authorization Code. Apenas para cartões Visa e JCB x
baCardTransactionQualifiers VISA Card Transaction Qualifiers x
baAppExpirationDate Data de expiração da aplicação x
baAppEffectiveDate Aplicação efetiva na data (“DDMMAA”) x
bTrack1EquivalentDataLen Tamanho do campo baTrack1EquivalentData x
baTrack1EquivalentData Track 1 Equivalent Data x
bTrack2EquivalentDataLen Tamanho do campo baTrack2EquivalentData x
baTrack2EquivalentData Track 2 Equivalent Data x
bCardType Tipo do cartão
0 - Tarja magnética
3 - EMV chip card
x
bApplicationIdentifierLen Tamanho do campo baApplicationIdentifier x
baApplicationIdentifier Application Identifier x
bTrack1Len Tamanho do campo bTrack1 x
baTrack1 Trillha 1 (Hex) x
bTrack2Len Tamanho do campo bTrack2 x
baTrack2 Trilha 2 (Hex) x
bPANLen Tamanho do campo baPAN x
baPAN PAN x
bPANSequence PAN Sequence x
bApplicationLabelLen Tamanho do campo baApplicationLabel x
baApplicationLabel Application Name x
bCardHolderNameLen Tamanho do campo baCardHolderName x
baCardHolderName Nome do cardholder x
bPinBypassed Retorna o resultado do Bypass
0 - Bypass não realizado
1 - Bypass realizado
x x

Para tipo 'finish' <emv.finishtransaction/>

Parâmetro Descrição
bDecision Decisão tomada
0 - Aprovado
1 - Negado pelo cartão
2 - Negado pelo host
TLVDataEMVLen Tags mandatórias e opcionais requisitadas em emv.processtransaction
bIssuerScriptResLen Tamanho do Issuer Script Results
baIssuerScriptResults Resultado da execução dos scripts.(EMV 4.2, Book 4, Anexo A5)

Exemplo


No exemplo acima, o comando emv.getinfo foi usado para buscar os parâmetros após a execução dos comandos emv.inittransaction, emv.processtransaction e emv.finishtransaction. O comando print foi utilizado para exibir as informações impressas no ticket.

Note que antes de executar as intruções init, process e finish é necessário passar parâmetros para o Kernel EMV com o comando emv.adddata.