日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

ThinkPHP 3.2 支付宝即时到账接口开发

發布時間:2024/4/17 php 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ThinkPHP 3.2 支付宝即时到账接口开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

?

一、支付流程

  • 構造請求參數
  • 向支付寶網關發送請求
  • 生成支付寶頁面
  • 支付寶交易結果
  • 二、構建支付類

    ?1.官方即時到賬文檔地址:

    https://doc.open.alipay.com/doc2/detail?treeId=62&articleId=103740&docType=1

    ?2.支付類:

    <?php /*** Created by PhpStorm.* User: Tinywan* Date: 2016/9/16* Time: 10:44*/ namespace Common\Model;use Think\Model;class PayModel {public $alipay_gateway_new = 'https://mapi.alipay.com/gateway.do?';public $https_verify_url = 'https://mapi.alipay.com/gateway.do?service=notify_verify&';public $http_verify_url = 'http://notify.alipay.com/trade/notify_query.do?';private $keys = 'k2zu8i7h9enbkafsvtfrgdcuy1n273qn';private $partner = '2088802807619823';private $cacert = 'http://www.19981.com/cert/cacert.pem';public function alipay($data){$param = array('service' => 'create_direct_pay_by_user','partner' => $this->partner,'_input_charset' => 'utf-8','notify_url' => 'http://wechatu.xd107.com/pay/notify/notify_url', //異步通知//'return_url' => 'http://wechatu.xd107.com/pay/notify/return_url', //同步通知'out_trade_no' => $data['out_trade_no'],'subject' => $data['subject'],'payment_type' => '1','total_fee' => $data['total_fee'],'seller_email' => 'mzhsoft@126.com',);//構造請求參數$res = $this->buildRequestPara($param);$form = $this->buildRequestForm($res, 'get', '提交');return $form;//echo($form); }/*** 針對notify_url驗證消息是否是支付寶發出的合法消息* @return 驗證結果*/public function verifyNotify(){if (empty($_POST)) {//判斷POST來的數組是否為空return false;} else {//生成簽名結果$isSign = $this->getSignVeryfy($_POST, $_POST["sign"]);//獲取支付寶遠程服務器ATN結果(驗證是否是支付寶發來的消息)$responseTxt = 'false';if (!empty($_POST["notify_id"])) {$responseTxt = $this->getResponse($_POST["notify_id"]);}//寫日志記錄//if ($isSign) {// $isSignStr = 'true';//}//else {// $isSignStr = 'false';//}//$log_text = "responseTxt=".$responseTxt."\n notify_url_log:isSign=".$isSignStr.",";//$log_text = $log_text.createLinkString($_POST);//logResult($log_text);//驗證//$responsetTxt的結果不是true,與服務器設置問題、合作身份者ID、notify_id一分鐘失效有關//isSign的結果不是true,與安全校驗碼、請求時的參數格式(如:帶自定義參數等)、編碼格式有關if (preg_match("/true$/i", $responseTxt) && $isSign) {return true;} else {return false;}}}/*** 針對return_url驗證消息是否是支付寶發出的合法消息* @return 驗證結果*/public function verifyReturn(){if (empty($_GET)) {//判斷POST來的數組是否為空return false;} else {//生成簽名結果$isSign = $this->getSignVeryfy($_GET, $_GET["sign"]);//獲取支付寶遠程服務器ATN結果(驗證是否是支付寶發來的消息)$responseTxt = 'false';if (!empty($_GET["notify_id"])) {$responseTxt = $this->getResponse($_GET["notify_id"]);}//寫日志記錄//if ($isSign) {// $isSignStr = 'true';//}//else {// $isSignStr = 'false';//}//$log_text = "responseTxt=".$responseTxt."\n return_url_log:isSign=".$isSignStr.",";//$log_text = $log_text.createLinkString($_GET);//logResult($log_text);//驗證//$responsetTxt的結果不是true,與服務器設置問題、合作身份者ID、notify_id一分鐘失效有關//isSign的結果不是true,與安全校驗碼、請求時的參數格式(如:帶自定義參數等)、編碼格式有關if (preg_match("/true$/i", $responseTxt) && $isSign) {return true;} else {return false;}}}/*** 獲取返回時的簽名驗證結果* @param $para_temp 通知返回來的參數數組* @param $sign 返回的簽名結果* @return 簽名驗證結果*/function getSignVeryfy($para_temp, $sign){//除去待簽名參數數組中的空值和簽名參數$para_filter = $this->paraFilter($para_temp);//對待簽名參數數組排序$para_sort = $this->argSort($para_filter);//把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串$prestr = $this->createLinkstring($para_sort);$isSgin = false;switch (strtoupper(trim('MD5'))) {case "MD5" :$isSgin = $this->md5Verify($prestr, $sign, $this->keys);break;default :$isSgin = false;}return $isSgin;}/*** 獲取遠程服務器ATN結果,驗證返回URL* @param $notify_id 通知校驗ID* @return 服務器ATN結果* 驗證結果集:* invalid命令參數不對 出現這個錯誤,請檢測返回處理中partner和key是否為空* true 返回正確信息* false 請檢查防火墻或者是服務器阻止端口問題以及驗證時間是否超過一分鐘*/function getResponse($notify_id){$transport = strtolower(trim('http'));$partner = trim($this->partner);$veryfy_url = '';if ($transport == 'https') {$veryfy_url = $this->https_verify_url;} else {$veryfy_url = $this->http_verify_url;}$veryfy_url = $veryfy_url . "partner=" . $partner . "&notify_id=" . $notify_id;$responseTxt = $this->getHttpResponseGET($veryfy_url, $this->cacert);return $responseTxt;}/*** 建立請求,以表單HTML形式構造(默認)* @param $para_temp 請求參數數組* @param $method 提交方式。兩個值可選:post、get* @param $button_name 確認按鈕顯示文字* @return 提交表單HTML文本*/function buildRequestForm($para_temp, $method, $button_name){//待請求參數數組$para = $this->buildRequestPara($para_temp);$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='" . $this->alipay_gateway_new . "_input_charset=" . trim(strtolower('utf-8')) . "' method='" . $method . "'>";while (list ($key, $val) = each($para)) {$sHtml .= "<input type='hidden' name='" . $key . "' value='" . $val . "'/>";}//submit按鈕控件請不要含有name屬性$sHtml = $sHtml . "<input type='submit' value='" . $button_name . "' style='display:none;'></form>";$sHtml = $sHtml . "<script>document.forms['alipaysubmit'].submit();</script>";return $sHtml;}/*** 生成要請求給支付寶的參數數組* @param $para_temp 請求前的參數數組* @return 要請求的參數數組*/function buildRequestPara($para_temp){//除去待簽名參數數組中的空值和簽名參數$para_filter = $this->paraFilter($para_temp);//對待簽名參數數組排序$para_sort = $this->argSort($para_filter);//生成簽名結果$mysign = $this->buildRequestMysign($para_sort);//簽名結果與簽名方式加入請求提交參數組中$para_sort['sign'] = $mysign;$para_sort['sign_type'] = strtoupper(trim('MD5'));return $para_sort;}/*** 除去數組中的空值和簽名參數* @param $para 簽名參數組* return 去掉空值與簽名參數后的新簽名參數組*/function paraFilter($para){$para_filter = array();while (list ($key, $val) = each($para)) {if ($key == "sign" || $key == "sign_type" || $val == "") continue;else $para_filter[$key] = $para[$key];}return $para_filter;}/*** 對數組排序* @param $para 排序前的數組* return 排序后的數組*/function argSort($para){ksort($para);reset($para);return $para;}/*** 生成簽名結果* @param $para_sort 已排序要簽名的數組* return 簽名結果字符串*/function buildRequestMysign($para_sort){//把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串$prestr = $this->createLinkstring($para_sort);$mysign = "";switch (strtoupper(trim('MD5'))) {case "MD5" :$mysign = $this->md5Sign($prestr, $this->keys);break;default :$mysign = "";}return $mysign;}/*** 把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串* @param $para 需要拼接的數組* return 拼接完成以后的字符串*/function createLinkstring($para){$arg = "";while (list ($key, $val) = each($para)) {$arg .= $key . "=" . $val . "&";}//去掉最后一個&字符$arg = substr($arg, 0, count($arg) - 2);//如果存在轉義字符,那么去掉轉義if (get_magic_quotes_gpc()) {$arg = stripslashes($arg);}return $arg;}/*** 簽名字符串* @param $prestr 需要簽名的字符串* @param $key 私鑰* return 簽名結果*/function md5Sign($prestr, $key){$prestr = $prestr . $key;return md5($prestr);}/*** 驗證簽名* @param $prestr 需要簽名的字符串* @param $sign 簽名結果* @param $key 私鑰* return 簽名結果*/function md5Verify($prestr, $sign, $key){$prestr = $prestr . $key;$mysgin = md5($prestr);if ($mysgin == $sign) {return true;} else {return false;}}/*** 遠程獲取數據,GET模式* 注意:* 1.使用Crul需要修改服務器中php.ini文件的設置,找到php_curl.dll去掉前面的";"就行了* 2.文件夾中cacert.pem是SSL證書請保證其路徑有效,目前默認路徑是:getcwd().'\\cacert.pem'* @param $url 指定URL完整路徑地址* @param $cacert_url 指定當前工作目錄絕對路徑* return 遠程輸出的數據*/function getHttpResponseGET($url, $cacert_url){$curl = curl_init($url);curl_setopt($curl, CURLOPT_HEADER, 0); // 過濾HTTP頭curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);// 顯示輸出結果curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL證書認證curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//嚴格認證curl_setopt($curl, CURLOPT_CAINFO, $cacert_url);//證書地址$responseText = curl_exec($curl);//var_dump( curl_error($curl) );//如果執行curl過程中出現異常,可打開此開關,以便查看異常內容curl_close($curl);return $responseText;}}

    三、訂單支付

    (1)訂單顯示和異步處理代碼:

    <?php /*** Created by PhpStorm.* User: Tinywan* Date: 2016/9/16* Time: 10:44*/ namespace Pay\Controller;use Think\Controller;class IndexController extends Controller {public function index(){$map['id'] = 7;$info = M('alipay')->where($map)->find();$this->assign('info', $info);$this->display();//echo($form); }public function payTo(){$data['subject'] = $_POST['subject'];$data['out_trade_no'] = $_POST['out_trade_no'];$data['total_fee'] = $_POST['total_fee'];$res = D('Common/Pay')->alipay($data);$this->ajaxReturn($res);}}

    (2)訂單顯示和異步請求代碼:

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>購物車</title> <script src="http://apps.bdimg.com/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script> </head> <body> <style type="text/css"> *{margin:0px;padding:0px;border:0px; font-size:12px;color:#333; font-family:微軟雅黑;} ul li{ list-style:none} a{ text-decoration:none;} a:hover{ color:#e46432;} body{margin:auto;;overflow-x:hidden;}/*****購物車*********/ .gwc{ width:950px;overflow:hidden;} .gwc_tb1{ width:100%; border-top:5px solid #48b9e5; background:#d0e7fa; height:38px; margin-top:20px; overflow:hidden;} .tb1_td1{ width:35px; text-align:center;} .tb1_td3{ width:290px; text-align:center;} .tb1_td4{ width:260px; text-align:center;} .tb1_td5{ width:115px; text-align:center;} .tb1_td6{ width:135px; text-align:center;} .tb1_td7{ text-align:center;}.gwc_tb2{ width:100%; margin-top:20px; background:#eef6ff; border:1px solid #e5e5e5; padding-top:20px; padding-bottom:20px;} .tb2_td1{ width:60px; text-align:center;} .tb2_td2{ width:100px; text-align:center;} .tb2_td2 img{ width:96px; height:96px; border:2px solid #c9c6c7;} .tb2_td3{ width:170px; padding-left:12px; padding-right:18px;} .tb2_td3 a{ font-size:14px; line-height:22px;}.gwc_tb3{ width:100%; border:1px solid #d2d2d2; background:#e7e7e7; height:46px; margin-top:20px; } .gwc_tb3 tr td{font-size:14px;} .tb3_td2{ width:100px;text-align:center;} .tb3_td2 span{ color:#ff5500;font-size:14px; font-weight:bold; padding-left:5px; padding-right:5px; } .tb3_td3{ width:220px;text-align:center;} .tb3_td3 span{ font-size:18px; font-weight:bold;} .tb3_td4{ width:110px;text-align:center;} .jz2{ width:100px; height:46px; line-height:46px; text-align:center; font-size:18px; color:#fff; background:#ee0000; display:block; float:right;} #jz1{font-size:18px;} </style> <div class="gwc" style=" margin:auto;"><table cellpadding="0" cellspacing="0" class="gwc_tb1"><tr><td class="tb1_td3">商品</td><td class="tb1_td4">商品信息</td><td class="tb1_td5">數量</td><td class="tb1_td6">單價</td><td class="tb1_td7">操作</td></tr></table><table cellpadding="0" cellspacing="0" class="gwc_tb2"><tr><td class="tb2_td2"></td><td class="tb2_td3"><a href="#">蘋果手機</a></td><td class="tb1_td4">{$info.subject}</td><td class="tb1_td5"><input id="min1" name="" style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="-" /><input id="text_box1" name="" type="text" value="1" style=" width:30px; text-align:center; border:1px solid #ccc;" /><input id="add1" name="" style=" width:20px; height:18px;border:1px solid #ccc;" type="button" value="+" /></td><td class="tb1_td6"><label id="total1" class="tot" style="color:#ff5500;font-size:14px; font-weight:bold;">{$info.total_fee}</label></td><td class="tb1_td7"><a href="#">刪除</a></td></tr></table><table cellpadding="0" cellspacing="0" class="gwc_tb3"><tr><td id="subject" style="display:none">{$info.subject}</td><td id="out_trade_no" style="display:none">{$info.out_trade_no}</td><td class="tb3_td3">合計(不含運費):<span></span><span id="total_fee">{$info.total_fee}</span></td><td class="tb3_td4"><a href="#" style=" display:block;" onclick="payto()" class="jz2" id="jz2">結算</a></td></tr></table></div> <div id="form" style="display:none"></div> <script type='text/javascript'>var $URL = "__ROOT__/Pay/Index/";function payto(){$.ajax({type: "post",url: $URL+'payTo',data: {subject:$("#subject").html(), out_trade_no:$("#out_trade_no").html(),total_fee:$("#total_fee").html()},dataType: "json",success: function(data){$('#form').html(data);}}); } </script> </body> </html>

    四、同步通知和異步通知(已經做了是否支付寶發送過來的信息)

    (1)notify_url()方法:【異步方法】

    ? ? ? ?說明:應該是每3秒異步請求或說刷新一次。里面主要做:比如更改訂單狀態(如果驗證成功,幾把本地訂單設置為已支付,包括發送短信等操作)

    (2)return_url()方法:【同步方法】

    ? ? ? ?說明:支付成功提示后跳轉回去的頁面,就是finish頁面。建議這里只做提示用,因為如果想在這里做業務邏輯的話做法不當,因為如果這個頁面跳轉是有個時間段的,需要幾秒鐘,如果支付成功后客戶在還沒有跳轉前把頁面關閉了,那么對應的業務邏輯就沒法實現。業務邏輯應該都是放在notify_url()方法中實現比較好的(*^__^*) 嘻嘻……。

    <?php /*** Created by PhpStorm.* User: Tinywan* Date: 2016/9/16* Time: 10:44*/ namespace Pay\Controller; use Think\Controller; class NotifyController extends Controller {//同步通知public function return_url(){$verify = D('Common/Pay')->verifyReturn();if($verify){$out_trade_no = $_GET['out_trade_no'];$trade_no = $_GET['trade_no'];$trade_status = $_GET['trade_status'];if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {$map['out_trade_no'] = $out_trade_no;$data['trade_no'] = $trade_no;$res = M('alipay')->where($map)->save($data);if($res !== false){echo 'success,return_url'.$res;}}}}//異步通知public function notify_url(){$verify = D('Common/Pay')->verifyNotify();if($verify){$out_trade_no = $_POST['out_trade_no'];$trade_no = $_POST['trade_no'];$trade_status = $_POST['trade_status'];if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {$map['out_trade_no'] = $out_trade_no;$data['trade_no'] = $trade_no;$res = M('alipay')->where($map)->save($data);if($res !== false){echo 'success notify_url--$res';}}}} }

    五、驗證是否是支付寶發來的通知

    $verify = D('Common/Pay')->verifyNotify(); // 返回值:true 正確,false:錯誤 /*** 針對return_url驗證消息是否是支付寶發出的合法消息* @return 驗證結果*/public function verifyReturn(){if (empty($_GET)) {//判斷POST來的數組是否為空return false;} else {//生成簽名結果$isSign = $this->getSignVeryfy($_GET, $_GET["sign"]);//獲取支付寶遠程服務器ATN結果(驗證是否是支付寶發來的消息)$responseTxt = 'false';if (!empty($_GET["notify_id"])) {$responseTxt = $this->getResponse($_GET["notify_id"]);}//寫日志記錄//if ($isSign) {// $isSignStr = 'true';//}//else {// $isSignStr = 'false';//}//$log_text = "responseTxt=".$responseTxt."\n return_url_log:isSign=".$isSignStr.",";//$log_text = $log_text.createLinkString($_GET);//logResult($log_text);//驗證//$responsetTxt的結果不是true,與服務器設置問題、合作身份者ID、notify_id一分鐘失效有關//isSign的結果不是true,與安全校驗碼、請求時的參數格式(如:帶自定義參數等)、編碼格式有關if (preg_match("/true$/i", $responseTxt) && $isSign) {return true;} else {return false;}}}

    六、支付寶有密批量退款

    處理類:

    <?php namespace Common\Model; use Think\Model; class RefundModel{public $alipay_gateway_new = 'https://mapi.alipay.com/gateway.do?';private $keys = 'k2zu8i7h9enbkafsvtfrgdcuy1n273qn';private $partner = '2088802807619823';private $cacert = './cert/cacert.pem';private $private_key_path = './cert/rsa_private_key.pem';//退款請求function refund($data){//構造要請求的參數數組,無需改動$parameter = array("service" => 'refund_fastpay_by_platform_pwd',"partner" => $this->partner,"seller_email" => 'mzhsoft@126.com',"refund_date" => date('Y-m-d H:i:s',time()),"batch_no" => $data['batch_no'],"batch_num" => $data['batch_num'],"detail_data" => $data['detail_data'],"_input_charset" => trim(strtolower('utf-8')));$res = $this->buildRequestForm($parameter, 'get', '確認');return $res ;}/*** 生成簽名結果* @param $para_sort 已排序要簽名的數組* return 簽名結果字符串*/function buildRequestMysign($para_sort) {//把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串$prestr = $this->createLinkstring($para_sort);$mysign = "";switch (strtoupper(trim('RSA'))) {case "RSA" :$mysign = $this->rsaSign($prestr, $this->private_key_path);break;default :$mysign = "";}return $mysign;}/*** 生成要請求給支付寶的參數數組* @param $para_temp 請求前的參數數組* @return 要請求的參數數組*/function buildRequestPara($para_temp) {//除去待簽名參數數組中的空值和簽名參數$para_filter = $this->paraFilter($para_temp);//對待簽名參數數組排序$para_sort = $this->argSort($para_filter);//生成簽名結果$mysign = $this->buildRequestMysign($para_sort);//簽名結果與簽名方式加入請求提交參數組中$para_sort['sign'] = $mysign;$para_sort['sign_type'] = strtoupper(trim('RSA'));return $para_sort;}/*** 生成要請求給支付寶的參數數組* @param $para_temp 請求前的參數數組* @return 要請求的參數數組字符串*/function buildRequestParaToString($para_temp) {//待請求參數數組$para = $this->buildRequestPara($para_temp);//把參數組中所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串,并對字符串做urlencode編碼$request_data = $this->createLinkstringUrlencode($para);return $request_data;}/*** 建立請求,以表單HTML形式構造(默認)* @param $para_temp 請求參數數組* @param $method 提交方式。兩個值可選:post、get* @param $button_name 確認按鈕顯示文字* @return 提交表單HTML文本*/function buildRequestForm($para_temp, $method, $button_name) {//待請求參數數組$para = $this->buildRequestPara($para_temp);$sHtml = "<form id='alipaysubmit' name='alipaysubmit' action='".$this->alipay_gateway_new."_input_charset=".trim(strtolower('utf-8'))."' method='".$method."'>";while (list ($key, $val) = each ($para)) {$sHtml.= "<input type='hidden' name='".$key."' value='".$val."'/>";}//submit按鈕控件請不要含有name屬性$sHtml = $sHtml."<input type='submit' value='".$button_name."'></form>";$sHtml = $sHtml."<script>document.forms['alipaysubmit'].submit();</script>";return $sHtml;}/*** 建立請求,以模擬遠程HTTP的POST請求方式構造并獲取支付寶的處理結果* @param $para_temp 請求參數數組* @return 支付寶處理結果*/function buildRequestHttp($para_temp) {$sResult = '';//待請求參數數組字符串$request_data = $this->buildRequestPara($para_temp);//遠程獲取數據$sResult = $this->getHttpResponsePOST($this->alipay_gateway_new, $this->cacert,$request_data,trim(strtolower('utf-8')));return $sResult;}/*** 建立請求,以模擬遠程HTTP的POST請求方式構造并獲取支付寶的處理結果,帶文件上傳功能* @param $para_temp 請求參數數組* @param $file_para_name 文件類型的參數名* @param $file_name 文件完整絕對路徑* @return 支付寶返回處理結果*/function buildRequestHttpInFile($para_temp, $file_para_name, $file_name) {//待請求參數數組$para = $this->buildRequestPara($para_temp);$para[$file_para_name] = "@".$file_name;//遠程獲取數據$sResult = $this->getHttpResponsePOST($this->alipay_gateway_new, $this->cacert,$para,trim(strtolower('utf-8')));return $sResult;} /*** 把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串* @param $para 需要拼接的數組* return 拼接完成以后的字符串*/function createLinkstring($para) {$arg = "";while (list ($key, $val) = each ($para)) {$arg.=$key."=".$val."&";}//去掉最后一個&字符$arg = substr($arg,0,count($arg)-2);//如果存在轉義字符,那么去掉轉義if(get_magic_quotes_gpc()){$arg = stripslashes($arg);}return $arg;}/*** 把數組所有元素,按照“參數=參數值”的模式用“&”字符拼接成字符串,并對字符串做urlencode編碼* @param $para 需要拼接的數組* return 拼接完成以后的字符串*/function createLinkstringUrlencode($para) {$arg = "";while (list ($key, $val) = each ($para)) {$arg.=$key."=".urlencode($val)."&";}//去掉最后一個&字符$arg = substr($arg,0,count($arg)-2);//如果存在轉義字符,那么去掉轉義if(get_magic_quotes_gpc()){$arg = stripslashes($arg);}return $arg;}/*** 除去數組中的空值和簽名參數* @param $para 簽名參數組* return 去掉空值與簽名參數后的新簽名參數組*/function paraFilter($para) {$para_filter = array();while (list ($key, $val) = each ($para)) {if($key == "sign" || $key == "sign_type" || $val == "")continue;else $para_filter[$key] = $para[$key];}return $para_filter;}/*** 對數組排序* @param $para 排序前的數組* return 排序后的數組*/function argSort($para) {ksort($para);reset($para);return $para;}/*** 寫日志,方便測試(看網站需求,也可以改成把記錄存入數據庫)* 注意:服務器需要開通fopen配置* @param $word 要寫入日志里的文本內容 默認值:空值*/function logResult($word='') {$fp = fopen("log.txt","a");flock($fp, LOCK_EX) ;fwrite($fp,"執行日期:".strftime("%Y%m%d%H%M%S",time())."\n".$word."\n");flock($fp, LOCK_UN);fclose($fp);}/*** 遠程獲取數據,POST模式* 注意:* 1.使用Crul需要修改服務器中php.ini文件的設置,找到php_curl.dll去掉前面的";"就行了* 2.文件夾中cacert.pem是SSL證書請保證其路徑有效,目前默認路徑是:getcwd().'\\cacert.pem'* @param $url 指定URL完整路徑地址* @param $cacert_url 指定當前工作目錄絕對路徑* @param $para 請求的數據* @param $input_charset 編碼格式。默認值:空值* return 遠程輸出的數據*/function getHttpResponsePOST($url, $cacert_url, $para, $input_charset = '') {if (trim($input_charset) != '') {$url = $url."_input_charset=".$input_charset;}$curl = curl_init($url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL證書認證curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//嚴格認證curl_setopt($curl, CURLOPT_CAINFO,$cacert_url);//證書地址curl_setopt($curl, CURLOPT_HEADER, 0 ); // 過濾HTTP頭curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);// 顯示輸出結果curl_setopt($curl,CURLOPT_POST,true); // post傳輸數據curl_setopt($curl,CURLOPT_POSTFIELDS,$para);// post傳輸數據$responseText = curl_exec($curl);//var_dump( curl_error($curl) );//如果執行curl過程中出現異常,可打開此開關,以便查看異常內容curl_close($curl);return $responseText;}/*** 遠程獲取數據,GET模式* 注意:* 1.使用Crul需要修改服務器中php.ini文件的設置,找到php_curl.dll去掉前面的";"就行了* 2.文件夾中cacert.pem是SSL證書請保證其路徑有效,目前默認路徑是:getcwd().'\\cacert.pem'* @param $url 指定URL完整路徑地址* @param $cacert_url 指定當前工作目錄絕對路徑* return 遠程輸出的數據*/function getHttpResponseGET($url,$cacert_url) {$curl = curl_init($url);curl_setopt($curl, CURLOPT_HEADER, 0 ); // 過濾HTTP頭curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1);// 顯示輸出結果curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//SSL證書認證curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);//嚴格認證curl_setopt($curl, CURLOPT_CAINFO,$cacert_url);//證書地址$responseText = curl_exec($curl);//var_dump( curl_error($curl) );//如果執行curl過程中出現異常,可打開此開關,以便查看異常內容curl_close($curl);return $responseText;}/*** 實現多種字符編碼方式* @param $input 需要編碼的字符串* @param $_output_charset 輸出的編碼格式* @param $_input_charset 輸入的編碼格式* return 編碼后的字符串*/function charsetEncode($input,$_output_charset ,$_input_charset) {$output = "";if(!isset($_output_charset) )$_output_charset = $_input_charset;if($_input_charset == $_output_charset || $input ==null ) {$output = $input;} elseif (function_exists("mb_convert_encoding")) {$output = mb_convert_encoding($input,$_output_charset,$_input_charset);} elseif(function_exists("iconv")) {$output = iconv($_input_charset,$_output_charset,$input);} else die("sorry, you have no libs support for charset change.");return $output;}/*** 實現多種字符解碼方式* @param $input 需要解碼的字符串* @param $_output_charset 輸出的解碼格式* @param $_input_charset 輸入的解碼格式* return 解碼后的字符串*/function charsetDecode($input,$_input_charset ,$_output_charset) {$output = "";if(!isset($_input_charset) )$_input_charset = $_input_charset ;if($_input_charset == $_output_charset || $input ==null ) {$output = $input;} elseif (function_exists("mb_convert_encoding")) {$output = mb_convert_encoding($input,$_output_charset,$_input_charset);} elseif(function_exists("iconv")) {$output = iconv($_input_charset,$_output_charset,$input);} else die("sorry, you have no libs support for charset changes.");return $output;} /*** RSA簽名* @param $data 待簽名數據* @param $private_key_path 商戶私鑰文件路徑* return 簽名結果*/function rsaSign($data, $private_key_path) {$priKey = file_get_contents($private_key_path);$res = openssl_get_privatekey($priKey);openssl_sign($data, $sign, $res);openssl_free_key($res);//base64編碼$sign = base64_encode($sign);return $sign;}/*** RSA驗簽* @param $data 待簽名數據* @param $ali_public_key_path 支付寶的公鑰文件路徑* @param $sign 要校對的的簽名結果* return 驗證結果*/function rsaVerify($data, $ali_public_key_path, $sign) {$pubKey = file_get_contents($ali_public_key_path);$res = openssl_get_publickey($pubKey);$result = (bool)openssl_verify($data, base64_decode($sign), $res);openssl_free_key($res); return $result;}/*** RSA解密* @param $content 需要解密的內容,密文* @param $private_key_path 商戶私鑰文件路徑* return 解密后內容,明文*/function rsaDecrypt($content, $private_key_path) {$priKey = file_get_contents($private_key_path);$res = openssl_get_privatekey($priKey);//用base64將內容還原成二進制$content = base64_decode($content);//把需要解密的內容,按128位拆開解密$result = '';for($i = 0; $i < strlen($content)/128; $i++ ) {$data = substr($content, $i * 128, 128);openssl_private_decrypt($data, $decrypt, $res);$result .= $decrypt;}openssl_free_key($res);return $result;} }

    具體方法:

    //退款public function refund(){header("Content-type:text/html;charset=utf-8");$data['batch_no'] = date('YmdHis').'MZ01';$data['batch_num'] = 1; $data['detail_data'] = '2016091621001004480242264394^0.01^協商退款01';$res = D('Common/Refund')->refund($data);//var_dump($res); 這個用在測試的時候,如果打印的是一個表單的話表示錯誤echo($res);}

    六、RSA商戶公鑰與支付寶公鑰(待定....)

    具體詳細代碼和說明文檔見Github:https://github.com/Tinywan/ThinkPhpStudy

    ?

    轉載于:https://www.cnblogs.com/tinywan/p/5876066.html

    總結

    以上是生活随笔為你收集整理的ThinkPHP 3.2 支付宝即时到账接口开发的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    中文字幕第一 | 久久久久久久免费观看 | 中日韩在线视频 | 日韩高清在线不卡 | 色综合色综合久久综合频道88 | 国产情侣一区 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 天天色成人 | 一本一道久久a久久综合蜜桃 | 成人黄色免费观看 | 在线观看成人福利 | 一区精品久久 | 午夜久久久影院 | 天天草av| 国产涩涩在线观看 | 日韩av高清在线观看 | 久久99久国产精品黄毛片入口 | 日日爱av | 蜜臀一区二区三区精品免费视频 | 少妇视频一区 | av在线之家电影网站 | 亚洲成人精品久久久 | 91香蕉视频黄 | 成年人av在线播放 | 三级黄色在线观看 | 欧美一级淫片videoshd | 91传媒在线播放 | 欧美va在线观看 | 蜜桃av观看 | 欧美色图另类 | 西西www444| 国产亚洲精品日韩在线tv黄 | 欧美日韩一二三四区 | 久久午夜免费视频 | av成人动漫在线观看 | www五月天婷婷 | 综合色婷婷 | 中文在线a在线 | 免费看特级毛片 | 久草99| 你操综合 | 在线韩国电影免费观影完整版 | 亚洲成人二区 | 成人在线视频论坛 | 在线中文字幕电影 | 欧美日韩一二三四区 | 中文字幕在线观看第三页 | 精品久久久久久国产偷窥 | 国产网红在线观看 | 欧美一区二区三区在线观看 | 久久国产精品免费一区二区三区 | 视频91| 美女视频久久黄 | 欧美专区亚洲专区 | 亚洲高清资源 | 91精品日韩 | 五月天六月色 | 久久国产片 | 精品一区二区在线免费观看 | 国产午夜视频在线观看 | 人人超碰免费 | a在线v| 亚洲国产中文字幕 | 综合色爱 | 91超在线| 亚洲电影在线看 | 在线观看亚洲视频 | 91理论电影 | 欧美-第1页-屁屁影院 | 久久午夜视频 | 久久久亚洲国产精品麻豆综合天堂 | 精品国产成人 | a√资源在线 | 午夜黄色影院 | 一区二区伦理电影 | 精品久久久久久久 | 久草热久草视频 | 天堂在线视频中文网 | 一区二区三区日韩视频在线观看 | 久久久久久久久久久网 | 97免费在线观看视频 | 久久精品精品 | 久久99精品国产 | 国产裸体永久免费视频网站 | 天天天天天天操 | 97在线观看 | 亚洲 欧美日韩 国产 中文 | 人人搞人人爽 | 亚洲欧美视频 | 黄色一级片视频 | 成人黄色资源 | 日韩欧美在线综合网 | 四虎影视av| 国产999精品久久久影片官网 | 久99久久 | 蜜臀精品久久久久久蜜臀 | 狠狠做深爱婷婷综合一区 | 国产污视频在线观看 | 欧美日韩成人一区 | 精品久久久久久久久久久院品网 | 91在线精品视频 | 在线播放亚洲 | 懂色av一区二区在线播放 | 91av社区| 国产资源在线播放 | 久久99精品国产麻豆婷婷 | 超碰人人99 | 日韩h在线观看 | 亚洲毛片在线观看. | 国产精品久久久久久a | 久久精品99 | 激情黄色一级片 | 国产操在线 | 国产成人精品亚洲 | 女人魂免费观看 | 国产精品久久久久久久久久99 | 日韩电影一区二区三区 | 在线看成人片 | 婷婷久久久久 | 国产成人av一区二区三区在线观看 | 亚洲成人av电影 | 久久久久久久久影院 | 国产黄色片久久 | 日韩欧美高清在线 | 91成人短视频在线观看 | 国产精品成人免费 | 欧美激情视频一二三区 | 日韩欧美高清一区二区 | 日日操日日插 | 99久久日韩精品视频免费在线观看 | 国产精品麻豆一区二区三区 | 六月丁香综合网 | 久久人人爽人人爽人人片av免费 | 午夜精品久久久 | 日韩欧美aaa| 欧美一区二区三区在线视频观看 | 久久人人添人人爽添人人88v | 日韩深夜在线观看 | 久久99在线视频 | 久久国色夜色精品国产 | 国产一区网址 | 五月天综合网站 | 免费又黄又爽视频 | 色婷婷综合久色 | 国产护士av | 六月丁香综合 | 婷婷午夜天 | 91精品在线播放 | 91人人插 | 天天草天天操 | 国产黄色精品在线 | 91网免费观看 | 在线激情电影 | 99久久精品网 | 毛片在线播放网址 | 免费网站黄 | 国产在线a免费观看 | 999国产在线| 欧美日韩一级视频 | 国产一区二区三区久久久 | 日韩电影久久久 | 亚洲网站在线看 | 亚洲精品乱码久久久久久蜜桃动漫 | 操操操夜夜操 | 韩国av不卡 | 91久久国产露脸精品国产闺蜜 | 在线视频 你懂得 | 久操中文字幕在线观看 | 在线日本v二区不卡 | 国产精品第 | 久久这里 | 亚洲一区不卡视频 | 精品国产视频在线观看 | 国产午夜影院 | 国产精品久久久亚洲 | 精品久久久久久综合 | 免费福利视频网站 | 婷婷色五 | 国产成人精品av在线观 | 国产成人精品国内自产拍免费看 | 亚洲在线a| 91麻豆精品国产91久久久无限制版 | 婷婷丁香狠狠爱 | 天天狠狠操| 久久精久久精 | 亚洲高清网站 | 操操操影院 | 在线观看mv的中文字幕网站 | 日韩有码第一页 | 九九爱免费视频在线观看 | 中国老女人日b | 久久综合九色综合网站 | 亚洲国产精品一区二区久久hs | 国产一区欧美二区 | 国产伦理一区二区 | 青青河边草免费观看完整版高清 | 国产视频在线免费 | 亚洲激情在线 | 久久国产精品视频免费看 | 一区二区三区日韩在线观看 | 国产一区二区午夜 | 91av福利视频 | 久草线 | 在线电影91 | 一区二区三区在线免费播放 | 欧洲精品码一区二区三区免费看 | 西西444www大胆无视频 | 欧美日一级片 | 99热99re6国产在线播放 | 综合色站导航 | 国产色一区 | 国内精品国产三级国产aⅴ久 | 国内精品久久天天躁人人爽 | 国产成人av在线 | 超碰在线观看99 | 国产午夜精品一区二区三区欧美 | 日日爽日日操 | 国产高清成人 | 超碰激情在线 | 天天综合狠狠精品 | 色综合 久久精品 | 成人av免费播放 | 在线观看日韩中文字幕 | 中文理论片 | 九色在线视频 | 麻豆视传媒官网免费观看 | 在线欧美日韩 | 免费在线观看毛片网站 | 国产成人精品一区二区在线观看 | 91av免费观看 | 中文字幕一区二区三 | 久草com| 久久精品爱爱视频 | 色吊丝在线永久观看最新版本 | 在线免费色视频 | 久久成人国产 | 免费在线播放黄色 | 人人插人人费 | 亚洲自拍自偷 | 99re亚洲国产精品 | 在线观看国产 | 国产精品观看在线亚洲人成网 | 欧美日韩精品国产 | 午夜黄色影院 | 69绿帽绿奴3pvideos | 国产久草在线 | 久久影视中文字幕 | 久久久久久美女 | 91成人免费观看视频 | 97超碰在 | 日韩欧美99| 国产精品中文字幕在线观看 | 欧美 日韩 国产 成人 在线 | 91麻豆精品一区二区三区 | 日本精品在线看 | 最近更新好看的中文字幕 | 国产精品观看视频 | 91日韩免费 | 日韩久久久久久久 | 国产高清专区 | 成年人电影毛片 | 欧美精品小视频 | 91久久一区二区 | 午夜久久久影院 | 国产精品久久久久久a | 另类五月激情 | 超碰在线色 | 91最新国产 | 黄色国产大片 | 久久久国产精品电影 | 99自拍视频在线观看 | www.天天干 | 91污污| 天天综合网天天 | 免费三级黄色 | 欧美精品少妇xxxxx喷水 | 国产一级二级在线播放 | 99视屏 | 亚洲色图27p | 国产三级久久久 | 在线观看成人福利 | 探花视频在线观看免费版 | 日韩字幕在线 | 久久艹国产 | www·22com天天操| 一级黄色电影网站 | 91在线精品一区二区 | 少妇搡bbbb搡bbb搡aa | 久久96国产精品久久99漫画 | 美女网站在线播放 | 深夜免费网站 | 久久久精品亚洲 | 欧美日韩视频在线播放 | 在线观看蜜桃视频 | 国产精品久久嫩一区二区免费 | 日韩中文字幕视频在线观看 | 日韩av快播电影网 | 精品国产123 | 午夜18视频在线观看 | 国产精品视频全国免费观看 | 天天干人人 | 在线观看网站av | 久久久久久黄 | 丁香在线观看完整电影视频 | 热久久电影 | 久久久久久久久久久久电影 | 色综合天天在线 | 久久99精品热在线观看 | 天天色成人 | 免费观看的黄色片 | 欧美激情在线网站 | 婷婷激情在线观看 | 亚洲精品美女视频 | 国产免费激情久久 | 成人免费一区二区三区在线观看 | 欧美激情视频一区二区三区免费 | 91精品视频在线看 | 在线播放你懂 | 久久99九九99精品 | 成人国产一区 | 一区二区三区高清在线 | 99资源网| 国内精品福利视频 | av3级在线| 缴情综合网五月天 | 久久福利国产 | 中文av在线天堂 | 国产 色| 久久黄网站 | av久久在线 | www.xxxx变态.com | 在线观看免费成人av | 久久国产美女视频 | 国产精品亚洲片夜色在线 | 亚洲资源视频 | 久久国产精品久久国产精品 | 午夜精品久久久久久久99婷婷 | 国产精品久久久久永久免费观看 | 波多野结衣在线中文字幕 | 亚洲精品国产品国语在线 | 五月开心婷婷网 | 精品国产精品久久一区免费式 | 国产无遮挡又黄又爽馒头漫画 | 黄影院| 国产小视频福利在线 | 久久影视精品 | 日韩欧美视频免费观看 | 99re8这里有精品热视频免费 | 色九九影院 | 精品视频久久 | 精品国产乱码久久久久久久 | www.成人sex| 视频在线播放国产 | 五月婷婷在线观看视频 | 国产高清成人在线 | 精品成人a区在线观看 | 欧美性大战久久久久 | 久久精品久久久精品美女 | 伊人久久影视 | 久久视频在线观看 | 中文字幕视频免费观看 | av福利在线 | av一本久道久久波多野结衣 | 国产91在线看 | 在线精品亚洲一区二区 | 91丨精品丨蝌蚪丨白丝jk | 特级片免费看 | 欧美一区影院 | 国产成人免费网站 | 五月激情婷婷丁香 | 激情深爱五月 | 又爽又黄又无遮挡网站动态图 | 国产高清视频免费最新在线 | 国产日产精品一区二区三区四区的观看方式 | 久久久污 | 日韩69视频 | 国产一级三级 | 波多野结衣精品在线 | 日韩欧美精品一区二区三区经典 | 亚洲精选在线观看 | 日韩精品一区二区三区高清免费 | 在线天堂视频 | 国产最新视频在线 | 国产免费观看av | 国产黄色免费电影 | 久久网站最新地址 | 午夜视频在线观看网站 | 超碰在线人人草 | 午夜精品一区二区三区可下载 | 亚洲天堂精品视频在线观看 | 亚洲国产精品视频在线观看 | 日韩免费中文字幕 | 西西44人体做爰大胆视频 | 精品在线播放 | 免费av的网站 | 亚洲精品综合一区二区 | 91精品国产91久久久久久三级 | 中文字幕观看av | 蜜臀av性久久久久av蜜臀三区 | 五月天六月婷婷 | 91自拍视频在线观看 | 九九热在线精品视频 | 久久蜜臀一区二区三区av | 日女人电影| 日日夜夜人人天天 | 成人毛片在线观看视频 | .国产精品成人自产拍在线观看6 | 国产精品永久免费观看 | 国产一区网址 | 在线a人v观看视频 | 久久久精品成人 | 96亚洲精品久久 | 久久人人爽人人片av | 日韩黄色av网站 | 日韩综合在线观看 | av福利免费| 久久久久成人精品 | 国产一级黄色免费看 | 国产v欧美 | 在线观看国产中文字幕 | 在线观看91精品国产网站 | 亚洲九九九在线观看 | 97自拍超碰 | 国产一级视频在线 | 中文字幕在线看视频国产 | 国产免费观看久久黄 | 中文字幕视频观看 | 狠狠狠色丁香综合久久天下网 | 成人久久 | 日本久久高清视频 | 亚洲一区视频在线播放 | 粉嫩高清一区二区三区 | 欧美日韩在线观看一区 | 日韩欧美一区二区在线播放 | 国产成人精品国内自产拍免费看 | 国产在线p | 国产色爽 | 激情在线网 | 欧美一级大片在线观看 | 五月天色婷婷丁香 | 亚州精品视频 | 久久免费大片 | 中文字幕有码在线观看 | 91精品亚洲影视在线观看 | 国产麻豆精品一区二区 | 97超碰人人爱 | 91成年人网站 | 午夜视频黄 | 激情图片区| 免费在线播放黄色 | 午夜 久久 tv | adc在线观看 | 九色视频网址 | 天天操综合网站 | 免费看污片 | 久久电影网站中文字幕 | 国产v欧美 | 久久黄色影视 | 久久久久久影视 | 免费黄色在线播放 | 美女网站视频一区 | 国产精品网红福利 | 国产aaa毛片 | 中文在线免费视频 | 中文字幕乱码一区二区 | 97超碰国产在线 | 欧美成人xxxx | 精品久久久久久久久中文字幕 | 亚洲少妇xxxx | 一区二区三区免费 | www.看片网站 | 久久久网页 | 亚洲精品乱码久久久久久蜜桃不爽 | wwwav视频| 超碰在线人人97 | 五月激情婷婷丁香 | 二区三区在线视频 | 国产在线国偷精品产拍 | www.99在线观看| 在线观看精品国产 | 99在线免费观看视频 | 久久精品人人做人人综合老师 | 精品国产一二区 | 91在线网站 | 欧美久久久久久久久久久 | 亚洲成人免费在线 | 午夜精品福利一区二区三区蜜桃 | 99久久影视 | 六月丁香久久 | 亚洲国产精品va在线看 | 国产又粗又猛又黄又爽的视频 | 日韩99热 | 国产黑丝一区二区 | 欧美性生活一级片 | 97视频在线免费播放 | 色综合色综合色综合 | 国产精品99久久久久久小说 | 最近中文字幕高清字幕在线视频 | 日韩欧美在线观看一区二区三区 | 日韩精品免费专区 | 91精品国产一区二区在线观看 | 丁香六月婷 | 久久久香蕉视频 | 亚洲精品在线观看网站 | 欧美日韩在线观看一区二区三区 | 婷婷网在线 | 色综合天天天天做夜夜夜夜做 | 色狠狠狠 | 97国产精品一区二区 | 91伊人久久大香线蕉蜜芽人口 | 欧美一区二区三区免费观看 | 久热av | 国产一区二区三区四区大秀 | 97国产大学生情侣酒店的特点 | 国产精品黑丝在线观看 | 成年人视频免费在线 | 亚洲自拍av在线 | 亚洲一区二区麻豆 | 国产亚洲综合性久久久影院 | 黄色影院在线播放 | 成人羞羞免费 | 久久综合影音 | 日韩av在线网站 | 最新黄色av网址 | 深爱综合网 | 欧美性生活免费看 | 九色精品免费永久在线 | 久久久国产精品电影 | 欧美日韩一区二区在线观看 | 五月婷婷六月综合 | 久久福利在线 | 国产原创av片 | 狠狠色丁婷婷日日 | av三级av| 中文字幕在线乱 | 国产一区在线不卡 | 新av在线| 久久久精品欧美 | 国产麻豆精品久久一二三 | 久久99精品一区二区三区三区 | 亚洲免费成人 | 二区在线播放 | 久久久免费电影 | 日本动漫做毛片一区二区 | 久久久久免费精品国产小说色大师 | av一本久道久久波多野结衣 | 日韩成人免费在线 | 中文字幕在线播放一区二区 | 日韩h在线观看 | 日本黄区免费视频观看 | 久久久www成人免费精品张筱雨 | 午夜国产福利视频 | 色婷婷激婷婷情综天天 | 又黄又刺激又爽的视频 | 中文字幕一区二区三区久久蜜桃 | 国产精品大片在线观看 | 四虎成人精品在永久免费 | 伊人狠狠色丁香婷婷综合 | 久久成人精品视频 | 久久美女免费视频 | 亚洲国产美女久久久久 | 98超碰在线 | 精品国产伦一区二区三区 | 亚洲最新合集 | 久久精品二区 | 日韩精品一区二区三区三炮视频 | 日韩三级在线 | 99亚洲天堂| 97超碰人人澡人人爱学生 | 成人黄色大片网站 | 又黄又爽又色无遮挡免费 | 国产精品久久久久久久妇 | 国产永久免费观看 | 国产美女视频免费观看的网站 | 婷婷草 | 1024手机看片国产 | 2023年中文无字幕文字 | 丁香六月婷婷开心婷婷网 | 综合精品在线 | 日韩激情小视频 | 欧美日韩二区在线 | 久久精品电影网 | 久久综合之合合综合久久 | 日韩高清免费在线 | 国产精品乱码久久久 | 99中文在线 | 在线免费黄 | 一级片视频在线 | 成人a免费看 | 麻豆视频免费网站 | 精品国产一区二区三区久久影院 | 在线观看一区二区视频 | 黄色av一区| 日韩高清免费观看 | 91在线免费公开视频 | 国产区网址 | 国产69精品久久久久99 | 国产午夜免费视频 | 国产精品色 | 五月天网站在线 | 欧美日本三级 | 日韩在线视 | 999久久久久| 国产免费av一区二区三区 | 97精品国自产拍在线观看 | 成人丁香花 | 日韩欧美在线观看一区二区 | 人人爽人人舔 | 日本久久精品 | 免费又黄又爽视频 | 探花系列在线 | 日韩一区正在播放 | 91亚洲精品久久久蜜桃网站 | 久久99精品久久久久久久久久久久 | 天天插天天狠 | 国产精品美女在线观看 | 国产成人精品一区二区三区在线 | 久久午夜精品 | 成人免费视频a | 五月婷婷激情五月 | 亚洲国产一区二区精品专区 | 欧美色精品天天在线观看视频 | 91精品国产99久久久久久红楼 | 国产成人在线免费观看 | 久久99精品久久久久久秒播蜜臀 | 在线观看完整版 | 91最新在线 | 亚洲成人国产 | 久久久激情网 | 黄色毛片网站在线观看 | 欧美性久久久 | 91九色精品女同系列 | 国产视频一 | 国产精品中文 | 91av在线电影 | 国产在线视频一区 | 人人澡人人澡人人 | 91xav| 亚洲免费公开视频 | 久久99视频免费观看 | 中文在线免费观看 | 超碰97成人 | 九九免费在线看完整版 | 久久久国际精品 | 国产在线视频在线观看 | 欧美国产日韩久久 | 国产午夜三级一区二区三桃花影视 | 国产精品久久亚洲 | 久久久免费精品国产一区二区 | 综合色狠狠 | 超碰97人人干 | 欧美日韩精品免费观看视频 | 亚洲美女视频网 | 久久老司机精品视频 | 亚洲精品成人网 | 免费黄色在线网址 | 国产精品一区二区果冻传媒 | 人人干人人搞 | 成 人 黄 色 视频播放1 | 99欧美 | 伊人天天干 | 亚洲精品视频在线观看视频 | 波多野结衣动态图 | 在线看成人 | 日本少妇高清做爰视频 | 免费视频 三区 | 久久99精品久久久久久 | 玖草在线观看 | 国产色黄网站 | 欧美一级视频免费 | 国产成人在线观看免费 | 18网站在线观看 | 一级特黄aaa大片在线观看 | 久久综合九色综合欧美就去吻 | 丁香婷婷综合激情 | 国产精品嫩草影视久久久 | 久久久久成人精品 | 国产精品 日韩精品 | 国产剧情一区二区在线观看 | 一级黄色网址 | 午夜久久 | 欧美日韩免费一区二区三区 | 国产视频在线免费 | 在线不卡a | 久久人视频| 18久久久 | 欧美激情xxxx性bbbb | 五月开心婷婷网 | 中文字幕在线看人 | 一本—道久久a久久精品蜜桃 | 五月天国产精品 | 国产日本亚洲高清 | 99这里只有久久精品视频 | 蜜臀一区二区三区精品免费视频 | 91免费网址 | 日韩免费不卡av | 久久久久久久久久久久电影 | 国产精品入口66mio女同 | 中文字幕免费成人 | 国产精品久久一区二区三区, | 一区 二区电影免费在线观看 | 婷婷 综合 色 | 搡bbbb搡bbb视频| 亚洲国产资源 | 成人午夜久久 | 欧美视频不卡 | 成人黄大片视频在线观看 | 久久一二区 | 91黄色免费网站 | 麻豆精品传媒视频 | 日韩av电影中文字幕在线观看 | 久久免费公开视频 | 国产精品完整版 | 91人人人 | 久久精品国产一区二区电影 | 国产一区二区三区免费观看视频 | 四虎成人av| 久久久国产精品人人片99精片欧美一 | 国产精品一区免费在线观看 | 久久久久免费精品国产 | 草久久久久久久 | 欧美日韩一级久久久久久免费看 | av在线电影网站 | 久久午夜视频 | 精品久久久久久一区二区里番 | 久久99国产精品视频 | 国产精品一区二区免费在线观看 | 美女亚洲精品 | 女女av在线| 久久国产综合视频 | 天天操天天操 | av一区二区三区在线 | 日韩av一区二区在线 | 国产精品久久久区三区天天噜 | 国产最新91 | 国产精品视频免费观看 | 日本中文字幕在线播放 | 国产精品专区h在线观看 | 日本久久成人中文字幕电影 | 99视频99| 亚洲综合精品视频 | 亚洲精品免费看 | 天天爱综合 | 99久久久国产免费 | 亚洲欧洲精品一区二区精品久久久 | 天干啦夜天干天干在线线 | 欧美在线视频日韩 | 免费成人在线观看视频 | 久久精品一区二区三区四区 | 精品免费观看视频 | 色欧美日韩 | 永久av免费在线观看 | 99精品欧美一区二区三区 | 久久国产精品视频免费看 | 精品一区二区三区四区在线 | 久久免费视频网站 | 久久黄色网页 | 视频一区二区在线 | 色网站免费在线观看 | 欧美日韩午夜爽爽 | 日韩av资源在线观看 | 天天插天天| 不卡在线一区 | 视频在线观看国产 | 欧美日韩高清国产 | 久久久亚洲电影 | 97免费视频在线 | 精品人妖videos欧美人妖 | 在线成人性视频 | 99视频精品在线 | 国产精品人人做人人爽人人添 | 国产精品国产自产拍高清av | 99视频精品全部免费 在线 | 亚洲人人爱 | 中文字幕在线观看免费高清电影 | 奇米影视8888在线观看大全免费 | 中文日韩在线视频 | 国产麻豆精品一区二区 | 久久视频热 | 超碰97成人 | 国产资源精品在线观看 | 日韩中文字幕一区 | 中文字幕视频在线播放 | 久久九九久久 | 国产69精品久久99不卡的观看体验 | 嫩草91影院| 国产一级精品在线观看 | 玖玖爱免费视频 | 91视视频在线直接观看在线看网页在线看 | 欧美一级日韩免费不卡 | 96超碰在线 | 黄p网站在线观看 | 美女网站色 | 狠狠狠色丁香婷婷综合激情 | 中文字幕高清有码 | 国产在线无 | 国产小视频免费在线网址 | 午夜久久电影网 | 日韩欧美在线综合网 | 97在线资源 | 在线观看免费日韩 | 免费福利片2019潦草影视午夜 | 欧美日韩后| 99热9| av天天干| 国产精品一区久久久久 | 久久久这里有精品 | 婷婷av综合 | 在线观看小视频 | 天天干天天做天天爱 | 91福利在线导航 | 国产经典三级 | 992tv在线观看网站 | 国产精品色婷婷 | 午夜国产在线观看 | 91香蕉视频黄 | 国产美女精品视频免费观看 | 狠狠操狠狠干天天操 | 欧美日韩中文在线视频 | 久久成人国产精品入口 | 国产成人在线一区 | 久久成人免费视频 | 综合网伊人 | 国产精品美女视频网站 | 色国产精品 | 91成人天堂久久成人 | 人人玩人人添人人 | 欧美亚洲国产一卡 | 久久免费视频网 | 日韩小视频网站 | 欧美激情在线网站 | 999视频精品 | 久久精品看 | 丝袜一区在线 | 五月婷婷激情 | 成人在线中文字幕 | av在线电影网站 | 亚洲视频第一页 | 天天色棕合合合合合合 | 国产一区二区三区高清播放 | 日韩av播放在线 | 久久视频这里只有精品 | 久久久亚洲电影 | 精品一区二区三区四区在线 | 亚洲成人精品 | 欧美成人理伦片 | 在线国产日本 | 久草在线视频精品 | 人人干人人爽 | 亚洲午夜精品久久久 | 久久久久久久久久久久久久免费看 | 国产精品剧情在线亚洲 | 中文字幕丝袜一区二区 | 97日日碰人人模人人澡分享吧 | 99热在线免费观看 | 国产第一二区 | 日韩久久在线 | 九九免费在线看完整版 | 亚洲精品欧美专区 | 亚洲免费精品一区二区 | 国产免费久久av | 在线亚洲播放 | 婷婷国产v亚洲v欧美久久 | 国产精品久久久久久麻豆一区 | 中文字幕视频一区二区 | 一区二区三区四区五区在线 | 久久婷婷综合激情 | av成人免费网站 | 亚洲精品在线观 | 久久草av| 国产成人不卡 | 久久久久福利视频 | 成人av电影在线 | 国产第一页在线观看 | 欧美精品一区二区在线观看 | 日韩精品 在线视频 | 国产精品资源在线 | 正在播放一区二区 | 91视频高清完整版 | 中文字幕亚洲欧美日韩2019 | 91亚洲成人 | 在线免费观看黄色 | 中文高清av| 一二三区在线 | 国产精品露脸在线 | 黄色在线网站噜噜噜 | 伊人婷婷久久 | 国产精品久久久久久久久岛 | 麻豆视频入口 | 国产 在线观看 | 97色se| 国产超碰97 | 国产明星视频三级a三级点| 97av影院 | 国产在线观看国语版免费 | 色婷久久| 欧美永久视频 | 欧美精品久久久 | www.色com| 五月天六月婷婷 | 日日日日| 亚洲aⅴ乱码精品成人区 | 欧美日韩高清一区二区三区 | 成人av电影在线播放 | 亚洲国产婷婷 | 狠狠操狠狠插 | 国产精品观看在线亚洲人成网 | 精品福利网 | 欧美超碰在线 | 亚洲激精日韩激精欧美精品 | 亚洲视屏在线播放 | 国产视频精品久久 | 久久婷综合 | 超碰国产97 | 国产日产精品一区二区三区四区 | 欧美一二三在线 | 一区二区网| 男女精品久久 | 久久成人高清视频 | 久久综合九色综合97婷婷女人 | 激情综合网天天干 | 97超碰在线资源 | 久久这里精品视频 | 久久看毛片 | 亚洲欧美激情插 | 黄色的视频| 亚洲国产精品va在线看黑人动漫 | av在线a | 国内精品久久久久 | 在线国产精品视频 | 国内精品99 | 一区在线免费观看 | 色婷婷免费视频 | 黄色三级免费片 | 天天操天天综合网 | 成人黄色大片在线免费观看 | 国产无限资源在线观看 | 毛片一区二区 | 一色屋精品视频在线观看 | 正在播放国产91 | 精品一区二区三区久久久 | 亚洲精品视频在线免费播放 | 欧美精品xxx | 亚洲精品免费在线视频 | 中文字幕资源在线 | 久久免费视频1 | 亚洲国产精品传媒在线观看 | 在线免费看片 | 日韩在线一区二区免费 | 91禁在线看| 国产一级在线视频 | 欧美综合色在线图区 | 在线观看精品黄av片免费 | 麻豆一级视频 | 国产精品久久久久一区二区三区 | 久久人人做 | 国产亚洲精品久久久久久网站 | 国产欧美综合在线观看 | 深爱激情综合 | 成人在线黄色 | 992tv在线观看 | 久久香蕉电影 | 久久a久久 | 天天干人人干 | 777视频在线观看 | 亚洲视频专区在线 | 综合色婷婷 | 丁香亚洲 | 在线中文字幕av观看 | 91精品导航 | 高清精品视频 | 精品国产免费人成在线观看 | 日韩免费在线观看网站 | 欧美日本国产在线观看 | 中午字幕在线 | 成人国产精品免费观看 | 国产一区二区在线免费视频 | 欧美韩国日本在线观看 | 日韩视频一区二区 | 久爱精品在线 | 96视频在线 | 日韩免费一级a毛片在线播放一级 | www.天天成人国产电影 | 日韩av成人在线观看 | 99精品国产一区二区三区不卡 | 免费在线一区二区 | av成人动漫在线观看 | 欧美日韩国产欧美 | 日韩久久久久久久 | 性色av香蕉一区二区 | 一级精品视频在线观看宜春院 | 精品免费 | 国产特级毛片aaaaaa毛片 | 日韩精品三区四区 | 欧美日韩国产色综合一二三四 | 国产99久久久精品视频 | 97视频人人免费看 | 日韩视频一区二区在线观看 |