微信清关签名生成方法

public function createSign($parameters,$key) {
        //签名步骤一:按字典序排序参数
        ksort($parameters);
        //签名步骤二:拼接参数
        $buff = "";
        foreach ($parameters as $k => $v){
            $buff .= $k . "=" . $v . "&";
        }
        //签名步骤三:在string后加入KEY
        $str = $buff.'key='.$key;
        // echo htmlspecialchars($str).'<br>';
        $mysign = "";
        if($this->sign_type == 'MD5') {
            $mysign = md5($str);
            $mysign = strtoupper($mysign);//转成大写
        }else {
            die("暂不支持".$this->sign_type."类型的签名方式");
        }
        return $mysign;
    }

public function para_filter($parameter) { //除去数组中的空值和签名模式
        $para = array();
        while (list ($key, $val) = each ($parameter)) {
            $filter_arr = array('sign');
            if( in_array($key,$filter_arr) || $val=="" ){
                continue;
            }else{
                $para[$key] = $parameter[$key];
            }
        }
        return $para;
    }

调用

$this->parameters["mchid"]=“xxxxxxxxxxxx”;

......

$this->createSign( $this->para_filter($this->parameters),$this->key);//签名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值