您好,登錄后才能下訂單哦!
利用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怎么實現一個微信企業向用戶付款的功能的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。