欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

支付寶接口開(kāi)發(fā)集成支付環(huán)境小結(jié)

 更新時(shí)間:2015年03月17日 09:21:20   投稿:hebedich  
本文主要給大家分享的是在做支付寶接口開(kāi)發(fā)集成支付環(huán)境的全過(guò)程,非常的詳細(xì),搭配示例代碼,是篇非常不錯(cuò)的文章,這里推薦給大家,有需要的小伙伴參考下。

關(guān)于支付寶的接口集成氣死是很簡(jiǎn)單,目前大概有3種類型,即時(shí)到帳、雙功能、擔(dān)保交易,只需要集成一次擔(dān)保交易,其他的比如即時(shí)到帳集成很容易,擔(dān)保交易的狀態(tài)有幾種,比如:是否支付成功,賣家是否發(fā)貨,買家確認(rèn)收獲等。而即時(shí)到帳只有一種,就是是否已付款!最多還有個(gè)退款的功能。一般都沒(méi)用到。

    通過(guò)之前做項(xiàng)目:配資平臺(tái),有個(gè)預(yù)付費(fèi)的功能,用到了支付寶的雙功能收款,其實(shí)就是提供兩種付款方式,即時(shí)到帳和擔(dān)保交易。一般買家謹(jǐn)慎會(huì)選擇擔(dān)保。

    下面說(shuō)下具體的集成過(guò)程,第一:下載對(duì)應(yīng)的集成接口包,比如即時(shí)到帳就下載即時(shí)到帳,擔(dān)保下載擔(dān)保,非常不建議將即時(shí)到帳修改成擔(dān)?;蛘叻粗?。案例中我下載的 雙功能接口文件,utf8-php接口。

    下載來(lái)的文件都大同小異,即時(shí)到帳和擔(dān)保的文件也相差不大,反正可以肯定的說(shuō),只要配置一次擔(dān)保支付寶接口,就能配置即時(shí)到帳。

    我們需要修改的文件有如下:alipay.config.php[配置文件,只是用于修改配置接口開(kāi)發(fā)者id和key]

    alipayapi.php[主調(diào)文件,將需要發(fā)送的post數(shù)據(jù)交給該文件,然后負(fù)責(zé)跳轉(zhuǎn)到支付頁(yè)面]
    index.php[demo演示頁(yè)面,可以不做修改,但是其中傳遞的參數(shù)名陳需要看懂]
    notify_url.php 返回?cái)?shù)據(jù)頁(yè)面,在其中將返回交易的狀態(tài),更具狀態(tài)我們可以更改數(shù)據(jù)庫(kù)訂單信息,該文件是通過(guò)post方式接受。
    return_url.php 返回?cái)?shù)據(jù)頁(yè)面,在其中將返回交易的狀態(tài),更具狀態(tài)我們可以更改數(shù)據(jù)庫(kù)訂單信息,該文件是通過(guò)GET方式。

    具體過(guò)程:

    第一步,修改配置信息:

復(fù)制代碼 代碼如下:

   $alipay_config['partner']       = 'xxx8511073xxxxxxxx';
   //安全檢驗(yàn)碼,以數(shù)字和字母組成的32位字符
   $alipay_config['key']           ='xxxxxxxxnow07oajbflskxxxxxxxxxx';

 
     第二:拼post數(shù)據(jù),一般只需要修改請(qǐng)求參數(shù)

