@@ -19,7 +19,9 @@ function validateHmac(body, requestHmac, referer = null) {
1919 var hmac = crypto . createHmac ( 'sha256' , hmacKey ) ;
2020 hmac . update ( body ) ;
2121 const calculatedHmac = hmac . digest ( 'base64' ) ;
22- console . log ( 'Request HMAC, calculated HMAC:' , requestHmac , calculatedHmac )
22+ if ( requestHmac !== calculatedHmac ) {
23+ console . log ( 'HMAC mismatch, requestHmac, calculatedHmac:' , requestHmac , calculatedHmac ) ;
24+ }
2325 return requestHmac === calculatedHmac ;
2426}
2527
@@ -32,9 +34,24 @@ const handleHook = (req, res, eventType, skipHmac = false, json = false) => {
3234 if ( referer ) {
3335 dataArray . Referer = referer ;
3436 }
37+
38+ try {
39+ if ( dataArray . Data ) {
40+ const parsedData = JSON . parse ( dataArray . Data ) ;
41+ if ( parsedData . userid && parsedData . contextid && dataArray . Amount ) {
42+ const url = config . kabinetHostname + '/local/cohortautoenrol/approve.php?contextid=' + parsedData . contextid + '&userid=' + parsedData . userid + '&key=' + config . autoenrolKey + '&amount=' + dataArray . Amount ;
43+ getContent ( url )
44+ . then ( result => console . info ( result ) )
45+ . catch ( error => console . error ( 'Problem registring payment in LK:' , url , error . message , dataArray . Data ) )
46+ }
47+ }
48+ } catch ( e ) {
49+ console . error ( 'Problem registring payment in LK:' , dataArray . Data ) ;
50+ }
51+
3552 return publishEvent ( eventType , dataArray ) ;
3653 } else {
37- console . log ( 'HMAC failed for request:' , req . url , data ) ;
54+ console . error ( 'HMAC failed for request:' , req . url , data ) ;
3855 throw new Error ( 'HMAC not valid' ) ;
3956 }
4057 } )
@@ -195,5 +212,5 @@ const server = http.createServer((req, res) => {
195212} ) ;
196213
197214server . listen ( config . port , config . hostname , ( ) => {
198- console . log ( `Server running at http://${ config . hostname } :${ config . port } /` ) ;
215+ console . info ( `Server running at http://${ config . hostname } :${ config . port } /` ) ;
199216} ) ;
0 commit comments