日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

封装微信小程序提现到零钱

發布時間:2024/3/24 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 封装微信小程序提现到零钱 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注:小程序提現需要申請的東西這里不詳細介紹了,大伙應該都知道,咱們直接上代碼;

/*** 提現類 商戶號提現至微信零錢* Class Withdrawal* @package app\api\controller*/ class Withdrawal{function __construct() {$this->appid = '';//你的小程序appid// 商戶號$this->mch_id = ''; //你的商戶號。找不到的在你的小程序里邊的微信支付里邊找,前提是你必須先開啟你的微信支付// 支付秘鑰$this->key = ''; //這個是你商戶號的api秘鑰,在產品中心里邊找,}/*** [createNoncestr 生成隨機字符串]* @param integer $length [長度]* @return [type] [字母大小寫加數字]*/function createNoncestr($length =32){$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz0123456789";$str ="";for($i=0;$i<$length;$i++){$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);}return $str;}/*** [curl_post_ssl 發送curl_post數據]* @param [type] $url [發送地址]* @param [type] $xmldata [發送文件格式]* @param [type] $second [設置執行最長秒數]* @param [type] $aHeader [設置頭部]* @return [type] [description]*/function curl_post_ssl($url, $xmldata, $second = 30, $aHeader = array()){$isdir = $_SERVER['DOCUMENT_ROOT']."/cert/";//證書位置;絕對路徑$ch = curl_init();//初始化curlcurl_setopt($ch, CURLOPT_TIMEOUT, $second);//設置執行最長秒數curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求結果為字符串且輸出到屏幕上curl_setopt($ch, CURLOPT_URL, $url);//抓取指定網頁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, $isdir . 'apiclient_cert.pem');//證書位置curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');//CURLOPT_SSLKEY中規定的私鑰的加密類型curl_setopt($ch, CURLOPT_SSLKEY, $isdir . 'apiclient_key.pem');//證書位置curl_setopt($ch, CURLOPT_CAINFO, 'PEM');curl_setopt($ch, CURLOPT_CAINFO, $isdir . 'rootca.pem');if (count($aHeader) >= 1) {curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);//設置頭部}curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $xmldata);//全部數據使用HTTP協議中的"POST"操作來發送$data = curl_exec($ch);//執行回話if ($data) {curl_close($ch);return $data;} else {$error = curl_errno($ch);echo "call faild, errorCode:$error\n";curl_close($ch);return false;}}/*** [sendMoney 企業付款到零錢]* @param [type] $amount [發送的金額(分)目前發送金額不能少于1元]* @param [type] $re_openid [發送人的 openid]* @param string $desc [企業付款描述信息 (必填)]* @param string $check_name [收款用戶姓名 (選填)]* @return [type] [description]*/function sendMoney($amount,$uid,$withdrawal_id,$pic_id,$re_openid,$partner_trade_no='',$desc='第三巷提現到賬',$check_name=''){$total_amount = (100) * $amount;$data=array('mch_appid'=>$this->appid,//商戶賬號appid'mchid'=> $this->mch_id,//商戶號'nonce_str'=>$this->createNoncestr(),//隨機字符串'partner_trade_no'=> date('YmdHis').rand(1000, 9999),//商戶訂單號'openid'=> $re_openid,//用戶openid'check_name'=>'NO_CHECK',//校驗用戶姓名選項,'re_user_name'=> $check_name,//收款用戶姓名'amount'=>$total_amount,//金額'desc'=> $desc,//企業付款描述信息'spbill_create_ip'=> '',//Ip地址);//生成簽名算法$secrect_key=$this->key;///這個就是個API密碼。MD5 32位。$data=array_filter($data);ksort($data);$str='';foreach($data as $k=>$v) {$str.=$k.'='.$v.'&';}$str.='key='.$secrect_key;$data['sign']=md5($str);//生成簽名算法$xml=$this->arraytoxml($data);$url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //調用接口$res=$this->curl_post_ssl($url,$xml);$ret=$this->xmltoarray($res);if($ret['return_code'] == 'SUCCESS' && $ret['result_code'] == 'SUCCESS'){Db::startTrans();try {//扣除自提點余額$sql = Db('ns_pickup_point')->where(['uid'=>$uid,'id'=>$pic_id])->setDec('balance_money',$amount);//修改提現狀態$sql_1 = Db('ns_merchants_balance_withdraw')->where('id',$withdrawal_id)->update(['status'=>3]);Db::commit();if ($sql && $sql_1){return 200;}else{return 400;}}catch(\Exception $e){// 回滾事務Db::rollback();return 402;}}else{ // $this->errorLog('微信付款到銀行卡失敗,appid:'.$this->appid,$ret);return 401;} // $responseObj = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA); // echo $res= $responseObj->return_code; //SUCCESS 如果返回來SUCCESS,則發生成功,處理自己的邏輯}/*** [arraytoxml 將數組轉換成xml格式(簡單方法):]* @param [type] $data [數組]* @return [type] [array 轉 xml]*/function arraytoxml($data){$str='<xml>';foreach($data as $k=>$v) {$str.='<'.$k.'>'.$v.'</'.$k.'>';}$str.='</xml>';return $str;}/** 將xml轉換成數組* @params xml $xml : xml數據* return array $data : 返回數組*/function xmlToArray($xml){//禁止引用外部xml實體libxml_disable_entity_loader(true);$xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);$val = json_decode(json_encode($xmlstring),true);return $val;}}直接調用提現類中的sendMoney()即可實現,返回成功內的那段業務代碼你們可以自行封裝看自己的具體需求調用即可

總結

以上是生活随笔為你收集整理的封装微信小程序提现到零钱的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 中国av一级片 | 第一页综合 | 女同另类之国产女同 | 黄色成人在线网站 | 激情欧美网站 | 香港三级韩国三级日本三级 | 第四色在线视频 | 操极品少妇 | 久久伊人免费视频 | 久久婷婷五月综合色吧 | 亚洲一区二区三区四 | 久久夜夜操妹子 | 欧美精品videos另类 | 国产午夜福利视频在线观看 | 国产福利在线 | 亚洲最新在线观看 | 国产xxx69麻豆国语对白 | 日韩精品一区二区三 | 欧美v视频 | 亚洲视频在线观看网站 | 国自产拍偷拍精品啪啪一区二区 | 日韩av网站在线观看 | 超碰免费看 | 黄色一级片网站 | 深夜福利电影 | 久久久久久久久久久久久久国产 | 中文字幕亚洲激情 | 男人的天堂2019 | 日韩欧美一二区 | 国产主播一区 | 亚洲在线免费看 | 国产福利在线播放 | av电影一区二区 | 日韩在线免费视频观看 | 黄色片视频免费看 | 日批视频免费 | 992tv人人草 国产第6页 | 国产av电影一区二区三区 | 国产日韩欧美综合 | 美女扒开大腿让男人桶 | 九色丨蝌蚪丨成人 | 九九九在线观看 | av天天干 | 国产一区二区三区免费观看视频 | 孕期1ⅴ1高h | 超碰精品在线观看 | 精品香蕉视频 | 成人国产免费 | 牛牛av| 亚洲综合涩 | 黑人100部av解禁片 | 精品人妻伦一二三区免费 | 动漫女生光屁股 | 国产在线高清 | 久久精品久久精品 | 亚洲欧美日本一区二区 | 涩涩视频网站在线观看 | 欧美xxxbbb | videosex抽搐痉挛高潮 | 色狠狠综合网 | 亚洲成人久久精品 | 美女被爆操网站 | 成人毛片18女人毛片 | 欧美又黑又粗 | 亚洲蜜桃av | 中文字幕日韩欧美一区二区三区 | 欧美大波大乳巨大乳 | 免费一级片在线观看 | 粉嫩久久99精品久久久久久夜 | 在线看片不卡 | 艳妇乳肉亭妇荡乳av | 99有精品| 欧美视频在线一区二区三区 | 毛片大全| 人妻与黑人一区二区三区 | 欧美一区二区三区在线看 | 国产精品久久久久电影 | 欧美视频在线观看免费 | 免费看片视频 | 农村寡妇一区二区三区 | 男男gay动漫 | 天天干人人干 | 精品人妻无码一区 | 国产麻豆视频 | 中文字幕1页 | 综合av第一页 | 95国产精品| 日韩狠狠操 | 一级黄色大片免费 | 曰女同女同中文字幕 | 亚洲天堂777 | 久久久久久午夜 | 国产又黄又粗又硬 | 国产精品xxx | 国产精品自产拍在线观看 | 亚洲 欧美 日韩系列 | 亚洲av熟女一区 | 黄av在线 | 欧美精品99|