var payload = {name:'value',amount:100};
dataToHash = JSON.stringify(payload);
dataToHash = requestUri; /* The URI of this webhook eg: /my-path on https://mydomain.com/my-path */
dataToHash += queryString; /* eg: myparam=1 on https://mydomain.com/my-path?myparam=1 */
dataToHash += contentType; /* eg: application/json */
dataToHash += JSON.stringify(payload);
var hasher = CryptoJS.HmacSHA256(dataToHash, "XYZ");
var hashInHex = CryptoJS.enc.Hex.stringify(hasher);
document.getElementById('output').innerHTML = 'Data to hash: '+dataToHash+"<br/>Resulting signature: "+hashInHex;