成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > 基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作

基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作

熱門標(biāo)簽:天客通地圖標(biāo)注 電子地圖標(biāo)注怎么修改 如何在世界地圖標(biāo)注 廈門400電話辦理選易號(hào)網(wǎng) 地圖標(biāo)注符號(hào)樣式有 公司外呼系統(tǒng)中心 梧州市機(jī)器人外呼系統(tǒng)怎么樣 菏澤語(yǔ)音外呼系統(tǒng)運(yùn)營(yíng)商 臨沂crm外呼系統(tǒng)平臺(tái)

微信小程序或微信支付相關(guān)操作支付退款訂單查詢退款查詢支付成功,進(jìn)行回調(diào)退款成功 進(jìn)行回調(diào)用到的方法

支付

/**
 * 預(yù)支付請(qǐng)求接口(POST)
 * @param string $openid openid
 * @param string $body 商品簡(jiǎn)單描述
 * @param string $order_sn 訂單編號(hào)
 * @param string $total_fee 金額
 * @return json的數(shù)據(jù)
 */
 public function prepay()
 {
 tp_log('預(yù)支付請(qǐng)求數(shù)據(jù)===>' . json_encode($_POST), 'prepay', request()->controller());
 $goods_user = db('tf_goods_user')->where(array('order_no' => $_POST['order_no']))->find();
 $goods = db('tf_goods')->where(array('id' => $goods_user['goods_id']))->find();
 //判斷產(chǎn)品的數(shù)量
 if (($goods['sales_initial'] - $goods['sales_actual']) = 0) {
 $return['status'] = 0;
 $return['info'] = '此產(chǎn)品已售完';
 exit(json_encode($return));
 }

 $order_no = $_POST['order_no']; //訂單號(hào)
 $is_sale = $_POST['is_sale'];
 $openid = $_POST['openid'];
 $goods_name = $_POST['goods_name'];
 $pay_price = $_POST['price'];
 $attach['is_sale'] = $_POST['is_sale'];
 $attach['sale_id'] = $_POST['sale_id'];
 $nonce_str = $this->nonce_str();//隨機(jī)字符串


 $order_no_ssh = $this->get_orderssh(); //商戶訂單號(hào)
 //組裝支付數(shù)據(jù)
 $data = [
 'appid' => config('pay.APPID'),
 'mch_id' => config('pay.MCHID'),
 'nonce_str' => $nonce_str,
 'body' => $goods_name, //商品名稱組合
 'attach' => json_encode($attach),
 'out_trade_no' => $order_no_ssh,//$order_no, //訂單號(hào) 商戶訂單號(hào)
 'total_fee' => intval($pay_price * 100),
 'spbill_create_ip' => $_SERVER['REMOTE_ADDR'],
 'notify_url' => config('pay.NOTIFY_URL'),
 'trade_type' => 'JSAPI',
 'openid' => $openid
 ];

 //訂單支付表創(chuàng)建訂單支付數(shù)據(jù)
 $p_o_data['createtime'] = time();
 $p_o_data['order_no'] = $order_no;
 $p_o_data['order_no_ssh'] = $order_no_ssh;
 $p_o_data['ready'] = json_encode($data);
 $p_o_return = db('tf_pay_order')->insert($p_o_data);
 if(!$p_o_return){
 //失敗
 $return['status'] = -1;
 $return['info'] = $p_o_data;
 exit(json_encode($return));
 }

 // 獲取簽名
 $sign = $this->makeSign($data);
 $data['sign'] = $sign;
 $xml = $this->toXml($data);
 $url = 'https://api.mch.weixin.qq.com/pay/unifiedorder'; //發(fā)起支付接口鏈接
 //發(fā)起預(yù)支付請(qǐng)求
 $prepay_return_reslut_xml = $this->http_request($url, $xml);
 $xml_to_arr = $this->fromXml($prepay_return_reslut_xml);
 $return_result = json_encode($xml_to_arr, true);
 tp_log('預(yù)支付請(qǐng)求返回?cái)?shù)據(jù)array===>' .$return_result , 'prepay', request()->controller());
 //記錄預(yù)支付返回信息
 db('tf_goods_order')->where(array('order_no' => $order_no))
 ->update(array(
 'go_pay' => $return_result,
 'updatetime' => time(),
 'updateuser' => $openid
 ));
 if($xml_to_arr['return_code'] == 'SUCCESS'  $xml_to_arr['result_code'] == 'SUCCESS'){
 //成功

 $time = time();
 //臨時(shí)數(shù)組用于簽名
 $tmp = [
 'appId' => config('pay.APPID'),
 'nonceStr' => $nonce_str,
 'package' => 'prepay_id='.$xml_to_arr['prepay_id'],
 'signType' => 'MD5',
 'timeStamp' => "$time",
 ];
 $data['timeStamp'] = "$time";//時(shí)間戳
 $data['nonceStr'] = $nonce_str;//隨機(jī)字符串
 $data['signType'] = 'MD5';//簽名算法,暫支持 MD5
 $data['package'] = 'prepay_id='.$xml_to_arr['prepay_id'];//統(tǒng)一下單接口返回的 prepay_id 參數(shù)值,提交格式如:prepay_id=*
 $data['paySign'] = $this->makeSign($tmp);//簽名,具體簽名方案參見微信公眾號(hào)支付幫助文檔;$data['out_trade_no'] = $out_trade_no;


 $return['status'] = 1;
 $return['info'] = $data;
 }else{
 //失敗
 $return['status'] = -1;
 $return['info'] = $xml_to_arr;
 }
 exit(json_encode($return));
 }

 //curl請(qǐng)求
 public function http_request($url, $data = null, $headers = array())
 {
 $curl = curl_init();
 if (count($headers) >= 1) {
 curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
 }
 curl_setopt($curl, CURLOPT_URL, $url);


 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);


 if (!empty($data)) {
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 }
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 $output = curl_exec($curl);
 curl_close($curl);
 return $output;
 }

