Você receberá uma notificação deste serviço sobre os eventos relacionados a cartões de crédito.
Juntamente com a notificação, enviaremos um conjunto de headers HTTP que servirão para verificar a sua autenticidade.
Os headers HTTP que enviamos são:
x-api-key
: este header permitirá identificar qual api-secret deve-se usar, caso vários pares de api-key e api-secret tenham sido configurados.
x-signature
: Este header contém a assinatura digital (body + timestamp + endpoint) que deve ser verificada para garantir a integridade da solicitação. Se a assinatura não corresponder, você deve rejeitar a solicitação.
x-timestamp
: este header contém a hora em que a solicitação foi assinada no formato unix-epoch para que você possa verificar se a assinatura não expirou.
x-endpoint
: o endpoint usado para gerar a assinatura. Use este header para gerar novamente a assinatura a ser validada, compare-a com o endpoint do seu serviço e verifique se elas correspondem.
A assinatura digital é um código HMAC-SHA256 construído usando o api-secret
e uma série de bytes composta pela concatenação do timestamp, do endpoint e do request body codificados em UTF-8.
A seguir é usado um pseudo-código para verificar se a assinatura digital de uma request é legítima:
requestSignature = request.headers['x-signature']
signatureData = encode(request.headers['x-timestamp'] + request.headers['x-endpoint'] + request.body , 'UTF-8')
recreatedSignature = hmac(apiSecret, signatureData, 'SHA256')
validSignature = requestSignature == recreatedSignature
api-secret
deve-se usar, caso vários pares de api-key
e api-secret
tenham sido configurados.api-secret
deve-se usar, caso vários pares de api-key
e api-secret
tenham sido configurados.api-secret
deve-se usar, caso vários pares de api-key
e api-secret
tenham sido configurados.Você deverá nos informar este endpoint para receber as notificações de entrada, saída ou permanência de mora de um usuário. Esperamos uma resposta do tipo 2XX para garantir que você recebeu a notificação. Caso contrário, iremos reenviá-la.
api-secret
deve-se usar, caso vários pares de api-key
e api-secret
tenham sido configurados.api-secret
deve-se usar, caso vários pares de api-key
e api-secret
tenham sido configurados.