Tote
HomeAPIsGuiasRelease Notes
HomeAPIsGuiasRelease Notes
Fale conosco
Manuais
Artigos
Manuais
Artigos
  1. Manuais
  • Boas vindas!
  • Visão geral da plataforma
  • Como se autenticar
  • Testando APIs
  • Respostas e status
  • Nossas APIs
  • Glossário
  • Webhook
  • FAQ
  1. Manuais

Webhook

Para receber os eventos do webhook você precisa configurar sua aplicação para receber eventos específicos, conforme descrito a seguir:

Passo 1. Criação de endpoint#

Crie um endpoint para receber notificações de eventos do Webhook. Essas notificações serão enviadas no formato 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.
O endpoint deve receber uma requisição via 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#

As notificações possuem no Header um 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.
Exemplo de implementação em java para decodificar o Authorization do Header:
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#

Para assinar e receber eventos de notificação do Webhook, a URL deverá ser cadastrada pelo time da RPE. Para isso é necessário informar os seguintes dados:
Nome do serviço;
URL do endpoint;
Lista de Eventos que receberá notificação.
A relação pode ser encontrada na tabela de tipos de eventos.

Catálogo de Eventos#

Formato#

O Webhook Service da RPE suporta os eventos conforme a formatação abaixo:

Headers#

Content-Type: application/json
Authorization: Basic Auth

Body#

Exemplo:
{
  "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#

A tabela a seguir lista os tipos de eventos que podem gerar comunicações de Webhook.
tipoEventoDescrição
transacao-compraCompras aprovadas ou negadas.
transacao-compra-canceladaCompras canceladas.
transacao-saqueSaques aprovados ou negados.
transacao-saque-canceladoSaques cancelados.
transacao-pagamentoPagamentos aprovados ou negados.
transacao-pagamento-canceladoPagamentos cancelados.

Dicionário de campos#

A tabela a seguir explica um pouco mais sobre os campos envolvidos.
EventoTipoDescrição
tipoEventoStringIdentificador do tipo de evento disparado pelo Webhook.
origemStringOrigem da transação.
modoEntradaStringModo de entrada da transação.
  • 011 - Transação digitada ou por API
  • 021 - Transação por leitura de trilha (tarja magnética)
  • 051 - Transação por Chip.
nsuOrigemStringNúmero sequencial único que identifica a transação no sistema.
nsuAutorizacaoStringNúmero sequencial único gerado pelo autorizador a cada transação. Presente apenas para transações aprovadas.
codigoProcessamentoStringCódigo de processamento que identifica o tipo da transação.
  • 003000 - Compra à vista
  • 003800 - Compra parcelada s/ juros
  • 003810 - Compra parcelada c/ juros
  • 200030 - Cancelamento de Compra
  • 010030 - Saque
  • 200001 - Cancelamento de Saque
  • 930030 - Pagamento
  • 200093 - Cancelamento de Pagamento
numeroParcelasIntegerNúmero de parcelas da transação.
valorTransacaoDoubleValor da transação, com duas casas decimais.
idCartaoLongCódigo de identificação do cartão.
cartaoStringNúmero truncado do cartão. Alguns casos de transação negada não retornam o número do cartão.
nomeEstabelecimentoStringNome do estabelecimento da transação.
estabelecimentoStringCNPJ ou Número Lógico do estabelecimento da transação.
dataHoraTransacaoStringData e hora local da transação.
terminalStringIdentificação do terminal requisitante.
nsuAutorizacaoTransacaoCanceladaStringNúmero sequencial único, gerado pelo autorizador, da transação original. Presente apenas eventos de cancelamento.
nsuOrigemTransacaoCanceladaStringNúmero sequencial único que identifica a transação no sistema, da transação original. Presente apenas eventos de cancelamento.
dataHoraTransacaoCanceladaStringData e hora local do cancelamento da transação. Presente apenas eventos de cancelamento.
codigoRespostaStringCó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”.
mensagemRespostaStringMensagem 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#

A tabela a seguir mostra os possíveis códigos de resposta.
CódigoDescrição
00Transação OK
03Estabelecimento inválido
05Transação negada
06Refaça a transação
07Cartão inválido
08Refaça a transação
10Dados inválidos
12Transação não permitida para esta rede / estabelecimento
13Valor inválido
14Cartão inválido / Cartão perdido / Cartão cancelado (ver status do cartão)
19Refaça a transação
22Número de parcelas inválido
25Transação não encontrada
30Erro de formato
38Senha Inválida - Última Tentativa
41Cartão extraviado
51Limite insuficiente
55Senha inválida
57Transação não permitida para o cartão
59Não autorizado - sem acordo
60Não autorizado, valor diferente da parcela R$ XX,XX
61Senha inválida POS
75Cartão bloqueado por senha inválida
78Transação já cancelada
83Time out
88Não autorizado - sem acordo
96Erro interno

Clique no botão abaixo para nos contar o que achou da nova plataforma. Você será redirecionado para um formulário rápido.
Enviar feedback
Página anterior
Glossário
Próxima página
FAQ