php版微信公眾號接口實(shí)現(xiàn)發(fā)紅包的方法
本文實(shí)例講述了php版微信公眾號接口實(shí)現(xiàn)發(fā)紅包的方法。分享給大家供大家參考,具體如下:
最近接到一個(gè)任務(wù),需要用微信來給用戶自動發(fā)紅包。要完成這個(gè)任務(wù)需要這么已經(jīng)一些物料
微信商戶號,已申請微信支付
微信商戶號主體下面的微信公眾號
先看一下效果圖



只需要完成后面幾步就可以了。
在微信公眾號服務(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',"汽配一號鋪"); //紅包發(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();//商戶訂單號
$this->parameters["wxappid"] = WxPayConf_pub::APPID;//公眾賬號ID
$this->parameters["mch_id"] = WxPayConf_pub::MCHID;//商戶號
$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ù)上面,就可以了??!然后在做微信公眾號(這個(gè)公眾號)的服務(wù)上面加入“紅包”。就能達(dá)到上面的效果了
根據(jù)文檔進(jìn)行開發(fā)
請您仔細(xì)閱讀接口文檔,參照文檔進(jìn)行開發(fā),請注意,為了保證商戶資金安全,接口強(qiáng)校驗(yàn)商戶號與appid之間的綁定關(guān)系,以及appid與openid之間的對應(yīng)關(guān)系(如果商戶號與appid之間沒有綁定關(guān)系,即appid沒有申請微信支付或者申請微信支付商戶號不匹配,或者openid歸屬appid錯誤,接口會返回報(bào)錯)。
更多關(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ù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php不使用copy()函數(shù)復(fù)制文件的方法
這篇文章主要介紹了php不使用copy()函數(shù)復(fù)制文件的方法,涉及php讀寫文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03
php轉(zhuǎn)換上傳word文件為PDF的方法【基于COM組件】
這篇文章主要介紹了php轉(zhuǎn)換上傳word文件為PDF的方法,結(jié)合實(shí)例形式分析了php基于COM組件針對word文件的格式轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
PHP create_function()函數(shù)應(yīng)用實(shí)例詳解
create_function()函數(shù)在代碼審計(jì)中,主要用來查找項(xiàng)目中的代碼注入和回調(diào)后門的情況,熟悉了執(zhí)行流程,我們可以熟練的實(shí)現(xiàn)對代碼注入的payload構(gòu)造,從而進(jìn)行漏洞挖掘和找出存在的缺陷2022-10-10
php代碼架構(gòu)的八點(diǎn)注意事項(xiàng)
這篇文章主要介紹了php代碼架構(gòu)的八點(diǎn)注意事項(xiàng),較為全面的分析總結(jié)了基于面向?qū)ο蟪绦蛟O(shè)計(jì)的代碼架構(gòu)設(shè)計(jì)問題相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-01-01
PHP三層結(jié)構(gòu)(上) 簡單三層結(jié)構(gòu)
我們以一個(gè)簡單的留言板代碼為例,先來看一個(gè)最簡單的三層結(jié)構(gòu)代碼2010-07-07

