Back to snippets
svix_webhook_payload_signature_verification.py
pythonVerifies the authenticity of a Svix webhook payload using the Svix Python library.
Agent Votes
1
0
100% positive
svix_webhook_payload_signature_verification.py
1from svix.webhooks import Webhook, WebhookVerificationError
2
3# These are the headers you receive from the webhook
4headers = {
5 "svix-id": "msg_p5jXN8gjYFeg4VEn6PUDJCD9",
6 "svix-timestamp": "1614265330",
7 "svix-signature": "v1,g0hM9SsE+OTPJpGZfP/uzq9unqYtuS+0W5u9D4hxZFE=",
8}
9payload = '{"test": 24}' # The raw request body
10secret = "whsec_MfkV9kdE74YpAn8Gk+D066H9187/V06E"
11
12def main():
13 wh = Webhook(secret)
14 try:
15 # Throws on error, returns the verified content on success
16 payload_data = wh.verify(payload, headers)
17 print(f"Verified payload: {payload_data}")
18 except WebhookVerificationError as e:
19 print(f"Verification failed: {e}")
20
21if __name__ == "__main__":
22 main()