· 5 years ago · Jun 05, 2020, 03:12 AM
1private static function generateKokattoAPISignedRequest($queryString, $secretKey) {
2
3 //construct query string into map
4 parse_str($queryString, $queryStringMap);
5
6 //sort map by key
7 ksort($queryStringMap);
8
9 //construct map into query string
10 $query = http_build_query($queryStringMap);
11
12 //md5 hash query string
13 $queryMd5 = md5($query);
14
15 //generate hmac hash with sha256 method
16 $queryHmacSha256 = hash_hmac('sha256', $queryMd5, $secretKey);
17
18 //url encode hmac hash
19 $signatureEncoded = urlencode($queryHmacSha256);
20
21 //append the signature in query parameters
22 $queryEncoded = $queryString . "&signature=" . $signatureEncoded;
23
24 return $queryEncoded;
25
26}