中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

PHP微信公眾號(hào)自動(dòng)發(fā)送紅包API
來(lái)源:易賢網(wǎng) 閱讀:2634 次 日期:2016-08-18 14:57:57
溫馨提示:易賢網(wǎng)小編為您整理了“PHP微信公眾號(hào)自動(dòng)發(fā)送紅包API”,方便廣大網(wǎng)友查閱!

本文實(shí)例為大家分享了PHP微信公眾號(hào)自動(dòng)發(fā)送紅包API代碼,分享給大家供大家參考。具體如下:

貼出核心接口代碼至于數(shù)據(jù)自己填寫,接口測(cè)試OK

wechat_packet.php

<!--?php

/**

 * 發(fā)送紅包接口

 * Created by PhpStorm.

 * User: ADKi

 * Date: 2016/4/25 0025

 * Time: 15:25

 */

class wechat_packet{

 private $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';//請(qǐng)求URL

 private $mch_id;//商戶號(hào)

 private $weixin_appid;//公眾賬號(hào)appid

 private $send_name;//商戶名稱

 private $total_num = 1;//發(fā)送紅包總?cè)藬?shù)

 private $wishing;//紅包祝福語(yǔ)

 private $client_ip;//調(diào)用接口的機(jī)器Ip地址

 private $act_name;//活動(dòng)名稱

 private $remark;//備注信息

 private $nonce_str;//隨機(jī)字符串,不長(zhǎng)于32位

 private $api_password;

 private $arraytoxml;//數(shù)組轉(zhuǎn)xml

 /**

  * 公鑰

  */

 private $public_key = "/api/wechat/cert/apiclient_cert.pem";

 /**

  * 私鑰

  */

 private $private_key = '/api/wechat/cert/apiclient_key.pem';

 /**

  * ca證書

  */

 private $rootca = 'api/wechat/cert/rootca.pem';

 public function __construct()

 {

  //初始化紅包設(shè)置信息

  $this--->weixin_appid = C('wap_weixin_appid');

  $this->mch_id = C('wechat_mch_id');

  $this->send_name = C('wechat_send_name');

  $this->wishing = C('wechat_wishing');

  $this->act_name = C('wechat_act_name');

  $this->client_ip = $_SERVER['SERVER_ADDR'];

  $this->remark = C('wechat_remark');

  $this->nonce_str = $this->create_nonce_str(32);

  $this->api_password = C('wechat_api_password');

  $inc_file = BASE_PATH.DS.'api'.DS.'wechat'.DS.'arraytoxml.php';

  if(is_file($inc_file)) {

   require($inc_file);

  }

  $this->arraytoxml = new ArrayToXML();

 }

 public function send_post($mch_billno,$re_openid,$total_amount){

  $sign = $this->create_sign($mch_billno,$re_openid,$total_amount);

  $send_array = array(

   'nonce_str' => $this->nonce_str,

   'mch_billno' => $mch_billno,

   'mch_id' => $this->mch_id,

   'wxappid' => $this->weixin_appid,

   'send_name' => $this->send_name,

   're_openid' => $re_openid,

   'total_amount' => $total_amount,

   'total_num' => $this->total_num,

   'wishing' => $this->wishing,

   'client_ip' => $this->client_ip,

   'act_name' => $this->act_name,

   'remark' => $this->remark,

   'sign' => $sign,

  );

  $send_xml = $this->arraytoxml->toXml($send_array,'');

  $data = $this->curl_post_ssl($this->url, $send_xml);

  $data = $this->xmlToArray($data);

  file_put_contents('adki',var_export($data,true),FILE_APPEND);

 }

 /*

 請(qǐng)確保您的libcurl版本是否支持雙向認(rèn)證,版本高于7.20.1

 */

