Tratamento de Erros e Operação
Códigos de Erro (Taxonomia Completa)
Nas respostas de erro (HTTP 400, 404, 500), o campo retCode indica a categoria da falha ocorrida no processamento da API ou na validação criptográfica do HSM .
-1
400/500
Erro interno genérico
Falha do serviço criptográfico. Aplicar retry com backoff. Se persistir, escalar para o suporte técnico.
01
400
Falha na verificação do PIN
Indica inconsistência de formato/chave ou, dependendo da integração, falha de validação.
10
400/500
Erro de paridade (Chave Origem)
Problema criptográfico grave na chave. A chave está corrompida. Requer intervenção do suporte técnico.
11
400/500
Erro de paridade (Chave Destino)
Análogo ao código 10, aplicado à chave de destino.
17
400
Tradução de PIN desabilitada
O comando TranslatePin não está habilitado no contrato ou perfil associado ao seu client_id.
68
400
Comando desabilitado
O comando PIN em questão está desabilitado comercialmente para o cliente.
69
400
Formato do PinBlock desabilitado
O pibBlockFmt informado é válido no HSM, mas encontra-se desabilitado para o seu tenant.
88
400
PinBlock contém PIN de tamanho zero
O bloco foi decifrado, mas o PIN extraído tem 0 dígitos. Sinaliza problema na geração do bloco na origem (terminal) ou PAN inconsistente.
137
400
Malformação da requisição
Payload JSON inválido, campo obrigatório ausente ou nome de campo incorreto (ex: pinBlockFmt em vez de pibBlockFmt).
155
404
Chave não encontrada
O alias informado em keyId, keyIdSrc ou keyIdDst não existe ou não pertence ao seu cliente.
Boas Práticas e Armadilhas Comuns
Boas Práticas
Mascaramento de Logs (Obrigatório): Auditorias de PCI PIN reprovam integrações que registam dados sensíveis. O PAN completo e os campos
hPibBlockehPinHostNUNCA devem constar nos logs da sua aplicação (ex: mascare o PAN como111122******4444e suprima os PinBlocks) .Diferenciar Falha Técnica de Recusa: Um
HTTP 200comretValid: false(PIN incorreto) é uma decisão de negócio e não um erro técnico. Instrumente métricas separadas; misturá-las com falhas 400/500 dificultará o rastreio de incidentes reais .Token JWT Unificado: O mesmo token Bearer atende a todos os módulos (EMV, PIN, Key Manager, Crypto, CVV, PAN, RSA). Mantenha um cache partilhado na sua arquitetura .
Validação de KCV: Ao provisionar chaves com o suporte, valide o KCV (Key Check Value) no ambiente de homologação. KCVs incorretos são a principal causa dos erros
10e11em produção .
Armadilhas Comuns na Integração
Grafia do campo
pibBlockFmt: Como mencionado, a API exige a grafia com "pib". Tentar utilizar "pinBlockFmt" gerará imediatamente o erro137.Incompatibilidade Algoritmo/Formato: Formatos como o
05(ISO 4) exigem obrigatoriamente chaves AES. Tentativas de decifrar o formato05com chaves 3DES causarão o erro69ou falhas de paridade .PAN Inconsistente: Se o PAN enviado no request divergir do PAN efetivamente utilizado pelo terminal para gerar o PinBlock, a operação de extração do PIN falhará, resultando frequentemente no erro
88(PIN de tamanho zero).Ausência de KSN no DUKPT: Quando o
keyIdSrcfor um BDK, a ausência dos camposksnouksn_descinvalidará a requisição, pois o HSM não terá como derivar a chave de sessão.
Troubleshooting
Guia de triagem rápida para anomalias observadas durante a fase de integração e produção :
HTTP 200 / retValid: false sempre
Chave errada ou PAN inconsistente.
Validar rigorosamente se o PAN do request corresponde ao PAN utilizado no cálculo no terminal.
HTTP 400 (retCode 137)
Erro estrutural no payload.
Inspecionar a sintaxe JSON e garantir o uso correto de pibBlockFmt.
HTTP 400 (retCode 88)
PIN decifrado com tamanho zero.
Verificar integridade do PAN e, em cenários DUKPT, confirmar se o KSN não sofreu mutação.
HTTP 404 (retCode 155)
Chave não localizada.
O erro não distingue entre Origem e Destino; verifique ambos os aliases no Key Manager.
HTTP 400/500 (retCode 10 ou 11)
Paridade de chave corrompida.
Escalar para o suporte técnico para reprovisionamento do alias.
HTTP 401 intermitente
Token expirado.
Implementar cache com renovação proativa (pre-fetch).
Last updated