退款

/**
 * 申請(qǐng)退款A(yù)PI
 * @param $transaction_id
 * @param double $total_fee 賬單總金額
 * @param double $refund_fee 退款金額
 * @return bool
 * @throws BaseException
 */
 public function refund()
 {

 $transaction_id = '4200000712202007274705432240';
 $total_fee = '0.01';
 $refund_fee = '0.01';
 // 當(dāng)前時(shí)間
 $time = time();
 // 生成隨機(jī)字符串
 $nonceStr = md5($time . $transaction_id . $total_fee . $refund_fee);
 // API參數(shù)
 $params = [
 'appid' => config('pay.APPID'),
 'mch_id' => config('pay.MCHID'),
 'nonce_str' => $nonceStr,
 'transaction_id' => $transaction_id,
 'out_refund_no' => $time,
 'total_fee' => $total_fee * 100,
 'refund_fee' => $refund_fee * 100,
 'notify_url' => config('pay.NOTIFY_URL_REFUND'),//退款回調(diào)地址
 ];
 // 生成簽名
 $params['sign'] = $this->makeSign($params);

 tp_log('退款請(qǐng)求數(shù)據(jù)===>' . json_encode($params), 'refund', request()->controller());

 // 請(qǐng)求API
 $url = 'https://api.mch.weixin.qq.com/secapi/pay/refund';
 $result = $this->post($url, $this->toXml($params), true, $this->getCertPem());
 $prepay = $this->fromXml($result);
 // 請(qǐng)求失敗
 if (empty($result)) {
 throw new BaseException(['msg' => '微信退款api請(qǐng)求失敗']);
 }
 // 格式化返回結(jié)果
 $prepay = $this->fromXml($result);
 tp_log('退款返回?cái)?shù)據(jù)===>' . json_encode($prepay), 'refund', request()->controller());
 // 請(qǐng)求失敗
// if ($prepay['return_code'] === 'FAIL') {
// throw new BaseException(['msg' => 'return_msg: ' . $prepay['return_msg']]);
// }
// if ($prepay['result_code'] === 'FAIL') {
// throw new BaseException(['msg' => 'err_code_des: ' . $prepay['err_code_des']]);
// }
 return true;
 }
 /**
 * 模擬POST請(qǐng)求
 * @param $url
 * @param array $data
 * @param bool $useCert
 * @param array $sslCert
 * @return mixed
 */
 public function post($url, $data = [], $useCert = false, $sslCert = [])
 {
 $header = [
 'Content-type: application/json;'
 ];
 $curl = curl_init();
 //如果有配置代理這里就設(shè)置代理
// if(WxPayConfig::CURL_PROXY_HOST != "0.0.0.0"
//  WxPayConfig::CURL_PROXY_PORT != 0){
// curl_setopt($ch,CURLOPT_PROXY, WxPayConfig::CURL_PROXY_HOST);
// curl_setopt($ch,CURLOPT_PROXYPORT, WxPayConfig::CURL_PROXY_PORT);
// }

 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
 curl_setopt($curl, CURLOPT_HEADER, false);
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
 curl_setopt($curl, CURLOPT_POST, TRUE);
 curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 if ($useCert == true) {
 // 設(shè)置證書:cert 與 key 分別屬于兩個(gè).pem文件
 curl_setopt($curl, CURLOPT_SSLCERTTYPE, 'PEM');
 curl_setopt($curl, CURLOPT_SSLCERT, $sslCert['certPem']);
 curl_setopt($curl, CURLOPT_SSLKEYTYPE, 'PEM');
 curl_setopt($curl, CURLOPT_SSLKEY, $sslCert['keyPem']);
 }
 $result = curl_exec($curl);
 curl_close($curl);
 return $result;
 }

