> For the complete documentation index, see [llms.txt](https://docs.payscore.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payscore.com/webhooks/validating-webhooks.md).

# Validating Webhooks

When a webhook is sent, Payscore uses the webhook body and your secret key to create a hash signature, which is sent in the header `Verification-Signature`. The hash is created using HMAC-SHA256 and is hex encoded.&#x20;

In order for you to validate that the webhook is legitimate, hash the raw webhook body using your secret key as the key, and then compare your generated signature with the `Verification-Signature`  header value.

{% hint style="warning" %}
**Do Not Parse or Cast the Webhook Request Body**\
While generating the signature at your end, ensure that the webhook body passed as an argument is the raw webhook request body. Do not parse or cast the webhook request body.
{% endhint %}