復(fù)制代碼 代碼如下:

 /**************************請(qǐng)求參數(shù)**************************/
         //支付類型
         $payment_type = "1";
         //必填,不能修改
         //服務(wù)器異步通知頁(yè)面路徑
         $notify_url = "http://你的域名/alipay/notify_url.php";
         //需http://格式的完整路徑,不能加?id=123這類自定義參數(shù)
         //頁(yè)面跳轉(zhuǎn)同步通知頁(yè)面路徑
         $return_url = "http://你的域名/alipay/return_url.php";
         //需http://格式的完整路徑,不能加?id=123這類自定義參數(shù),不能寫成http://localhost/
         //賣家支付寶帳戶
         $seller_email = $_POST['WIDseller_email'];//demo[index.php]傳過(guò)來(lái)的
         //必填
         //商戶訂單號(hào)
         $out_trade_no = $_POST['WIDout_trade_no'];//傳過(guò)來(lái)的
         //商戶網(wǎng)站訂單系統(tǒng)中唯一訂單號(hào),必填
         //訂單名稱
         $subject = $_POST['WIDsubject'];//同上
         //必填
         //付款金額
         $price = $_POST['WIDprice'];//傳過(guò)來(lái)的,是你的表單中填寫的值
         //必填
         //商品數(shù)量
         $quantity = "1";
         //必填,建議默認(rèn)為1,不改變值,把一次交易看成是一次下訂單而非購(gòu)買一件商品
         //物流費(fèi)用
         $logistics_fee = "0.00";
         //必填,即運(yùn)費(fèi)
         //物流類型
         $logistics_type = "EXPRESS";
         //必填,三個(gè)值可選:EXPRESS(快遞)、POST(平郵)、EMS(EMS)
         //物流支付方式
         $logistics_payment = "SELLER_PAY";
         //必填,兩個(gè)值可選:SELLER_PAY(賣家承擔(dān)運(yùn)費(fèi))、BUYER_PAY(買家承擔(dān)運(yùn)費(fèi))
         //訂單描述
         $body = $_POST['WIDbody'];
         //商品展示地址
         $show_url = $_POST['WIDshow_url'];
         //需以http://開(kāi)頭的完整路徑,如:http://www.ya-jing.cn
         //收貨人姓名
         $receive_name = '螢火';
         //如:張三
         //收貨人地址
         $receive_address = $_POST['WIDreceive_address'];
         //如:XX省XXX市XXX區(qū)XXX路XXX小區(qū)XXX棟XXX單元XXX號(hào)
         //收貨人郵編
         $receive_zip = $_POST['WIDreceive_zip'];
         //如:123456
         //收貨人電話號(hào)碼
         $receive_phone = $_POST['WIDreceive_phone'];
         //如:0571-88158090
         //收貨人手機(jī)號(hào)碼
         $receive_mobile = $_POST['WIDreceive_mobile'];
         //如:13312341234

 
     第三:數(shù)據(jù)構(gòu)造完成后就可以在頁(yè)面上付款,測(cè)試能不能正確的打開(kāi)支付頁(yè)面。如果能打開(kāi),這時(shí)候就可以進(jìn)行付款了,但是買家付款的狀態(tài)我們還無(wú)法獲知,比如有沒(méi)有成功付款,賣家是否已經(jīng)發(fā)貨等。那么接下來(lái)開(kāi)始做返回狀態(tài)的業(yè)務(wù)邏輯處理。

打開(kāi)return_url.php文件,根據(jù)提示修改,做對(duì)因的處理。

