Webhook
Passo 1. Criação de endpoint
JSON
, através de um HTTP POST Request. Os serviços precisam de, pelo menos, um endpoint para receber e processar os eventos do Webhook.POST
. Endpoints não devem exigir certificado SSL para receber a requisição.Nota
Em caso de falha na comunicação, 5 tentativas serão feitas a cada 5 minutos antes de uma falha total.
Passo 2. Autenticação
Authorization
da notificação, um token codificado em Base64 com idEmissor:nomeEmissor
, utilizado para garantir a autenticidade da notificação ou fazer algum tipo de implementação necessária.String authorizationEncriptado = "VEVTVEU6VEVTVEU"
Base64.Decoder decoder = Base64.getDecoder();
String authorizationDecriptado = new String(decoder.decode(token64));
System.out.println("authorizationDecriptado: " + authorizationDecriptado);
Passo 3. Cadastro da URL
A relação pode ser encontrada na tabela de tipos de eventos.
Catálogo de Eventos
Formato
Headers
Body
{
"tipoEvento": "transacao-compra",
"origem": "PDV",
"modoEntrada": "011",
"nsuOrigem": "625764",
"nsuAutorizacao": "351", // Presente apenas para transações aprovadas
"codigoProcessamento": "003000",
"numeroParcelas": 1,
"valorTransacao": 31.48,
"idCartao" : 1
"cartao": "2721.XXXX.XXXX.5570", // Alguns casos de transação negada, não irá trazer o número do cartão
"nomeEstabelecimento": "ESTABELECIMENTO TESTE",
"estabelecimento": "99999999999999",
"dataHoraTransacao": "2022-12-06T14:43:45",
"terminal": "KW021212",
"nsuAutorizacaoTransacaoCancelada" : "350", // Presente apenas eventos de cancelamento
"nsuOrigemTransacaoCancelada" : "625763", // Presente apenas eventos de cancelamento
"dataHoraTransacaoCancelada" : "2022-12-06T14:40:23", // Presente apenas eventos de cancelamento
"codigoResposta": "00",
"mensagemResposta": "--- COMPROVANTE DE OPERACAO ---"
}
Tipos de eventos
tipoEvento | Descrição |
---|---|
transacao-compra | Compras aprovadas ou negadas. |
transacao-compra-cancelada | Compras canceladas. |
transacao-saque | Saques aprovados ou negados. |
transacao-saque-cancelado | Saques cancelados. |
transacao-pagamento | Pagamentos aprovados ou negados. |
transacao-pagamento-cancelado | Pagamentos cancelados. |
Dicionário de campos
Evento | Tipo | Descrição |
---|---|---|
tipoEvento | String | Identificador do tipo de evento disparado pelo Webhook. |
origem | String | Origem da transação. |
modoEntrada | String | Modo de entrada da transação.
|
nsuOrigem | String | Número sequencial único que identifica a transação no sistema. |
nsuAutorizacao | String | Número sequencial único gerado pelo autorizador a cada transação. Presente apenas para transações aprovadas. |
codigoProcessamento | String | Código de processamento que identifica o tipo da transação.
|
numeroParcelas | Integer | Número de parcelas da transação. |
valorTransacao | Double | Valor da transação, com duas casas decimais. |
idCartao | Long | Código de identificação do cartão. |
cartao | String | Número truncado do cartão. Alguns casos de transação negada não retornam o número do cartão. |
nomeEstabelecimento | String | Nome do estabelecimento da transação. |
estabelecimento | String | CNPJ ou Número Lógico do estabelecimento da transação. |
dataHoraTransacao | String | Data e hora local da transação. |
terminal | String | Identificação do terminal requisitante. |
nsuAutorizacaoTransacaoCancelada | String | Número sequencial único, gerado pelo autorizador, da transação original. Presente apenas eventos de cancelamento. |
nsuOrigemTransacaoCancelada | String | Número sequencial único que identifica a transação no sistema, da transação original. Presente apenas eventos de cancelamento. |
dataHoraTransacaoCancelada | String | Data e hora local do cancelamento da transação. Presente apenas eventos de cancelamento. |
codigoResposta | String | Código de resposta da transação. Para mais detalhes, visualize na tabela abaixo. Caso a origem não seja “PDV” e a transação for negada, virá “99” . |
mensagemResposta | String | Mensagem de resposta da transação. Caso a origem seja “PDV” , e o codigoResposta seja “00” , virá o comprovante da operação. |
Tabela de Códigos de Resposta
Código | Descrição |
---|---|
00 | Transação OK |
03 | Estabelecimento inválido |
05 | Transação negada |
06 | Refaça a transação |
07 | Cartão inválido |
08 | Refaça a transação |
10 | Dados inválidos |
12 | Transação não permitida para esta rede / estabelecimento |
13 | Valor inválido |
14 | Cartão inválido / Cartão perdido / Cartão cancelado (ver status do cartão) |
19 | Refaça a transação |
22 | Número de parcelas inválido |
25 | Transação não encontrada |
30 | Erro de formato |
38 | Senha Inválida - Última Tentativa |
41 | Cartão extraviado |
51 | Limite insuficiente |
55 | Senha inválida |
57 | Transação não permitida para o cartão |
59 | Não autorizado - sem acordo |
60 | Não autorizado, valor diferente da parcela R$ XX,XX |
61 | Senha inválida POS |
75 | Cartão bloqueado por senha inválida |
78 | Transação já cancelada |
83 | Time out |
88 | Não autorizado - sem acordo |
96 | Erro interno |