亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

PHP APP微信提現接口代碼

2024-05-05 00:05:29
字體:
來源:轉載
供稿:網友

本文實例為大家分享了APP微信提現接口的具體代碼,供大家參考,具體內容如下

之前分享了微信支付接口、現在給大家分享一下APP提現的接口。

提現必須得用雙向證書、所以大家一定要在微信的商戶平臺找到相應的地方去設置、因為我做這個提現已經有一段時間了、所以設置微信商戶平臺的那幾個地方沒有圖的情況、也說不清楚、下次再做提現的時候、給大家分享如何設置商戶平臺那幾個地方、不是很難、下面貼代碼

<?phpnamespace Home/Controller;use Think/Controller;class TixianController extends Controller{  //高級功能-》開發者模式-》獲取  private $app_id1 = '';   //appid  private $app_secret1 = ''; //secreat  private $apikey1 = ''; //支付秘鑰  private $mchid1 = 's';    //商戶號      private $app_id=null;    private $app_secret=null;    private $apikey=null;    private $mchid=null;        public $error=0;  public $state = '';  //金額,需在實例化時傳入  public $amount = '0';  //用戶訂單號,需在實例化時傳入  public $order_sn = '';  //用戶openid,需在實例化時傳入  public $openid = '';      //微信提現操作接口-------》  public function actionAct_tixian()  {      $this->state=md5(uniqid(rand(), TRUE));   $this->amount=I('amount');//設置POST過來錢數   $this->order_sn=rand(100,999).date('YmdHis'); //隨機數可以作為單號   $this->openid= I('openid'); //設置獲取POST過來用戶的OPENID    $user_id = I('user_id');   $this->app_id=$this->app_id1;   $this->app_secret=$this->app_secret1;   $this->apikey=$this->apikey1;   $this->mchid=$this->mchid1;   $xml=$this->tiXianAction();   $result=simplexml_load_string($xml);      if($result->return_code=='SUCCESS' && $result->result_code=='SUCCESS') {        $cash = D('cash');        $data['user_id'] = $user_id;        $data['amount'] = $this->amount;        $res = $cash->where('user_id="'.$user_id.'"')->find();        if($res){          $res2 = $cash->where('user_id="'.$user_id.'"')->setInc('amount',$this->amount);          $res4 = D('member')->where('user_id="'.$user_id.'"')->setDec('user_balance',$this->amount);        }else{          $res3 = $cash->add($data);        }      $output = array('code' => 1, 'data' => $result->result_code, 'info' => '提現成功');      exit(json_encode($output));   }else{      $output = array('code' => 2, 'data' => $xml, 'info' => '提現失敗');      exit(json_encode($output));   }  }  /**  * 提現接口操作,控制器調用  * @param $openid 用戶openid 唯一標示  * @return  */  //提現接口操作  public function tiXianAction(){   //獲取xml數據   $data=$this->getdataXml($this->openid);   $ch = curl_init ();   //接口地址   $MENU_URL="https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";   curl_setopt ( $ch, CURLOPT_URL, $MENU_URL );   curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, "POST" );   curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, FALSE );   curl_setopt ( $ch, CURLOPT_SSL_VERIFYHOST, FALSE );   //證書地址,微信支付下面    curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');    curl_setopt($ch,CURLOPT_SSLCERT, 'C:/web/www/Home/wx_pay/apiclient_cert.pem'); //證書這塊大家把文件放到哪都行、    curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');    curl_setopt($ch,CURLOPT_SSLKEY, 'C:/web/www/Home/wx_pay/apiclient_key.pem');//注意證書名字千萬別寫錯、   //$zs1=dirname(dirname(__FILE__)).'/wx_pay/apiclient_cert.pem';   //$zs2=dirname(dirname(__FILE__)).'/wx_pay/apiclient_key.pem';   //show_bug($zs1);   //curl_setopt($ch,CURLOPT_SSLCERT,$zs1);   //curl_setopt($ch,CURLOPT_SSLKEY,$zs2);   // curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01;   // Windows NT 5.0)');   //curl_setopt ( $ch, CURLOPT_FOLLOWLOCATION, 1 );   curl_setopt ( $ch, CURLOPT_AUTOREFERER, 1 );   curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );   curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );   $info = curl_exec ( $ch );    //返回結果    if($info){      curl_close($ch);      return $info;    } else {      $error = curl_errno($ch);      curl_close($ch);      return "curl出錯,錯誤碼:$error";    }  }  /**  * 獲取數據封裝為數組  * @param $openid 用戶openid 唯一標示  * @return xml  */  private function getdataXml($openid){   //封裝成數據   $dataArr=array(     'amount'=>$this->amount*100,//金額(以分為單位,必須大于100)     'check_name'=>'NO_CHECK',//校驗用戶姓名選項,NO_CHECK:不校驗真實姓名 FORCE_CHECK:強校驗真實姓名(未實名認證的用戶會校驗失敗,無法轉賬)OPTION_CHECK:針對已實名認證的用戶才校驗真實姓名(未實名認證用戶不校驗,可以轉賬成功)     'desc'=>'提現',//描述     'mch_appid'=>$this->app_id,     'mchid'=>$this->mchid,//商戶號     'nonce_str'=>rand(100000, 999999),//不長于32位的隨機數     'openid'=>$openid,//用戶唯一標識     'partner_trade_no'=>$this->order_sn,//商戶訂單號     're_user_name'=>'',//用戶姓名,check_name為NO_CHECK時為可選項     'spbill_create_ip'=>$_SERVER["REMOTE_ADDR"],//服務器ip   );   //獲取簽名   $sign=$this->getSign($dataArr);   //xml數據   $data="<xml>     <mch_appid>".$dataArr['mch_appid']."</mch_appid>     <mchid>".$dataArr['mchid']."</mchid>     <nonce_str>".$dataArr['nonce_str']."</nonce_str>     <partner_trade_no>".$dataArr['partner_trade_no']."</partner_trade_no>     <openid>".$dataArr['openid']."</openid>     <check_name>".$dataArr['check_name']."</check_name>     <re_user_name>".$dataArr['re_user_name']."</re_user_name>     <amount>".$dataArr['amount']."</amount>     <desc>".$dataArr['desc']."</desc>     <spbill_create_ip>".$dataArr['spbill_create_ip']."</spbill_create_ip>     <sign>".$sign."</sign>     </xml>";   return $data;  }  /**  *   作用:格式化參數,簽名過程需要使用  */  private function formatBizQueryParaMap($paraMap, $urlencode)  {   $buff = "";   ksort($paraMap);   foreach ($paraMap as $k => $v)   {     if($v){      if($urlencode)      {        $v = urlencode($v);      }      $buff .= $k . "=" . $v . "&";     }   }   $reqPar=NULL;   if (strlen($buff) > 0)   {     $reqPar = substr($buff, 0, strlen($buff)-1);   }   return $reqPar;  }  /**  *   作用:生成簽名  */  private function getSign($Obj)  {   foreach ($Obj as $k => $v)   {     $Parameters[$k] = $v;   }   //簽名步驟一:按字典序排序參數   ksort($Parameters);   $String = $this->formatBizQueryParaMap($Parameters, false);   //echo '【string1】'.$String.'</br>';   //簽名步驟二:在string后加入KEY   $String = $String."&key=".$this->apikey;   //echo "【string2】".$String."</br>";   //簽名步驟三:MD5加密   $String = md5($String);   //echo "【string3】 ".$String."</br>";   //簽名步驟四:所有字符轉為大寫   $result_ = strtoupper($String);   //echo "【result】 ".$result_."</br>";   return $result_;  }  //-----------  private function http($url, $method='POST', $postfields = null, $headers = array())  {   header("Content-Type:text/html;charset=utf-8");   $ch = curl_init();   /* Curl settings */   curl_setopt($ch, CURLOPT_URL, $url);   curl_setopt($ch, CURLOPT_POSTFIELDS, "");   curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https請求 不驗證證書和hosts   curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);   curl_setopt($ch, CURLOPT_TIMEOUT, 30);   switch ($method){     case 'POST':      curl_setopt($ch,CURLOPT_POST, true);      break;   }   curl_setopt($ch, CURLOPT_HTTPHEADER,$headers);   curl_setopt($ch, CURLINFO_HEADER_OUT, true);   $response = curl_exec($ch);   $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); //返回請求狀態碼   curl_close($ch);   return array($http_code, $response);  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品成人播放| 国内伊人久久久久久网站视频| 亚洲精品videossex少妇| 日本久久久久久久久久久| 国产精品日日摸夜夜添夜夜av| 97福利一区二区| 欧美日韩在线影院| 日韩欧美国产中文字幕| 欧美高清电影在线看| 欧美日韩国产一中文字不卡| 国产精品白嫩初高中害羞小美女| 中文字幕精品一区久久久久| 国产精品高潮呻吟视频| 91情侣偷在线精品国产| 亚洲毛片在线免费观看| 91久久精品久久国产性色也91| 538国产精品一区二区在线| 亚洲老板91色精品久久| 中文字幕精品一区二区精品| 亚洲精品mp4| 三级精品视频久久久久| 欧美精品在线极品| 欧美电影在线观看| 欧美激情在线一区| 久久青草福利网站| 精品亚洲夜色av98在线观看| 在线观看国产精品日韩av| 中文字幕在线精品| 日韩欧美高清在线视频| 亚洲伊人久久大香线蕉av| 欧美激情一区二区三区高清视频| 亚洲经典中文字幕| 久久久久久国产精品| 91午夜在线播放| 午夜精品久久久久久99热软件| 久久精品在线播放| 爱福利视频一区| 精品国产美女在线| 亚洲va电影大全| 成人xxxxx| 久久精品亚洲94久久精品| 狠狠色狠狠色综合日日小说| 精品人伦一区二区三区蜜桃网站| 午夜精品福利视频| 日本免费一区二区三区视频观看| 国产欧美一区二区三区久久| 欧美日韩成人在线播放| 午夜精品一区二区三区av| 国产日韩欧美中文在线播放| 日本久久久久久久| 亚洲日韩中文字幕在线播放| 国产日韩在线一区| 中文字幕精品网| 欧美日韩成人在线播放| 中文字幕亚洲字幕| 成人激情电影一区二区| 91久久精品美女高潮| 亚洲精品天天看| 欧美日韩午夜视频在线观看| 欧美激情在线狂野欧美精品| 国产精品电影网站| 欧美午夜久久久| 欧美大人香蕉在线| 精品中文字幕在线2019| 亚洲天堂免费视频| 成人免费视频xnxx.com| 亚洲精品电影网在线观看| 日日骚久久av| 国产一区av在线| 久久伊人免费视频| 美女精品视频一区| 国产精品色午夜在线观看| 亚洲成av人乱码色午夜| 午夜精品福利在线观看| 欧美日韩黄色大片| 成人性生交大片免费看小说| 97视频在线观看亚洲| 久久伊人精品一区二区三区| 一色桃子一区二区| 亚洲美女免费精品视频在线观看| 亚洲成人av在线播放| 国产精品亚洲综合天堂夜夜| www.国产精品一二区| 国产精品美女主播| 欧美伊久线香蕉线新在线| 国产精品久久久久久久久久三级| 日韩欧美在线字幕| 午夜精品久久久久久久久久久久久| 国产亚洲福利一区| 亚洲xxxx18| 狠狠色狠狠色综合日日五| www.日韩av.com| 韩国三级电影久久久久久| 久久夜精品香蕉| 97超碰蝌蚪网人人做人人爽| 国产不卡视频在线| 久久久久国产一区二区三区| 色悠久久久久综合先锋影音下载| 亚洲一区999| 色一区av在线| 欧美高清性猛交| 人妖精品videosex性欧美| 亚洲国产福利在线| 久久影视电视剧凤归四时歌| 热re99久久精品国产66热| 欧美激情一区二区三区高清视频| 国产精品国产亚洲伊人久久| 91精品国产综合久久香蕉922| 中文字幕日韩精品在线观看| www.99久久热国产日韩欧美.com| 精品国产福利视频| 91深夜福利视频| 国产一区二区欧美日韩| 亚洲欧美日韩一区在线| 欧美视频精品一区| 日韩有码在线视频| 久久精品小视频| 久久久亚洲福利精品午夜| 日韩中文在线观看| 亚洲一区二区日本| 国产精品极品美女在线观看免费| 国产小视频国产精品| 91av视频导航| 欧美大尺度在线观看| 国产精品美女免费视频| 亚洲性猛交xxxxwww| 精品亚洲精品福利线在观看| 久久精品99国产精品酒店日本| 亚洲国内精品视频| 欧美激情一区二区久久久| 国产精品偷伦免费视频观看的| 国产91精品久久久久| 久久综合免费视频| 亚洲女性裸体视频| 欧美激情videos| 亚洲激情久久久| 日韩精品日韩在线观看| 久久人人爽人人爽人人片av高清| 久久亚洲精品小早川怜子66| 久久久亚洲国产天美传媒修理工| 97国产精品人人爽人人做| 国产精品三级久久久久久电影| 亚洲性av网站| 亚洲欧美日韩国产精品| 久久精品久久久久久国产 免费| 亚洲精品成人网| 国产丝袜一区二区三区| 亚洲精品福利资源站| 全球成人中文在线| 久热在线中文字幕色999舞| 91极品视频在线| 福利二区91精品bt7086| 国产色婷婷国产综合在线理论片a| 久热精品视频在线| 国产成人精品亚洲精品| 国产精品99一区| 久久久久久久久中文字幕| 久久天堂电影网| 欧美午夜精品久久久久久久| 欧美日韩一区免费| 精品高清一区二区三区| 日本伊人精品一区二区三区介绍| 国产精品爽爽ⅴa在线观看| 亚洲欧洲国产伦综合|