本文實(shí)例講述了PHP編程實(shí)現(xiàn)微信企業(yè)向用戶付款的方法。分享給大家供大家參考,具體如下:
<?php header('content-type:text/html;charset=utf-8'); $data['mch_appid']='##################';//商戶的應(yīng)用appid $data['mchid']='################';//商戶ID $data['nonce_str']='123456';//unicode();//這個(gè)據(jù)說(shuō)是唯一的字符串下面有方法 $data['partner_trade_no']='LB123456';//.time();//這個(gè)是訂單號(hào)。 $data['openid']='123';//這個(gè)是授權(quán)用戶的openid。。這個(gè)必須得是用戶授權(quán)才能用 $data['check_name']='NO_CHECK';//這個(gè)是設(shè)置是否檢測(cè)用戶真實(shí)姓名的 $data['re_user_name']='######';//用戶的真實(shí)名字 $data['amount']='1';//提現(xiàn)金額 $data['desc']='服務(wù)費(fèi)';//訂單描述 $data['spbill_create_ip']=$_SERVER['SERVER_ADDR'];//這個(gè)最煩了,,還得獲取服務(wù)器的ip $secrect_key='#################################';///這個(gè)就是個(gè)API密碼。32位的。。隨便MD5一下就可以了 $data=array_filter($data); ksort($data); $str=''; foreach($data as $k=>$v) { $str.=$k.'='.$v.'&'; } $str.='key='.$secrect_key; $data['sign']=md5($str); $xml=arraytoxml($data); // echo $xml; $url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; $res=curl($xml,$url); $return=xmltoarray($res); print_r($return); // echo getcwd().'/cert/apiclient_cert.pem';die; function unicode() { $str = uniqid(mt_rand(),1); $str=sha1($str); return md5($str); } function arraytoxml($data){ $str='<xml>'; foreach($data as $k=>$v) { $str.='<'.$k.'>'.$v.'</'.$k.'>'; } $str.='</xml>'; return $str; } function xmltoarray($xml) { //禁止引用外部xml實(shí)體 libxml_disable_entity_loader(true); $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); $val = json_decode(json_encode($xmlstring),true); return $val; } function curl($param="",$url) { $postUrl = $url; $curlPost = $param; $ch = curl_init(); //初始化curl curl_setopt($ch, CURLOPT_URL,$postUrl); //抓取指定網(wǎng)頁(yè) curl_setopt($ch, CURLOPT_HEADER, 0); //設(shè)置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求結(jié)果為字符串且輸出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1); //post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); // 增加 HTTP Header(頭)里的字段 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 終止從服務(wù)端進(jìn)行驗(yàn)證 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/cert/apiclient_cert.pem'); //這個(gè)是證書(shū)的位置 curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/cert/apiclient_key.pem'); //這個(gè)也是證書(shū)的位置 $data = curl_exec($ch); //運(yùn)行curl curl_close($ch); return $data; }
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開(kāi)發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。