Pular para o conteúdo principal

Como consultar o Secret Key do HMAC?

Vá até o Menu Administrador e procure por API/Plugins e clique no Webhook que você gostaria de consultar o Secret Key do HMAC

WebhookDetail

Como validar o HMAC Signature?

Toda request do Webhook possui o header 'X-OpenPix-Signature' que é a signature gerada com a secret key do Webhook e o payload do Webhook. Ao receber o header você pode validar se o HMAC é válido e dar continuidade no fluxo do Webhook.

Exemplo: 'X-OpenPix-Signature': 'jgR2XF0PKDiAwHP1s+TryvxMySQ='

Exemplo de validação

  <?php 
$headers['X-OpenPix-Signature'] = 'jgR2XF0PKDiAwHP1s+TryvxMySQ='; // vira da chamada do webhook
$body = '{"data_criacao":"2021-08-10T20:32:14.429Z","evento":"teste_webhook","event":"OPENPIX:CHARGE_COMPLETED"}'; // vira da chamada do webhook

$secretKeyOnOpenpixPlatform = 'hmac-secret-key'; // secret key da chave de acesso do OpenPix

$algorithm = 'sha1'; // algoritmo de hash

$hmac = base64_encode(hash_hmac($algorithm, $body, $secretKeyOnOpenpixPlatform, true));

if($hmac === $headers['X-OpenPix-Signature']) {
echo 'Valid HMAC';
} else {
echo 'Invalid HMAC';
}
?>

info

O campo event enviado junto ao payload do webhook tem seu valor conforme o tipo de evento que você escolheu no momento em que criou o webhook. Para saber mais sobre os tipos de eventos, acesse a documentação de eventos.

Nesse link temos um exemplo de validação do HMAC usando JavaScript WebhookPost