您现在的位置是:生成微信支付签名

生成微信支付签名

yuli09272019年07月24日 标签: PHP Weixin wxpay

Tips 分类: PHP   浏览:257  标签: PHP Weixin wxpay 

// 格式化参数格式化成url参数
// 不同于http_build_query,本函数不会对参数urlencode
private function toUrlParams($param) {
    $buff = "";
    foreach( $param as $k => $v ) {
        if( $k != "sign" && $v !== "" && $v !== NULL && !is_array($v) ) {
            $buff .= $k."=".$v."&";
        }
    }
    $buff = trim($buff, "&");
    return $buff;
}

// 生成签名
public function makeSign($param, $key) {
    if( !$key || empty($key) ) {
        return false;
    }
    // ①按字典序排序参数
    ksort($param);
    $string = $this->toUrlParams($param);
    // ②在string后加入KEY
    $string = $string."&key=".$key;
    // ③MD5加密,④所有字符转为大写
    return strtoupper(md5($string));
}