訂單查詢

/**
 * 訂單查詢
 * @param $out_trade_no
 * @return mixed
 * @throws BaseException
 */
 public function orderquery()
 {
 $transaction_id = '4200000712202007274705432240';//微信訂單號(hào)
 // 當(dāng)前時(shí)間
 $time = time();
 // 生成隨機(jī)字符串
 $nonce_str = md5($time . mt_rand(00000,99999));
 //API參數(shù)
 $params = [
 'appid' => config('pay.APPID'), //公眾號(hào)ID
 'mch_id' => config('pay.MCHID'), //商戶號(hào)
 'transaction_id' => $transaction_id, //商戶訂單號(hào)
 'nonce_str' => $nonce_str, // 隨機(jī)字符串
 ];
 //生成簽名
 $params['sign'] = $this->makeSign($params);
 //請(qǐng)求API
 $url = 'https://api.mch.weixin.qq.com/pay/orderquery';
 $result = $this->post($url, $this->toXml($params));
 $prepay = $this->fromXml($result);
 // 請(qǐng)求失敗
 if ($prepay['return_code'] === 'FAIL') {
 throw new BaseException(['msg' => $prepay['return_msg'], 'code' => 0]);
 }
 if ($prepay['result_code'] === 'FAIL') {
 throw new BaseException(['msg' => $prepay['err_code_des'], 'code' => 0]);
 }
 return $prepay;
 }

退款查詢

/**
 * 退款查詢
 * @param $out_trade_no
 * @return mixed
 * @throws BaseException
 */
 public function refundquery()
 {
 $transaction_id = '4200000712202007274705432240';//微信訂單號(hào)
 // 當(dāng)前時(shí)間
 $time = time();
 // 生成隨機(jī)字符串
 $nonce_str = md5($time . mt_rand(00000,99999));
 //API參數(shù)
 $params = [
 'appid' => config('pay.APPID'), //公眾號(hào)ID
 'mch_id' => config('pay.MCHID'), //商戶號(hào)
 'transaction_id' => $transaction_id, //商戶訂單號(hào)
 'nonce_str' => $nonce_str, // 隨機(jī)字符串
 ];
 //生成簽名
 $params['sign'] = $this->makeSign($params);
 //請(qǐng)求API
 $url = 'https://api.mch.weixin.qq.com/pay/refundquery';
 $result = $this->post($url, $this->toXml($params));
 $prepay = $this->fromXml($result);
 dump($prepay);die;
 // 請(qǐng)求失敗
 if ($prepay['return_code'] === 'FAIL') {
 throw new BaseException(['msg' => $prepay['return_msg'], 'code' => 0]);
 }
 if ($prepay['result_code'] === 'FAIL') {
 throw new BaseException(['msg' => $prepay['err_code_des'], 'code' => 0]);
 }
 return $prepay;
 }

支付成功,進(jìn)行回調(diào)

