更新时间:2023-11-27 22:00:34
这是我验证谷歌订单的代码。它适用于我公司的所有产品。非常简单的代码。
here's my code for verify google order. it works fine with all products of my company. Very simple code.
function verifyGoogleOrderLocal($packageName, $jsonData, $sig)
{
$public_keys = array(
'package1' => 'key1',
'package2' => 'key2',
);
if(!$public_keys[$packageName]) {
return array("success"=>0,"reason"=>'no public key defined');
}
$key = get_openssl_key($public_keys[$packageName]);
if(!$key) {
return array("success"=>0,"reason"=>'invalid public key');
}
$result = openssl_verify($jsonData, base64_decode($sig), $key, OPENSSL_ALGO_SHA1);
$resp = array('success'=>$result);
if($result==0) $resp['reason'] = 'invalid signature';
return $resp;
}
function get_openssl_key($publicKey)
{
$key = "-----BEGIN PUBLIC KEY-----\n" . chunk_split($publicKey, 64, "\n") . '-----END PUBLIC KEY-----';
$key = openssl_get_publickey($key);
return $key;
}