收藏
评论

小游戏虚拟支付后端签名报错(90009),php获取mp_isg签名.

首先我又一次了解到了微信开发文档中留下的坑,绝对是跟开发者有仇。

经过很长时间研究终于可以获取到到余额,扣游戏币了。

废话不多说开始正题:

我之前一直提示签名错误最终发现是因为文档上面写的沙箱请求地址的错误。可能很多人都会死在这。

沙箱测试地址:"/cgi-bin/midas/sandbox/getbalance"(这是一个巨坑,你要分清自己请求的是沙箱环境还是正式环境)

文档上面的地址:"/cgi-bin/midas/getbalance" 。

下面是获取mp_sig签名的方法 sig也同理修改一下地址就行

public function doPageMpSig($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;
}




最后一次编辑于  2018-12-10
赞 2
收藏