public function index()
 {
 $data = file_get_contents('php://input');
 $data = $this->FromXml($data);
 tp_log('支付回調(diào)數(shù)據(jù)===>' . json_encode($data), 'index', request()->controller());
 // 保存微信服務(wù)器返回的簽名sign
 $data_sign = $data['sign'];
 // sign不參與簽名算法
 unset($data['sign']);
 $sign = $this->makeSign($data);//回調(diào)驗(yàn)證簽名

 $str_success = 'xml>return_code>![CDATA[SUCCESS]]>/return_code>return_msg>![CDATA[OK]]>/return_msg>/xml>';
 $str_error = 'xml>return_code>![CDATA[FAIL]]>/return_code>return_msg>![CDATA[簽名失敗]]>/return_msg>/xml>';

 if (($sign === $data_sign)  ($data['return_code'] == 'SUCCESS')  ($data['result_code'] == 'SUCCESS')) {
 // 支付成功 進(jìn)行你的邏輯處理
 }
echo $str_success;//str_error 告知微信 你已的邏輯處理完畢 不用再推送或再次推送你結(jié)果
 }

退款成功 進(jìn)行回調(diào)

/*
 * 小程序 退款結(jié)果通知
 */
 public function refund(){

 $data = file_get_contents('php://input');
 $data = $this->FromXml($data);
 tp_log('退款回調(diào)數(shù)據(jù)===>' . json_encode($data), 'refund', request()->controller());

 //對(duì)加密的字符串解密
 $req_info_xml = openssl_decrypt(base64_decode($data['req_info']), 'aes-256-ecb', md5(config('pay.KEY')),OPENSSL_RAW_DATA);
 $req_info = $this->FromXml($req_info_xml);

// // 保存微信服務(wù)器返回的簽名sign
// $data_sign = $data['sign'];
// // sign不參與簽名算法
// unset($data['sign']);
// $sign = $this->makeSign($data);//回調(diào)驗(yàn)證簽名
//
// $str_success = 'xml>return_code>![CDATA[SUCCESS]]>/return_code>return_msg>![CDATA[OK]]>/return_msg>/xml>';
// $str_error = 'xml>return_code>![CDATA[FAIL]]>/return_code>return_msg>![CDATA[簽名失敗]]>/return_msg>/xml>';
//
//
//
// if (($sign === $data_sign)  ($data['return_code'] == 'SUCCESS')  ($data['result_code'] == 'SUCCESS')) {
// tp_log('退款成功===>', 'refund', request()->controller());
// //去修改訂單的狀態(tài) 和支付回調(diào)的一樣 修改成功 告知微信 不在推送
// }
 }

用到的方法

/**
 * 生成簽名
 * @param $values
 * @return string 本函數(shù)不覆蓋sign成員變量,如要設(shè)置簽名需要調(diào)用SetSign方法賦值
 */
 private function makeSign($values)
 {
 //簽名步驟一:按字典序排序參數(shù)
 ksort($values);
 $string = $this->toUrlParams($values);
 //簽名步驟二:在string后加入KEY
 $string = $string . 'key=' . config('pay.KEY');
 //簽名步驟三:MD5加密
 $string = md5($string);
 //簽名步驟四:所有字符轉(zhuǎn)為大寫
 $result = strtoupper($string);
 return $result;
 }
 private function ToUrlParams($array)
 {
 $buff = "";
 foreach ($array as $k => $v) {
 if ($k != "sign"  $v != ""  !is_array($v)) {
 $buff .= $k . "=" . $v . "";
 }
 }
 $buff = trim($buff, "");
 return $buff;
 }

 /**
 * 輸出xml字符
 * @param $values
 * @return bool|string
 */
 private function toXml($values)
 {
 if (!is_array($values)
 || count($values) = 0
 ) {
 return false;
 }
 $xml = "xml>";
 foreach ($values as $key => $val) {
 if (is_numeric($val)) {
 $xml .= "" . $key . ">" . $val . "/" . $key . ">";
 } else {
 $xml .= "" . $key . ">![CDATA[" . $val . "]]>/" . $key . ">";
 }
 }
 $xml .= "/xml>";
 return $xml;
 }

 /**
 * 將xml轉(zhuǎn)為array
 * @param $xml
 * @return mixed
 */
 private function fromXml($xml)
 {
 // 禁止引用外部xml實(shí)體
 libxml_disable_entity_loader(true);
 return json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
 }

 /**
 * 獲取cert證書文件
 * @return array
 * @throws BaseException
 */
 private function getCertPem()
 {
// if (empty($this->config['cert_pem']) || empty($this->config['key_pem'])) {
// throw new BaseException(['msg' => '請(qǐng)先到后臺(tái)小程序設(shè)置填寫微信支付證書文件']);
// }
 // cert目錄
 $filePath = EXTEND_PATH.'wxpay/cert/';
 return [
 'certPem' => $filePath . 'apiclient_cert.pem',
 'keyPem' => $filePath . 'apiclient_key.pem'
 ];
 }
