Web Hook Verification
import hashlib
import hmac
import binascii
SECRET = 'secret_value' #value set as webhook secret
def verifySignature(callback_raw_response, callback_headers):
callback_signature = callback_headers['X-Payload-Digest']
dig = hmac.new(bytes(SECRET , 'utf-8'), bytes(callback_raw_response , 'utf-8'), hashlib.sha1).digest()
signature = binascii.hexlify(dig).decode()
return callback_signature == signature
callback_raw_response = '{"field":"value"}' # use raw unformatted response body
callback_headers = {"X-Payload-Digest": "7e36252a10fd65cbaacd7ff288df2fd3f9e75a46"} # header from response
print(verifySignature(callback_raw_response, callback_headers))Last updated