Thinkphp 5.0實現(xiàn)微信企業(yè)付款到零錢
更新時間:2018年09月30日 09:30:37 作者:天津PHP&C#
這篇文章主要為大家詳細(xì)介紹了Thinkphp 5.0實現(xiàn)微信企業(yè)付款到零錢,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Thinkphp 5.0 微信企業(yè)付款到零錢的具體代碼,供大家參考,具體內(nèi)容如下
【微信支付】企業(yè)付款到零錢:官方文檔
注意:1,證書路徑一定要寫絕對路徑,且使用函數(shù)getcwd()。

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()),//隨機(jī)字符串
'partner_trade_no'=> date('YmdHis'), //商戶訂單號,需要唯一
'openid' => $data['openid'],//轉(zhuǎn)賬用戶的openid
'check_name'=> 'NO_CHECK', //OPTION_CHECK不強(qiáng)制校驗真實姓名, FORCE_CHECK:強(qiáng)制 NO_CHECK:
'amount' => $data['money']*100, //付款金額單位為分
'desc' => '微信企業(yè)付款到零錢',//企業(yè)付款描述信息
'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);//數(shù)組轉(zhuǎn)XML
$pay_url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';//api地址
$res = $this->postData($pay_url,$wget);//發(fā)送數(shù)據(jù)
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;
}
//數(shù)組轉(zhuǎn)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;
}
//發(fā)送數(shù)據(jù)
function postData($url,$postfields){
$ch = curl_init();
$params[CURLOPT_URL] = $url; //請求url地址
$params[CURLOPT_HEADER] = false; //是否返回響應(yīng)頭信息
$params[CURLOPT_RETURNTRANSFER] = true; //是否將結(jié)果返回
$params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
$params[CURLOPT_POST] = true;
$params[CURLOPT_POSTFIELDS] = $postfields;
$params[CURLOPT_SSL_VERIFYPEER] = false;
$params[CURLOPT_SSL_VERIFYHOST] = false;
//以下是證書相關(guān)代碼
$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參數(shù)
$content = curl_exec($ch); //執(zhí)行
curl_close($ch); //關(guān)閉連接
return $content;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- PHP實現(xiàn)微信商戶支付企業(yè)付款到零錢功能
- php實現(xiàn)微信支付之企業(yè)付款
- PHP編程實現(xiàn)微信企業(yè)向用戶付款的方法示例
- php實現(xiàn)微信企業(yè)轉(zhuǎn)賬功能
- 微信企業(yè)轉(zhuǎn)賬之入口類分裝php代碼
- php實現(xiàn)微信公眾號企業(yè)轉(zhuǎn)賬功能
- PHP微信企業(yè)號開發(fā)之回調(diào)模式開啟與用法示例
- PHP實現(xiàn)微信公眾號企業(yè)號自定義菜單接口示例
- PHP編程之微信公眾平臺企業(yè)號驗證接口示例【回調(diào)操作】
- php微信公眾號開發(fā)之微信企業(yè)付款給個人
相關(guān)文章
PHP統(tǒng)計二維數(shù)組元素個數(shù)的方法
數(shù)據(jù)表里面的字段 content 存儲了一個以逗號分割的字符串,最大有20個數(shù),最大數(shù)字為40。比如3,24,33,40類似字樣的數(shù)字序列。其實就是一個保存了多項投票結(jié)果的字段啦。現(xiàn)在需要統(tǒng)計每個數(shù)字的個數(shù),也就是每個投票項有多少人投了,并排序2013-11-11
CI框架(CodeIgniter)實現(xiàn)的數(shù)據(jù)庫增刪改查操作總結(jié)
這篇文章主要介紹了CI框架(CodeIgniter)實現(xiàn)的數(shù)據(jù)庫增刪改查操作,結(jié)合實例形式總結(jié)分析了CI框架針對mysql數(shù)據(jù)庫增刪改查操作的模型、控制器及視圖相關(guān)定義與使用技巧,需要的朋友可以參考下2018-05-05
YII2框架中ActiveDataProvider與GridView的配合使用操作示例
這篇文章主要介紹了YII2框架中ActiveDataProvider與GridView的配合使用操作,結(jié)合實例形式分析了YII2框架中ActiveDataProvider與GridView的功能及配合使用相關(guān)操作實現(xiàn)技巧,需要的朋友可以參考下2020-03-03
php將數(shù)據(jù)庫中的電話號碼讀取出來并生成圖片
本PHP程序作用是從數(shù)據(jù)庫中讀取出手機(jī)號碼或其他數(shù)據(jù)并生成圖片,起到干擾采集防采集的作用。(英文或數(shù)字,如果要支持中文的話需要額外添加字庫)。本代碼為原創(chuàng)代碼。2008-08-08

