首頁 >後端開發 >php教程 >php微信公眾號介面實作發紅包的方法

php微信公眾號介面實作發紅包的方法

墨辰丷
墨辰丷原創
2018-06-01 09:32:472067瀏覽

這篇文章主要介紹了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框架Laravel中使用UUID實作資料分錶操作

PHP mysql ajax實作輕量層級聊天室的方法

php實作跨域提交form表單的方法

以上是php微信公眾號介面實作發紅包的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn