這篇文章將為大家詳細(xì)講解有關(guān)PHP如何開發(fā)微信現(xiàn)金紅包功能,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有沽源免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。具體如下:
微信商家后臺(tái)-現(xiàn)金紅包開發(fā)
sdk
<?php class wxPay { //配置參數(shù)信息 const SHANGHUHAO = "1430998xxx";//商戶號(hào) const PARTNERKEY = "leFyTOXWzUEXxfp47WOu5d9xxxxxx"; //api,商戶后臺(tái) //核心支付函數(shù),參數(shù):請(qǐng)求地址和參數(shù) function pay($url,$obj) { $obj['nonce_str'] = $this->create_noncestr(); //創(chuàng)建隨機(jī)字符串 $stringA = $this->create_qianming($obj,false); //創(chuàng)建簽名 $stringSignTemp = $stringA."&key=leFyTOXWzUEXxfp47WOu5xxxxxx"; //簽名后加api $sign = strtoupper(md5($stringSignTemp)); //簽名加密并大寫 $obj['sign'] = $sign; //將簽名傳入數(shù)組 $postXml = $this->arrayToXml($obj); //將參數(shù)轉(zhuǎn)為xml格式 var_dump($postXml); $responseXml = $this->curl_post_ssl($url,$postXml); //提交請(qǐng)求 var_dump($responseXml); return $responseXml; } //生成簽名,參數(shù):生成簽名的參數(shù)和是否編碼 function create_qianming($arr,$urlencode) { $buff = ""; ksort($arr); //對(duì)傳進(jìn)來(lái)的數(shù)組參數(shù)里面的內(nèi)容按照字母順序排序,a在前面,z在最后(字典序) foreach ($arr as $k=>$v) { if(null!=$v && "null" != $v && "sign" != $k) { //簽名不要轉(zhuǎn)碼 if ($urlencode) { $v = urlencode($v); } $buff.=$k."=".$v."&"; } } if (strlen($buff)>0) { $reqPar = substr($buff,0,strlen($buff)-1); //去掉末尾符號(hào)“&” } return $reqPar; } //生成隨機(jī)字符串,默認(rèn)32位 function create_noncestr($length=32) { //創(chuàng)建隨機(jī)字符 $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $str = ""; for($i=0;$i<$length;$i++) { $str.=substr($chars, mt_rand(0,strlen($chars)-1),1); } return $str; } //數(shù)組轉(zhuǎn)xml function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)) { $xml.="<".$key.">".$val."</".$key.">"; } else { $xml.="<".$key."><![CDATA[".$val."]]></".$key.">"; } } $xml.="</xml>"; return $xml; } //post請(qǐng)求網(wǎng)站,需要證書 function curl_post_ssl($url, $vars, $second=30,$aHeader=array()) { $ch = curl_init(); //超時(shí)時(shí)間 curl_setopt($ch,CURLOPT_TIMEOUT,$second); curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); //這里設(shè)置代理,如果有的話 curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); //cert 與 key 分別屬于兩個(gè).pem文件 //請(qǐng)確保您的libcurl版本是否支持雙向認(rèn)證,版本高于7.20.1 curl_setopt($ch,CURLOPT_SSLCERT,dirname(__FILE__).DIRECTORY_SEPARATOR. 'zhengshu'.DIRECTORY_SEPARATOR.'apiclient_cert.pem'); curl_setopt($ch,CURLOPT_SSLKEY,dirname(__FILE__).DIRECTORY_SEPARATOR. 'zhengshu'.DIRECTORY_SEPARATOR.'apiclient_key.pem'); curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).DIRECTORY_SEPARATOR. 'zhengshu'.DIRECTORY_SEPARATOR.'rootca.pem'); if( count($aHeader) >= 1 ){ curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader); } curl_setopt($ch,CURLOPT_POST, 1); curl_setopt($ch,CURLOPT_POSTFIELDS,$vars); $data = curl_exec($ch); if($data){ curl_close($ch); return $data; } else { $error = curl_errno($ch); echo "call faild, errorCode:$error\n"; curl_close($ch); return false; } } }
證書文件:
請(qǐng)?jiān)谖⑿派虘艉笈_(tái)-API安全下載,PHP請(qǐng)使用php的證書文件
微信紅包調(diào)用測(cè)試文件:
<?php require 'wxpay.class.php';<br><br>//數(shù)組參數(shù) $money = 100; //最低1元,單位分 $sender = "晨緣房產(chǎn)"; $obj2 = array(); $obj2['wxappid'] = ""; //appid $obj2['mch_id'] = ""; //商戶id $obj2['mch_billno'] = "商戶id".date('YmdHis').rand(1000,9999); //組合成28位,根據(jù)官方開發(fā)文檔,可以自行設(shè)置 $obj2['client_ip'] = $_SERVER['REMOTE_ADDR']; $obj2['re_openid'] = "oUxO6v26wdyMHThD9kfDW6NB_xbE"; //接收紅包openid $obj2['total_amount'] = $money; $obj2['min_value'] = $money; $obj2['max_value'] = $money; $obj2['total_num'] = 1; $obj2['nick_name'] = $sender; $obj2['send_name'] = $sender; $obj2['wishing'] = "恭喜發(fā)財(cái)"; $obj2['act_name'] = $sender."紅包"; $obj2['remark'] = $sender."紅包"; $url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack"; $wxpay = new wxPay(); $res = $wxpay->pay($url, $obj2); var_dump($res);
關(guān)于“PHP如何開發(fā)微信現(xiàn)金紅包功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
標(biāo)題名稱:PHP如何開發(fā)微信現(xiàn)金紅包功能-創(chuàng)新互聯(lián)
本文來(lái)源:http://www.rwnh.cn/article6/dgscog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、網(wǎng)站維護(hù)、域名注冊(cè)、微信公眾號(hào)、Google、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容