php版微信公眾號(hào)接口實(shí)現(xiàn)發(fā)紅包的方法
本文實(shí)例講述了php版微信公眾號(hào)接口實(shí)現(xiàn)發(fā)紅包的方法。分享給大家供大家參考,具體如下:
最近接到一個(gè)任務(wù),需要用微信來給用戶自動(dòng)發(fā)紅包。要完成這個(gè)任務(wù)需要這么已經(jīng)一些物料
微信商戶號(hào),已申請(qǐng)微信支付
微信商戶號(hào)主體下面的微信公眾號(hào)
先看一下效果圖
只需要完成后面幾步就可以了。
在微信公眾號(hào)服務(wù)器上面調(diào)用紅包代碼
/* **微信紅包功能 */ public function sendredpack(){ $re_openid = $this->_pg('re_openid'); $inputObj = new sendredpack_pub(); if(!$re_openid){ return "微信紅包功能,收紅包用戶不能為空"; } $inputObj->setParameter('re_openid',$re_openid); //收紅包的用戶的openid $inputObj->setParameter('send_name',"汽配一號(hào)鋪"); //紅包發(fā)送者名稱 $inputObj->setParameter('total_amount',"100"); //收紅包的用戶的金額,精確到分 $inputObj->setParameter('total_num',"1"); //收紅包的個(gè)數(shù) $inputObj->setParameter('wishing',"恭喜發(fā)財(cái),謝謝支持,小小心意"); //收紅包的用戶的openid $inputObj->setParameter('client_ip',"121.40.157.243"); //調(diào)用接口的IP $inputObj->setParameter('act_name',"小鄧感恩紅包"); //紅包主題 $inputObj->setParameter('remark',"謝謝大家一路一來的支持"); //備注 $response = $inputObj->getResult(); return $response; }
在微信支付輔助工具層加一個(gè)類,來完成紅包功能
/** * 微信發(fā)紅包接口 **/ class sendredpack_pub extends Wxpay_client_pub { function __construct() { //設(shè)置接口鏈接 $this->url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack"; //設(shè)置curl超時(shí)時(shí)間 $this->curl_timeout = WxPayConf_pub::CURL_TIMEOUT; } /** * 生成接口參數(shù)xml */ function createXml() { try { $this->parameters["mch_billno"] = WxPayConf_pub::MCHID.createUnique();//商戶訂單號(hào) $this->parameters["wxappid"] = WxPayConf_pub::APPID;//公眾賬號(hào)ID $this->parameters["mch_id"] = WxPayConf_pub::MCHID;//商戶號(hào) $this->parameters["nonce_str"] = $this->createNoncestr();//隨機(jī)字符串 $this->parameters["sign"] = $this->getSign($this->parameters);//簽名 return $this->arrayToXml($this->parameters); }catch (SDKRuntimeException $e) { die($e->errorMessage()); } } /** * 作用:獲取結(jié)果,使用證書通信 */ function getResult() { $this->postXmlSSL(); $this->result = $this->xmlToArray($this->response); return $this->result; } }
然后部署返微信支付的服務(wù)上面,就可以了??!然后在做微信公眾號(hào)(這個(gè)公眾號(hào))的服務(wù)上面加入“紅包”。就能達(dá)到上面的效果了
根據(jù)文檔進(jìn)行開發(fā)
請(qǐng)您仔細(xì)閱讀接口文檔,參照文檔進(jìn)行開發(fā),請(qǐng)注意,為了保證商戶資金安全,接口強(qiáng)校驗(yàn)商戶號(hào)與appid之間的綁定關(guān)系,以及appid與openid之間的對(duì)應(yīng)關(guān)系(如果商戶號(hào)與appid之間沒有綁定關(guān)系,即appid沒有申請(qǐng)微信支付或者申請(qǐng)微信支付商戶號(hào)不匹配,或者openid歸屬appid錯(cuò)誤,接口會(huì)返回報(bào)錯(cuò))。
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP微信開發(fā)技巧匯總》、《PHP編碼與轉(zhuǎn)碼操作技巧匯總》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
thinkphp中多表查詢中防止數(shù)據(jù)重復(fù)的sql語句(必看)
下面小編就為大家?guī)硪黄猼hinkphp中多表查詢中防止數(shù)據(jù)重復(fù)的sql語句(必看)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED問題解決辦法
這篇文章主要介紹了PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED問題解決辦法,需要的朋友可以參考下2014-05-05php顏色轉(zhuǎn)換函數(shù)hex-rgb(將十六進(jìn)制格式轉(zhuǎn)成十進(jìn)制格式)
將十六進(jìn)制格式轉(zhuǎn)成十進(jìn)制格式的函數(shù)代碼,也就是hex-rgb顏色轉(zhuǎn)換需要的2013-09-09PHP使用file_get_content設(shè)置頭信息的方法
這篇文章主要介紹了PHP使用file_get_content設(shè)置頭信息的方法,結(jié)合實(shí)例形式對(duì)比分析了PHP使用fopen及file_get_contents設(shè)置及獲取頭信息的相關(guān)技巧,需要的朋友可以參考下2016-02-02PHP實(shí)現(xiàn)對(duì)文本數(shù)據(jù)庫的常用操作方法實(shí)例演示
這篇文章主要介紹了PHP實(shí)現(xiàn)對(duì)文本數(shù)據(jù)庫的常用操作方法,需要的朋友可以參考下2014-07-07php程序之die調(diào)試法 快速解決錯(cuò)誤
經(jīng)??吹接谐跞隤HP道朋友對(duì)于php程序出現(xiàn)問題素手無策的情況2009-09-09windows7下安裝php的imagick和imagemagick擴(kuò)展教程
這篇文章主要介紹了windows7下安裝php的imagick和imagemagick擴(kuò)展教程,同樣也適應(yīng)XP操作系統(tǒng),Win8下就沒測(cè)試過了,需要的朋友可以參考下2014-07-07