中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php微信公眾號開發之如何實現現金紅包

發布時間:2021-08-31 09:55:14 來源:億速云 閱讀:94 作者:小新 欄目:開發技術

小編給大家分享一下php微信公眾號開發之如何實現現金紅包,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

具體內容如下

以下有關微信支付中現金紅包的開發參考自微信支付開發文檔,如下圖所示。

php微信公眾號開發之如何實現現金紅包

現金紅包,是微信支付商戶平臺提供的營銷工具之一,上線以來深受廣大商戶與用戶的喜愛。商戶可以通過本平臺向微信支付用戶發放現金紅包。用戶領取紅包后,資金到達用戶微信支付零錢賬戶,和零錢包的其他資金有一樣的使用出口;若用戶未領取,資金將會在24小時后退回商戶的微信支付賬戶中。

以下為本人用于測試微信支付發紅包的代碼片段,僅供參考。

/*測試微信企業給個人發紅包*/ 
public function weixin_red_packet(){ 
  // 請求參數 
  // 隨機字符串 
  $data['nonce_str']=$this->get_unique_value(); 
  //簽名 
  $data['sign']=""; 
  //商戶號,輸入你的商戶號 
  $data['mch_id']="**********"; 
  //商戶訂單號,可以按要求自己組合28位的商戶訂單號 
  $data['mch_billno']=$data['mch_id'].date("ymd")."888888".rand(1000,9999); 
  //公眾帳號appid,輸入自己的公眾號appid 
  $data['wxappid']="*********"; 
  //商戶名稱 
  $data['send_name']="*******"; 
  //用戶openid,輸入待發紅包的用戶openid 
  $data['re_openid']="*********"; 
  //付款金額 
  $data['total_amount']="100"; 
  //紅包發放總人數 
  $data['total_num']="1"; 
  //紅包祝福語 
  $data['wishing']="********"; 
  //IP地址 
  $data['client_ip']=$_SERVER['LOCAL_ADDR']; 
  //活動名稱 
  $data['act_name']="*******"; 
  //備注 
  $data['remark']="沒有備注"; 
  //場景ID 
  // $data['send_id']="PRODUCT_5"; 
  //活動信息 
  // $data['risk_info']=""; 
   
  // 生成簽名 
  //對數據數組進行處理 
  //API密鑰,輸入自己的appsecret 
  $appsecret="*********"; 
  $data=array_filter($data); 
  ksort($data); 
  $str=""; 
  foreach($data as $k=>$v){ 
    $str.=$k."=".$v."&"; 
  } 
  $str.="key=".$appsecret; 
  $data['sign']=strtoupper(MD5($str)); 
 
 
  /* 
    發紅包操作: 
      1.將請求數據轉換成xml 
      2.發送請求 
      3.將請求結果轉換為數組 
      4.將請求信息和請求結果錄入到數據庫中 
      4.判斷是否通信成功 
      5.判斷是否轉賬成功 
   */ 
 
 
 
  //發紅包接口地址 
  $url="https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack"; 
 
  //將請求數據由數組轉換成xml 
  $xml=$this->arraytoxml($data); 
  //進行請求操作 
  $res=$this->curl($xml,$url); 
  //將請求結果由xml轉換成數組 
  $arr=$this->xmltoarray($res); 
 
  //請請求信息和請求結果錄入到數據庫中 
  // $transfer['partner_trade_no']=$data['partner_trade_no']; 
  // $transfer['request_data']=serialize($data);   
  // $transfer['response_data']=serialize($arr); 
  // if($arr['return_code']=="SUCCESS" && $arr['result_code']=="SUCCESS"){ 
  // $transfer['success']=1; 
  // $transfer_res['success']=1; 
  // }else{ 
  // $transfer['success']=0; 
  // $transfer_res['success']=0; 
  // $transfer_res['desc']=$arr['return_msg']; 
  // } 
  // $transfer['add_time']=time(); 
 
  // D("weixin_transfer")->add($transfer); 
  // 輸出請求結果數組 
  echo "<pre>"; 
  print_r($arr); 
  exit("weixin_red_packet"); 
} 
 
 
 
// 生成32位唯一隨機字符串 
private function get_unique_value(){ 
  $str=uniqid(mt_rand(),1); 
  $str=sha1($str); 
  return md5($str); 
} 
// 將數組轉換成xml 
private function arraytoxml($arr){ 
  $xml="<xml>"; 
  foreach($arr as $k=>$v){ 
    $xml.="<".$k.">".$v."</".$k.">"; 
  } 
  $xml.="</xml>"; 
  return $xml; 
} 
// 將xml轉換成數組 
private function xmltoarray($xml){ 
  //禁止引用外部xml實體 
  libxml_disable_entity_loader(true); 
  $xmlstring=simplexml_load_string($xml,"SimpleXMLElement",LIBXML_NOCDATA); 
  $arr=json_decode(json_encode($xmlstring),true); 
  return $arr; 
} 
 
//進行curl操作 
private function curl($param="",$url) { 
  $postUrl = $url; 
  $curlPost = $param; 
  //初始化curl 
  $ch = curl_init();                    
  //抓取指定網頁 
  curl_setopt($ch, CURLOPT_URL,$postUrl);          
  //設置header 
  curl_setopt($ch, CURLOPT_HEADER, 0);           
  //要求結果為字符串且輸出到屏幕上 
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);       
  //post提交方式 
  curl_setopt($ch, CURLOPT_POST, 1);            
  // 增加 HTTP Header(頭)里的字段  
  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);       
  // 終止從服務端進行驗證 
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);     
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
 
  //這個是證書的位置 
  curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'\cert\apiclient_cert.pem');  
  //這個也是證書的位置 
  curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'\cert\apiclient_key.pem');  
  //運行curl 
  $data = curl_exec($ch);                  
  //關閉curl 
  curl_close($ch); 
  
  return $data; 
}

以上是“php微信公眾號開發之如何實現現金紅包”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

临邑县| 靖远县| 壶关县| 灌南县| 仙游县| 罗平县| 都江堰市| 郓城县| 英德市| 麦盖提县| 咸阳市| 从江县| 苏尼特右旗| 库尔勒市| 武功县| 永宁县| 石台县| 佛山市| 津市市| 南涧| 静宁县| 崇仁县| 徐州市| 安庆市| 罗源县| 成安县| 澳门| 麻城市| 宜黄县| 泰来县| 专栏| 沂源县| 信宜市| 侯马市| 建始县| 昌图县| 罗定市| 白沙| 光泽县| 大邑县| 滦平县|