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

溫馨提示×

溫馨提示×

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

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

使用Thinkphp 5.0怎么實現微信企業付款到零錢

發布時間:2021-05-24 17:55:11 來源:億速云 閱讀:266 作者:Leah 欄目:開發技術

使用Thinkphp 5.0怎么實現微信企業付款到零錢?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

注意:1,證書路徑一定要寫絕對路徑,且使用函數getcwd()。

使用Thinkphp 5.0怎么實現微信企業付款到零錢

function transfer($data){
  //支付信息
  $wxchat['appid'] = WxPayConfig::$appid;
  $wxchat['mchid'] = WxPayConfig::$mchid;
  $webdata = array(
  'mch_appid' => $wxchat['appid'],//商戶賬號appid
    'mchid'  => $wxchat['mchid'],//商戶號
  'nonce_str' => md5(time()),//隨機字符串
    'partner_trade_no'=> date('YmdHis'), //商戶訂單號,需要唯一
  'openid' => $data['openid'],//轉賬用戶的openid
  'check_name'=> 'NO_CHECK', //OPTION_CHECK不強制校驗真實姓名, FORCE_CHECK:強制 NO_CHECK:
  'amount' => $data['money']*100, //付款金額單位為分
  'desc' => '微信企業付款到零錢',//企業付款描述信息
  'spbill_create_ip' => request()->ip(),//獲取IP
  );
  foreach ($webdata as $k => $v) {
  $tarr[] =$k.'='.$v;
  }
  sort($tarr);
  $sign = implode($tarr, '&');
  $sign .= '&key='.WxPayConfig::$key;
  $webdata['sign']=strtoupper(md5($sign));
  $wget = $this->ArrToXml($webdata);//數組轉XML
  $pay_url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';//api地址
  $res = $this->postData($pay_url,$wget);//發送數據
  if(!$res){
  return array('status'=>1, 'msg'=>"Can't connect the server" );
  }
  $content = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA);
  if(strval($content->return_code) == 'FAIL'){
  return array('status'=>1, 'msg'=>strval($content->return_msg));
  }
  if(strval($content->result_code) == 'FAIL'){
  return array('status'=>1, 'msg'=>strval($content->err_code),':'.strval($content->err_code_des));
  }
  $rdata = array(
  'mch_appid'  => strval($content->mch_appid),
  'mchid'   => strval($content->mchid),
  'device_info'  => strval($content->device_info),
  'nonce_str'  => strval($content->nonce_str),
  'result_code'  => strval($content->result_code),
  'partner_trade_no' => strval($content->partner_trade_no),
  'payment_no'  => strval($content->payment_no),
  'payment_time'  => strval($content->payment_time),
  );
  return $rdata;
}
//數組轉XML
 function ArrToXml($arr)
 {
  if(!is_array($arr) || count($arr) == 0) return '';
  $xml = "<xml>";
  foreach ($arr as $key=>$val)
  {
   if (is_numeric($val)){
    $xml.="<".$key.">".$val."</".$key.">";
   }else{
    $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
   }
  }
  $xml.="</xml>";
  return $xml;
 }
//發送數據
 function postData($url,$postfields){
  $ch = curl_init();
  $params[CURLOPT_URL] = $url; //請求url地址
  $params[CURLOPT_HEADER] = false; //是否返回響應頭信息
  $params[CURLOPT_RETURNTRANSFER] = true; //是否將結果返回
  $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
  $params[CURLOPT_POST] = true;
  $params[CURLOPT_POSTFIELDS] = $postfields;
  $params[CURLOPT_SSL_VERIFYPEER] = false;
  $params[CURLOPT_SSL_VERIFYHOST] = false;
  //以下是證書相關代碼
  $params[CURLOPT_SSLCERTTYPE] = 'PEM';
  $params[CURLOPT_SSLCERT] = getcwd().'/plugins/payment/weixin/cert/apiclient_cert.pem';//絕對路徑
  $params[CURLOPT_SSLKEYTYPE] = 'PEM';
  $params[CURLOPT_SSLKEY] = getcwd().'/plugins/payment/weixin/cert/apiclient_key.pem';//絕對路徑
  curl_setopt_array($ch, $params); //傳入curl參數
  $content = curl_exec($ch); //執行
  curl_close($ch); //關閉連接
  return $content;
 }

thinkphp是什么

thinkphp屬于一種免費的開發框架,能夠用于開發前端網頁,最早thinkphp是為了簡化開發而產生的,thinkphp同時也是遵循Apache2協議,最初是從Struts演變過來,也把國外一些好的框架模式進行利用,使用面向對象的開發結構,兼容了很多標簽庫等模式,它能夠更方便和快捷的開發和部署應用,當然不僅僅是企業級應用,任何php應用開發都可以從thinkphp的簡單、兼容和快速的特性中受益。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

中山市| 申扎县| 漾濞| 浪卡子县| 荆门市| 灵丘县| 东乌珠穆沁旗| 天津市| 巫溪县| 张家港市| 高要市| 岳阳县| 台南县| 长岭县| 沅江市| 阿克苏市| 龙井市| 陆丰市| 西贡区| 女性| 舒兰市| 宜兴市| 长春市| 鄂托克前旗| 扎兰屯市| 南漳县| 灵璧县| 上栗县| 桐城市| 庄河市| 巴塘县| 青川县| 大安市| 阿合奇县| 建水县| 阳谷县| 博客| 安龙县| 辽源市| 浠水县| 乌苏市|