復(fù)制代碼 代碼如下:

 //——請(qǐng)根據(jù)您的業(yè)務(wù)邏輯來(lái)編寫程序(以下代碼僅作參考)——
     //獲取支付寶的通知返回參數(shù),可參考技術(shù)文檔中頁(yè)面跳轉(zhuǎn)同步通知參數(shù)列表
     //商戶訂單號(hào) $out_trade_no = $_GET['out_trade_no'];
     //支付寶交易號(hào)    $trade_no = $_GET['trade_no'];
     //交易狀態(tài)
     $trade_status = $_GET['trade_status'];
     if($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {//狀態(tài)為成功
     //處理自己網(wǎng)站的業(yè)務(wù)邏輯
         if(!$order['status']){//判斷本地?cái)?shù)據(jù)庫(kù)中的訂單是否已經(jīng)處理
             db_update("stx_recharge",array("status"=>1),array("oid"=>$_GET
 ['out_trade_no']));//如果沒(méi)處理就將狀態(tài)改成已經(jīng)處理。
             //金錢的增加
             $zd = db_line("stx_terminal",array("id"=>$order['ztid']));
             db_update("stx_terminal",array("money"=>$zd['money']+$order
 ['money']),array("id"=>$order['ztid']));//增加余額到該用戶的賬戶上。
         }
     }
     else if($_GET['trade_status'] == 'TRADE_FINISHED') {
         //判斷該筆訂單是否在商戶網(wǎng)站中已經(jīng)做過(guò)處理
             //如果沒(méi)有做過(guò)處理,根據(jù)訂單號(hào)(out_trade_no)在商戶網(wǎng)站的訂單系統(tǒng)
 中查到該筆訂單的詳細(xì),并執(zhí)行商戶的業(yè)務(wù)程序
             //如果有做過(guò)處理,不執(zhí)行商戶的業(yè)務(wù)程序
     }
     else {
       echo "trade_status=".$_GET['trade_status'];
     }
     echo "驗(yàn)證成功<br />";
     echo "trade_no=".$trade_no;

     notify_url.php也是一樣,根據(jù)狀態(tài)來(lái)編寫對(duì)應(yīng)的代碼!notify_url.php文件中的狀態(tài)要多一些。

復(fù)制代碼 代碼如下:

 //——請(qǐng)根據(jù)您的業(yè)務(wù)邏輯來(lái)編寫程序(以下代碼僅作參考)——
     //獲取支付寶的通知返回參數(shù),可參考技術(shù)文檔中服務(wù)器異步通知參數(shù)列表
     //商戶訂單號(hào)
     $out_trade_no = $_POST['out_trade_no'];
     //支付寶交易號(hào)
     $trade_no = $_POST['trade_no'];
     //交易狀態(tài)
     $trade_status = $_POST['trade_status'];
     if($_POST['trade_status'] == 'WAIT_BUYER_PAY') {
     //該判斷表示買家已在支付寶交易管理中產(chǎn)生了交易記錄,但沒(méi)有付款
         //判斷該筆訂單是否在商戶網(wǎng)站中已經(jīng)做過(guò)處理
             //如果沒(méi)有做過(guò)處理,根據(jù)訂單號(hào)(out_trade_no)在商戶網(wǎng)站的訂單系統(tǒng)中查到該筆訂單的詳細(xì),并執(zhí)行商戶的業(yè)務(wù)程序
             //如果有做過(guò)處理,不執(zhí)行商戶的業(yè)務(wù)程序
         echo "success";    //請(qǐng)不要修改或刪除
         //調(diào)試用,寫文本函數(shù)記錄程序運(yùn)行情況是否正常
         //logResult("這里寫入想要調(diào)試的代碼變量值,或其他運(yùn)行的結(jié)果記錄");
     }
     else if($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {
     //該判斷表示買家已在支付寶交易管理中產(chǎn)生了交易記錄且付款成功,但賣家沒(méi)有發(fā)貨
         if(!$order['status']){
             db_update("stx_recharge",array("status"=>1),array("oid"=>$_POST['out_trade_no']));
             //金錢的增加
             $zd = db_line("stx_terminal",array("id"=>$order['ztid']));
             db_update("stx_terminal",array("money"=>$zd['money']+$order['money']),array("id"=>$order['ztid']));
         }
         echo "success";    //請(qǐng)不要修改或刪除
         //調(diào)試用,寫文本函數(shù)記錄程序運(yùn)行情況是否正常
         //logResult("這里寫入想要調(diào)試的代碼變量值,或其他運(yùn)行的結(jié)果記錄");
     }
     else if($_POST['trade_status'] =='WAIT_BUYER_CONFIRM_GOODS') {
     //該判斷表示賣家已經(jīng)發(fā)了貨,但買家還沒(méi)有做確認(rèn)收貨的操作
         if(!$order['status']){
             db_update("stx_recharge",array("status"=>1),array("oid"=>$_POST['out_trade_no']));
             //金錢的增加
             $zd = db_line("stx_terminal",array("id"=>$order['ztid']));
             db_update("stx_terminal",array("money"=>$zd['money']+$order['money']),array("id"=>$order['ztid']));
         }
         echo "success";    //請(qǐng)不要修改或刪除
         //調(diào)試用,寫文本函數(shù)記錄程序運(yùn)行情況是否正常
         //logResult("這里寫入想要調(diào)試的代碼變量值,或其他運(yùn)行的結(jié)果記錄");
     }
     else if($_POST['trade_status'] == 'TRADE_FINISHED') {
     //該判斷表示買家已經(jīng)確認(rèn)收貨,這筆交易完成
         //判斷該筆訂單是否在商戶網(wǎng)站中已經(jīng)做過(guò)處理
             //如果沒(méi)有做過(guò)處理,根據(jù)訂單號(hào)(out_trade_no)在商戶網(wǎng)站的訂單系統(tǒng)中查到該筆訂單的詳細(xì),并執(zhí)行商戶的業(yè)務(wù)程序
             //如果有做過(guò)處理,不執(zhí)行商戶的業(yè)務(wù)程序
         echo "success";    //請(qǐng)不要修改或刪除
         //調(diào)試用,寫文本函數(shù)記錄程序運(yùn)行情況是否正常
         //logResult("這里寫入想要調(diào)試的代碼變量值,或其他運(yùn)行的結(jié)果記錄");
     }

由于我基本上沒(méi)有用到后續(xù)的發(fā)貨處理,所以在該狀態(tài)下未做處理,如果您的網(wǎng)站是購(gòu)物網(wǎng)站秒就需要做對(duì)應(yīng)的處理,比如更新?tīng)顟B(tài)值為已發(fā)貨,或者未付款、已確認(rèn)等。方便看到交易流程。同時(shí)在已付款的訂單中會(huì)產(chǎn)生支付寶的訂單id,可以同時(shí)記錄在自己的訂單中。

以上所述就是本文關(guān)于支付寶接口的全部?jī)?nèi)容了,希望能對(duì)大家熟練掌握支付寶接口支付的二次開(kāi)發(fā)能夠有所幫助。

相關(guān)文章

最新評(píng)論