 private 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_PROXY, '10.206.30.98');

  //curl_setopt($ch,CURLOPT_PROXYPORT, 8080);

  curl_setopt($ch,CURLOPT_URL,$url);

  curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);

  curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);

  //以下兩種方式需選擇一種

  //第一種方法,cert 與 key 分別屬于兩個(gè).pem文件

  //默認(rèn)格式為PEM,可以注釋

  curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');

  curl_setopt($ch,CURLOPT_SSLCERT,getcwd().$this->public_key);

  //默認(rèn)格式為PEM,可以注釋

  curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');

  curl_setopt($ch,CURLOPT_SSLKEY,getcwd().$this->private_key);

  //ca證書

  curl_setopt($ch,CURLOPT_CAINFO,$this->rootca);

  //第二種方式,兩個(gè)文件合成一個(gè).pem文件

  //curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/all.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\n\n\n";

   curl_close($ch);

   return false;

  }

 }

 //生成簽名

 private function create_sign($mch_billno,$re_openid,$total_amount){

  $string_array = array(

   'act_name' => $this->act_name,

   'client_ip' => $this->client_ip,

   'mch_billno' => $mch_billno,

   'mch_id' => $this->mch_id,

   'nonce_str' => $this->nonce_str,

   're_openid' => $re_openid,

   'remark' => $this->remark,

   'send_name' => $this->send_name,

   'total_amount' => $total_amount,

   'total_num' => $this->total_num,

   'wishing' => $this->wishing,

   'wxappid' => $this->weixin_appid,

  );

  foreach ($string_array as $key => $value){

   if(!empty($value)){

    $stringA .= "$key=$value";

    if($key != 'wxappid'){

     $stringA .= '&';

    }

   }

  }

  //轉(zhuǎn)成UTF-8

  $stringA = $this->gbkToUtf8($stringA);

  $stringSignTemp="$stringA&key=$this->api_password";

  $sign = MD5($stringSignTemp);

  $sign = strtoupper($sign);

  return $sign;

 }

 //生成隨機(jī)字符串

 private function create_nonce_str($length){

  $str = null;

  $strPol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";

  $max = strlen($strPol)-1;

  for($i=0;$i<$length;$i++){

   $str.=$strPol[rand(0,$max)];//rand($min,$max)生成介于min和max兩個(gè)數(shù)之間的一個(gè)隨機(jī)整數(shù)

  }

  return $str;

 }

 /**

  *自動(dòng)判斷把gbk或gb2312編碼的字符串轉(zhuǎn)為utf8

  *能自動(dòng)判斷輸入字符串的編碼類,如果本身是utf-8就不用轉(zhuǎn)換,否則就轉(zhuǎn)換為utf-8的字符串

  *支持的字符編碼類型是:utf-8,gbk,gb2312

  *@$str:string 字符串

  */

 private function gbkToUtf8($str){

  $charset = mb_detect_encoding($str,array('ASCII','UTF-8','GBK','GB2312'));

  $charset = strtolower($charset);

  if("utf-8" != $charset){

   $str = iconv('UTF-8',$charset,$str);

  }

  return $str;

 }

 private function xmlToArray($postStr){

  $msg = array();

  $msg = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

  return $msg;

 }

}

數(shù)組轉(zhuǎn)xml:arraytoxml.php

<!--?php

/**

 * Created by PhpStorm.

 * User: ADKi

 * Date: 2016/4/26 0026

 * Time: 12:19

 */

class ArrayToXML

{

