From d36d5a67fc2ac1ee1b796c489d3dbfdd67e07554 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 2 Aug 2023 14:10:00 +0800 Subject: [PATCH] 1 --- webapp/services/callback/InAppPurchase.php | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/webapp/services/callback/InAppPurchase.php b/webapp/services/callback/InAppPurchase.php index fa4cb5d1..c9872a42 100644 --- a/webapp/services/callback/InAppPurchase.php +++ b/webapp/services/callback/InAppPurchase.php @@ -204,9 +204,24 @@ class InAppPurchase { $this->_rspOk(); } - private function verifySign() + private function verifySign($data) { + $channel = $data['channel']; + $records = $data['records']; + $sign = $data['sign']; + $strings = array(); + foreach ($records as $record) { + ksort($record); + foreach($record as $key => $val){ + array_push($strings, $key . '=' . $val); + } + } + $signStr = 'channel=' . $channel . '&' . implode("&", $strings); + error_log('InAppPurchase verify ' . $signStr); + + $signature = hash_hmac('sha256', $singStr, BUY_SERVER_PKEY); + return $sign == $signature; } }