appId;$params['mchid']=$this->mchid;$params['nonce_str']=$this->createNoncestr();$params['partner_trade_no']=$data['out_trade_no'];$params['openid']=$data['openid'];$params['check_name']='NO_CHECK';$params['金额']=$data['total_fee'];$params['desc']='取款';$params['spbill_create_ip']=$_SERVER["REMOTE_ADDR"];$params['sign']=$this->getSign($pa公羊);$postXml=$this->arrayToXml($params);$resXml=$this->postXmlCurl('https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers',$postXml,30,true);$resData=$this->xmlToArray($resXml);如果(!$resData||$resData['return_code']!='SUCCESS'||$resData['result_code']!='SUCCESS')返回假;//var_dump($resData);return$resData;}/*商户支付给用户银行卡out_trade_no国外订单号total_fee操作金额enc_bank_no收款人银行卡号enc_true_name收款人姓名bank_code微信文档获取银行号对应*/publicfunctionpayToBank($data){$params=array();$params['mch_id']=$this->mchid;$params['nonce_str']=$this->createNoncestr();$params['partner_trade_no']=$data['out_trade_no'];$params['enc_bank_no']=$data['enc_bank_no'];$params['enc_true_name']=$data['enc_true_name'];$params['金额']=$data['total_fee'];$params['bank_code']=$data['bank_code'];$params['sign']=$this->getSign($params);$postXml=$this->arrayToXml($params);$resXml=$this->postXmlCurl('https://api.mch.weixin.qq.com/mmpaysptrans/pay_bank',$postXml,30);$resData=$this->xmlToArray($resXml);如果(!$resData||$resData['return_code']!='SUCCESS'||$resData['result_code']!='SUCCESS')返回假;返回$resData;}//功能:生成签名privatefunctiongetSign($Obj){$Parameters=array();foreach($Objas$k=>$v){$Parameters[$k]=$v;}//签名步骤一:按照字典顺序对参数进行排序ksort($Parameters);$String=$this->formatBizQueryParaMap($Parameters,false);//签名步骤2:在字符串String=$String后添加KEY$。“&键=”。$这个->键;//签名步骤3:MD5加密$String=md5($String);//签名步骤4:将所有字符转换为大写$result_=strtoupper($String);return$result_;}///函数:格式化参数,签名过程需要用到私有函数formatBizQueryParaMap($paraMap,$urlencode){$buff="";ksort($paraMap);foreach($paraMapas$k=>$v){if($urlenc)ode){$v=urlencode($v);}$buff.=$k.“=”。$v。"&";}if(strlen($buff)>0){$reqPar=substr($buff,0,strlen($buff)-1);}return$reqPar;}//将数组转为xml格式privatefunctionarrayToXml($arr){$xml="
