程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php版微信公眾號接口實現發紅包的方法

php版微信公眾號接口實現發紅包的方法

編輯:PHP綜合

本文實例講述了php版微信公眾號接口實現發紅包的方法。分享給大家供大家參考,具體如下:

最近接到一個任務,需要用微信來給用戶自動發紅包。要完成這個任務需要這麼已經一些物料

微信商戶號,已申請微信支付

微信商戶號主體下面的微信公眾號

先看一下效果圖

只需要完成後面幾步就可以了。

在微信公眾號服務器上面調用紅包代碼

/*
**微信紅包功能
*/
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',"汽配一號鋪"); //紅包發送者名稱
  $inputObj->setParameter('total_amount',"100"); //收紅包的用戶的金額,精確到分
  $inputObj->setParameter('total_num',"1"); //收紅包的個數
  $inputObj->setParameter('wishing',"恭喜發財,謝謝支持,小小心意"); //收紅包的用戶的openid
  $inputObj->setParameter('client_ip',"121.40.157.243"); //調用接口的IP
  $inputObj->setParameter('act_name',"小鄧感恩紅包"); //紅包主題
  $inputObj->setParameter('remark',"謝謝大家一路一來的支持"); //備注
  $response = $inputObj->getResult();
  return $response;
}

在微信支付輔助工具層加一個類,來完成紅包功能

/**
* 微信發紅包接口
**/
class sendredpack_pub extends Wxpay_client_pub
{
   function __construct() {
  //設置接口鏈接
   $this->url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
  //設置curl超時時間
  $this->curl_timeout = WxPayConf_pub::CURL_TIMEOUT;
}
/**
* 生成接口參數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();//隨機字符串
  $this->parameters["sign"] = $this->getSign($this->parameters);//簽名
  return $this->arrayToXml($this->parameters);
 }catch (SDKRuntimeException $e) {
   die($e->errorMessage());
 }
}
/**
* 作用:獲取結果,使用證書通信
*/
function getResult()
{
  $this->postXmlSSL();
  $this->result = $this->xmlToArray($this->response);
  return $this->result;
}
}

然後部署返微信支付的服務上面,就可以了!!然後在做微信公眾號(這個公眾號)的服務上面加入“紅包”。就能達到上面的效果了

根據文檔進行開發

請您仔細閱讀接口文檔,參照文檔進行開發,請注意,為了保證商戶資金安全,接口強校驗商戶號與appid之間的綁定關系,以及appid與openid之間的對應關系(如果商戶號與appid之間沒有綁定關系,即appid沒有申請微信支付或者申請微信支付商戶號不匹配,或者openid歸屬appid錯誤,接口會返回報錯)。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP微信開發技巧匯總》、《PHP編碼與轉碼操作技巧匯總》、《PHP網絡編程技巧總結》、《PHP基本語法入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved