你好,反馈一下,最新版5.x的微信小程序支付签名算法有误。
最多5个参数,参与签名算法。我用以下代码通过测试。
//签名要自己做,集成的SDK 5.x有BUG
$param = [
'appId' => $this->wxconfig['app_id'],
'nonceStr' => $ret['nonce_str'],
'package' => 'prepay_id=' . $ret['prepay_id'],
'signType' => $this->wxconfig['sign_type'],
'timeStamp' => TIMENOW,
];
$signStr = http_build_query($param, PHP_QUERY_RFC3986, '&');
$signStr = str_replace('%3D', '=', $signStr);
$signStr .= '&key=' . $this->wxconfig['md5_key'];
$sign = strtoupper(hash_hmac('sha256', $signStr, $this->wxconfig['md5_key']));