本文實例講述了PHP編程實現微信企業向用戶付款的方法。分享給大家供大家參考,具體如下:
<?php header('content-type:text/html;charset=utf-8'); $data['mch_appid']='##################';//商戶的應用appid $data['mchid']='################';//商戶ID $data['nonce_str']='123456';//unicode();//這個據說是唯一的字符串下面有方法 $data['partner_trade_no']='LB123456';//.time();//這個是訂單號。 $data['openid']='123';//這個是授權用戶的openid。。這個必須得是用戶授權才能用 $data['check_name']='NO_CHECK';//這個是設置是否檢測用戶真實姓名的 $data['re_user_name']='######';//用戶的真實名字 $data['amount']='1';//提現金額 $data['desc']='服務費';//訂單描述 $data['spbill_create_ip']=$_SERVER['SERVER_ADDR'];//這個最煩了,,還得獲取服務器的ip $secrect_key='#################################';///這個就是個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實體 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); //抓取指定網頁 curl_setopt($ch, CURLOPT_HEADER, 0); //設置header curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //要求結果為字符串且輸出到屏幕上 curl_setopt($ch, CURLOPT_POST, 1); //post提交方式 curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost); // 增加 HTTP Header(頭)里的字段 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 終止從服務端進行驗證 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/cert/apiclient_cert.pem'); //這個是證書的位置 curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/cert/apiclient_key.pem'); //這個也是證書的位置 $data = curl_exec($ch); //運行curl curl_close($ch); return $data; }
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。