 public function toXml($data){

  $xml = '<xml-->';

  foreach ($data as $key => $value){

   if (is_numeric($value)){

    $xml .= "<".$key.">".$value."<!--".$key."-->";

   }else{

    $xml .= "<".$key."><!--[CDATA[".$value."]]--><!--".$key."-->";

   }

  }

  $xml .= '';

  return $xml;

 }

}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)PHP程序設(shè)計(jì)有所幫助

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:PHP微信公眾號(hào)自動(dòng)發(fā)送紅包API
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2026上岸·考公考編培訓(xùn)報(bào)班

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
亚洲国产一区二区在线| 欧美国产亚洲精品久久久8v| 99国产精品久久久久久久成人热| 亚洲男人影院| 国产精品日韩精品| 一区二区欧美精品| 欧美伦理一区二区| 亚洲国产精品激情在线观看| 久热精品视频| 亚洲乱亚洲高清| 欧美乱大交xxxxx| 99亚洲一区二区| 国产精品毛片| 性久久久久久久| 国产精品久久亚洲7777| 亚洲在线国产日韩欧美| 国产乱码精品| 欧美在线视频不卡| 好吊日精品视频| 久久人人爽人人爽爽久久| 亚洲国产网站| 韩国一区二区三区在线观看 | 欧美成人亚洲成人| 亚洲美女在线看| 国产一区二区三区在线观看免费视频 | 午夜精品久久久久影视| 在线免费日韩片| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 欧美精品一区二区三区高清aⅴ| 日韩天堂在线观看| 激情综合电影网| 国产精品久久久久一区二区三区共| 久久久久久久久岛国免费| 欧美一区二区成人| 91久久精品国产91久久性色| 国产精品亚洲美女av网站| 久久一综合视频| 亚洲欧美在线视频观看| 亚洲特色特黄| 亚洲图片欧美午夜| 亚洲老司机av| 日韩五码在线| 亚洲麻豆国产自偷在线| 亚洲黄色免费| 日韩亚洲欧美一区| 日韩视频一区二区| 亚洲经典一区| 一本大道久久a久久综合婷婷| 亚洲人成欧美中文字幕| 亚洲人成网在线播放| 91久久午夜| 夜夜爽av福利精品导航| 99精品欧美| 99国产精品99久久久久久粉嫩| 亚洲理伦在线| 亚洲一区二区三区在线视频| 新片速递亚洲合集欧美合集| 亚洲视频www| 久久精彩视频| 能在线观看的日韩av| 欧美日韩亚洲一区二区三区在线观看| 欧美日韩国产黄| 欧美午夜影院| 国产无遮挡一区二区三区毛片日本| 国产日韩在线看| 91久久综合| 蜜臀av一级做a爰片久久| 欧美在线一二三区| 美女黄毛**国产精品啪啪| 国产精品a久久久久| 国产精品人成在线观看免费| 亚洲大片一区二区三区| 国产精品日本精品| 亚洲欧洲一区二区三区| 欧美成人小视频| 国产精品视频男人的天堂| 狠狠色伊人亚洲综合网站色| 在线视频亚洲一区| 榴莲视频成人在线观看| 午夜精品福利在线| 欧美成人激情在线| 在线日本高清免费不卡| 亚洲嫩草精品久久| 国产精品久久久免费| 亚洲区中文字幕| 蜜桃av噜噜一区| 亚洲高清激情| 麻豆免费精品视频| 国产女主播视频一区二区| 一本久道久久久| 免播放器亚洲一区| 亚洲国产欧美一区二区三区同亚洲| 久久久综合网| 亚洲黄色大片| 国产精品美腿一区在线看 | 日韩小视频在线观看| 久久偷窥视频| 99精品欧美一区| 欧美不卡一区| 欧美激情中文不卡| 亚洲国产婷婷| 欧美激情影音先锋| 一本色道久久88亚洲综合88| 国产一区二区三区四区| 久久久不卡网国产精品一区| 国产日韩精品一区二区| 男人插女人欧美| 亚洲已满18点击进入久久| 国产日韩欧美中文| 你懂的国产精品永久在线| 亚洲国产婷婷综合在线精品| 欧美日韩精品是欧美日韩精品| 在线中文字幕不卡| 精品91在线| 国产精品久久久久aaaa樱花| 国产精品人人做人人爽| 欧美在线视频免费观看| 91久久线看在观草草青青| 欧美日韩亚洲一区二区三区在线观看| 亚洲素人一区二区| 欧美激情日韩| 久久久久一区| 亚洲免费视频成人| 亚洲国产欧美久久| 国一区二区在线观看| 国产精品成人一区二区网站软件| 久久综合给合久久狠狠色| 99精品国产在热久久下载| 又紧又大又爽精品一区二区| 国产精品久久久一本精品| 欧美欧美天天天天操| 欧美精品导航| 欧美大片免费观看| 麻豆国产精品va在线观看不卡| 欧美专区亚洲专区| 久久av最新网址| 久久综合九色综合欧美就去吻 | 欧美一区二区三区在线| 99视频超级精品| 亚洲精品黄色| 亚洲精选成人| 一区二区成人精品| 一区二区高清| 午夜在线观看免费一区| 一区二区三区高清在线观看| 99精品视频免费| 亚洲欧美激情四射在线日| 亚洲亚洲精品在线观看| 亚洲一级网站| 欧美在线网址| 欧美大成色www永久网站婷| 欧美精品v国产精品v日韩精品 | 国产精品一区二区你懂得| 国产精品日韩欧美大师| 韩国欧美国产1区| 亚洲精品在线免费| 亚洲高清在线观看| 日韩一区二区久久| 亚洲在线免费| 久久精品噜噜噜成人av农村| 久久久999国产| 欧美日韩国产色视频| 欧美日韩视频在线| 国产综合视频在线观看| 国内外成人在线视频| 亚洲激情社区| 一本色道久久99精品综合| 国内精品久久久久久| 日韩视频不卡中文| 欧美一区2区视频在线观看| 午夜一区在线| 欧美金8天国| 国产亚洲va综合人人澡精品| 99在线|亚洲一区二区| 裸体一区二区三区| 国产精品久久久久91| 亚洲精品网站在线播放gif| 久久久久久久成人| 国产精品免费网站在线观看| 亚洲激情在线观看| 久久综合给合| 在线精品亚洲| 在线视频日韩精品| 亚洲欧美第一页| 99精品欧美| 欧美精品系列| 亚洲国产精品电影| 欧美在线一级视频| 国产婷婷一区二区| 亚洲一区二区三区四区视频| 欧美亚洲尤物久久| 国产精品成人观看视频免费| 激情视频一区二区| 亚洲欧美www| 亚洲一区二区成人| 国产女主播一区二区三区| 99视频日韩| 国产一级精品aaaaa看| 国产精品丝袜91| 在线观看日韩www视频免费 |