小游戏虚拟支付报签名错误
/**
* 生成mp_sig签名
* @param $url_path
* @param $params
* @param $session_key
* @return string
*/
public function makeMpSig($url_path, $params, $session_key)
{
ksort($params);
$query_string = array();
foreach ($params as $key => $val )
{
array_push($query_string, $key . '=' . $val);
}
$query_string = join('&', $query_string);
$query_string .= "&org_loc=" . $url_path . "&method=POST&session_key=" . $session_key;
$my_sign = hash_hmac("sha256", $query_string, $session_key);
return $my_sign;
}
php写的签名方法,返回Array ( [errcode] => 90009 [errmsg] => mp_sig error hint: [aT13rA02423672] )
实际上用这个方法把官方文档上的参数放入去生成出来的结果跟官方上给出的结果是一样的,为什么真正去调用接口时会报错?难道文档说的方法也不对?