/**
 * 生成商戶訂單號(hào)
 */
 public function get_orderssh()
 {
 return date("YmdHis") . mt_rand(10000000, 99999999);
 }

證書路徑

config配置

總結(jié)

到此這篇關(guān)于基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢的文章就介紹到這了,更多相關(guān)微信小程序支付 退款 訂單查詢 退款查詢內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • thinkphp Apache配置重啟Apache1 restart 出錯(cuò)解決辦法
  • ThinkPHP框架搭建及常見問題(XAMPP安裝失敗、Apache/MySQL啟動(dòng)失敗)
  • thinkphp路由規(guī)則使用示例詳解和偽靜態(tài)功能實(shí)現(xiàn)(apache重寫)
  • 修改apache配置文件去除thinkphp url中的index.php
  • THINKPHP5.1 Config的配置與獲取詳解
  • ThinkPHP5.1驗(yàn)證碼功能實(shí)現(xiàn)的示例代碼
  • ThinkPHP5框架中使用JWT的方法示例
  • thinkphp5.1框架模板賦值與變量輸出示例
  • ThinkPhP+Apache+PHPstorm整合框架流程圖解

標(biāo)簽:貴陽(yáng) 郴州 綿陽(yáng) 雞西 黃石 白城 迪慶 瀘州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作》,本文關(guān)鍵詞  基于,thinkphp5,框架,實(shí)現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于基于thinkphp5框架實(shí)現(xiàn)微信小程序支付 退款 訂單查詢 退款查詢操作的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    中文字幕黄色大片| 欧美日韩aaaa| 真人抽搐一进一出视频| 资源av在线| 午夜精品亚洲| 国产精品久久7| 91精品一区二区三区四区| 91精品视频一区| 日av在线不卡| 日本高清视频在线播放| 欧美激情第10页| 欧洲性xxxx| 午夜欧美福利视频| 米奇777四色精品人人爽| 自拍av在线| 国产色99精品9i| 先锋影音一区二区三区| 国产一区二区三区四区五区加勒比| 成人免费在线播放| 九九热在线视频免费观看| 天堂资源在线中文| 男人通一通女人的下水道| 啊啊啊啊啊啊啊视频在线播放| 亚洲日本激情| 黄色影片网址| 在线碰免费视频在线观看| 青青青爽久久午夜综合久久午夜| 一区三区二区视频| 亚洲第一激情av| 91麻豆免费看片| 欧美18—20岁hd第一次| 欧美成人免费观看| 美女视频黄a大片欧美| 国产精品—色呦呦| 91高清免费在线观看| 在线观看国产原创自拍视频| 九色蝌蚪在线视频| 国产三级做爰在线观看| 懂色av影视一区二区三区| 影音先锋久久资源网| 性欧美13一14内谢| 久久久久久久久国产精品| 久久精品女人天堂av免费观看| 国模吧精品视频| 少妇久久久久久被弄高潮| 亚洲AV无码久久精品国产一区| 亚洲成人1234| 国精产品一区一区三区免费视频| 国产叼嘿视频在线观看| 国产成人免费在线| 亚洲精品成人av| 欧美jjzz| 日韩美女免费线视频| 亚洲av无码一区东京热久久| 亚洲综合色婷婷| 亚洲1区在线观看| 国产探花在线精品| 国产在线精品二区| 亚洲精品孕妇| 精品极品在线| 手机在线色视频| 天堂久久一区二区三区| 18免费在线视频| 成人毛片视频免费看| 久久久久久久久久久久久久久久久| huan性巨大欧美| 伊人久久久久久久久久久| 羞羞视频网站在线观看| 国产精品久久久久久久久久久久久久| а√天堂资源官网在线资源| 在线天堂中文www视软件| 717成人午夜免费福利电影| 97影视大全免费追剧大全在线观看| 精品美女在线观看视频在线观看| 国模吧无码一区二区三区| 天堂在线中文在线| www.99re6| 黄色av小说在线观看| 极品校花啪啪激情久久| 中文在线免费| 无码人妻熟妇av又粗又大| 国内自拍视频在线播放| eeuss第一页| 伊人久久综合视频| 在线观看免费视频一区二区三区| 精品无吗乱吗av国产爱色| 丁香花五月激情| 亚洲大胆视频| 午夜剧场在线免费观看| 久久久精品国产一区二区三区| 成人精品国产| 亚洲精品av在线| 亚洲国产欧美另类| 日韩在线网址| 亚洲一区av| 亚洲精品8mav| 亚洲精品第一国产综合精品| 91n在线视频| 亚洲精品欧美日韩| caoporn97免费视频公开| 欧美在线观看一区二区| 国产精品嫩草久久久久| 久久精品一区二区| 在线无限看免费粉色视频| 日韩三级视频中文字幕| 日日夜夜天天综合入口| 亚洲一区二区天堂| 欧美大片顶级少妇| 亚洲一区二区不卡免费| 最近国语视频在线观看免费播放| 欧亚精品在线观看| 欧美裸体在线版观看完整版| 美女视频黄 久久| 猛男欧美办公室激情在线| 久久久久国产精品一区三寸| 欧美激情高清视频| 成人深夜在线观看| 国产美女免费视频| 国产亚洲一区二区三区啪| av片在线免费观看| 韩国久久久久久| 可以看的av网址| 精品无码三级在线观看视频| 日本a在线观看| 国产最新精品免费| 欧美性猛交xxxx富婆弯腰| 无国产精品白浆免费视| 欧美久久99| 欧美精品另类| 少妇极品熟妇人妻无码| 国产午夜精品福利| 免费99精品国产自在在线| 欧美精品一区二区在线播放| 欧美bbbbxxxx| 欧美精品一区二区三区中文字幕| 国产女同性恋一区二区| 国产一区国产精品| 欧美精品v日韩精品v国产精品| 欧美xxxx三人交性视频| 国产69久久精品成人| 91麻豆视频网站| 四虎黄色影院| 在线综合欧美| 高清在线观看免费韩剧| 欧美1区3d| 久久精品99久久无色码中文字幕| 日韩毛片中文字幕| 九九这里只有精品视频| 国产伦精品一区二区三区免| 桥本有菜亚洲精品av在线| 一区二区三区高清国产| 精品国产视频| 国产精品久久久久久久免费软件| www.亚洲男人天堂| 欧美精品videossex性护士| 亚洲国产成人精品女人| 登山的目的在线| 日本黄色录像视频| 日韩成人激情在线| 欧美激情伊人电影| 91在线观看免费| 男人天堂av在线播放| 日本美女视频一区二区| 日日操天天摸| 国产精品久久久久久婷婷天堂| 亚洲综合欧美激情| 日韩欧美亚洲国产精品字幕久久久| 亚洲欧美成人一区二区在线电影| 香蕉在线观看视频| 一区二区美女视频| 英国三级经典在线观看| 欧美日韩aaaaa| 日韩免费av片在线观看| 精品视频在线观看免费观看| 国产精品麻豆99久久久久久| 欧美特黄一级视频| 麻豆传媒在线视频| 久久九九影视网| 久久精品99国产精品日本| 99久久久精品免费观看国产| 男人的天堂av社区在线| 少妇熟女视频一区二区三区| 狠狠干一区二区| 久久综合久中文字幕青草| 高清精品一区二区三区一区| 久久国产劲爆∧v内射| 蜜桃传媒一区二区亚洲av| 色猫咪免费人成网站在线观看| 国产91色在线播放| 久久久人成影片一区二区三区| 亚洲精品大全| 中文字幕在线日本| 51精品国产黑色丝袜高跟鞋| 北条麻妃在线一区二区免费播放| 亚洲国产成人在线| 欧美成人免费在线视频| 欧美精品日韩少妇| 99热这里只有精品在线播放| 色综合色狠狠天天综合色| 在线观看免费黄色网址| 激情久久久久久久久久久久久久久久| 久久亚洲国产精品| 91超碰在线免费| 亚洲三区在线观看无套内射| 91免费网站视频| 国产精品1区2区3区在线观看| 欧美在线观看天堂一区二区三区| 岳张嘴把我的精子吞下去| 亚洲自拍av在线| 亚洲自拍一区在线观看| 99热这里只有精品在线播放| 中文字幕91爱爱| 久久91亚洲人成电影网站| 亚洲自拍另类综合| 琪琪一区二区三区| 国产伦精品一区二区三区免费优势| 欧美最猛性xxxxx直播| 久久9999免费视频| h片精品在线观看| 成人国产1314www色视频| 在线丝袜欧美日韩制服| 午夜精品久久久内射近拍高清| 欧美性xxxx极品hd欧美风情| 超碰97人人做人人爱少妇| 波多野结衣一区二区三区在线观看| 久久精品视频免费| 91原创国产| 精品久久综合| 国产男女无套在线播放| 久久精品第一页| 欧美精选午夜久久久乱码6080| 一区二区三区在线免费看| 久久蜜桃香蕉精品一区二区三区| 国产精品视频麻豆| 任你弄在线视频免费观看| 暖暖影院日本高清...免费| 国产在线播放91| 国产伦理精品| 永久免费在线观看视频| 国产综合免费视频| 亚洲精品老司机| 天美星空大象mv在线观看视频| 亚洲色图美国十次| 亚洲精品色午夜无码专区日韩| 999国产精品999久久久久久| 中文字幕免费在线观看视频| 亚洲h在线观看| 久草综合在线| 美女视频黄的免费| 久久成人av少妇免费| 国产精品视频第一页| 欧美多人乱p欧美4p久久| 亚洲免费二区| 国产精品男人爽免费视频1| 四季av一区二区凹凸精品| 亚洲欧美自拍视频| 久久久久免费视频| 在线观看污污网站| 亚洲一区国产一区| 国产午夜精品一区理论片| 激情欧美国产欧美| 日韩国产成人| 可以免费看的黄色网址| 亚洲xxxx在线| 亚洲国产精品一区二区第一页| 在这里有精品| 久久久噜噜噜久久中文字免| 一级网站免费观看| 久久只有这里有精品| 国内精品在线观看视频| 国产精品日本欧美一区二区三区| 亚洲图片第一页| 国产成人精品一区二三区| 日韩av在线高清| 国产成人精品一区二区免费看京| 免费看黄色av| 欧美大胆a人体大胆做受| 69久久夜色精品国产69| 国产一区二区三区视频在线观看| 国产成人免费av| 在线播放第一页| 久久99精品国产.久久久久久| 欧美性做爰猛烈叫床潮| 久久精品香蕉视频| 欧美精品v日韩精品v韩国精品v| free性欧洲69| 五月天亚洲婷婷| 国产成人av一区二区三区不卡| 一本一本久久a久久精品综合妖精| 亚洲国产第一| 亚洲人成网站免费播放| 亚洲日本色图| 国产一区二三区好的| 国产精品va在线观看无码| 女同激情久久av久久| 99久久久免费精品国产一区二区| 苍井空张开腿实干12次| 亚洲自拍偷拍九九九| 欧美日韩国产一级| 电影天堂av在线| 欧美另类中文字幕| 色综合久久天天综合网| 精品无码一区二区三区蜜臀| 亚洲欧美另类小说视频| 亚洲精品久久久成人| 潘金莲激情呻吟欲求不满视频| 亚久久调教视频| 久久99影视| 人成在线免费网站| 男男一级淫片免费播放| 亚洲欧美日韩一区成人| 91麻豆精品国产91久久久平台| 欧美国产日韩一二三区| 一区二区三区精品视频| 日韩不卡免费高清视频| 亚洲精品国产精品粉嫩| 69av在线播放| 中日韩精品视频在线观看| 精品国产一区二区三区性色av| 欧美日韩大片免费观看| 国产精品69久久久久水密桃| 亚洲激情视频在线| 一区二区三区美女视频| 日本中文字幕一区二区有限公司| 国产欧美一区二区精品久久久| 美女性感视频久久| 久久久亚洲国产| 91精品国产欧美一区二区成人|