<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                >本文主要給大家分享的是在做支付寶接口開發集成支付環境的全過程,非常的詳細,搭配示例代碼,是篇非常不錯的文章,這里推薦給大家,有需要的小伙伴參考下。 關于支付寶的接口集成氣死是很簡單,目前大概有3種類型,即時到帳、雙功能、擔保交易,只需要集成一次擔保交易,其他的比如即時到帳集成很容易,擔保交易的狀態有幾種,比如:是否支付成功,賣家是否發貨,買家確認收獲等。而即時到帳只有一種,就是是否已付款!最多還有個退款的功能。一般都沒用到。 通過之前做項目:配資平臺,有個預付費的功能,用到了支付寶的雙功能收款,其實就是提供兩種付款方式,即時到帳和擔保交易。一般買家謹慎會選擇擔保。 下面說下具體的集成過程,第一:下載對應的集成接口包,比如即時到帳就下載即時到帳,擔保下載擔保,非常不建議將即時到帳修改成擔保或者反之。案例中我下載的 雙功能接口文件,utf8-php接口。 下載來的文件都大同小異,即時到帳和擔保的文件也相差不大,反正可以肯定的說,只要配置一次擔保支付寶接口,就能配置即時到帳。 我們需要修改的文件有如下:alipay.config.php[配置文件,只是用于修改配置接口開發者id和key] alipayapi.php[主調文件,將需要發送的post數據交給該文件,然后負責跳轉到支付頁面] index.php[demo演示頁面,可以不做修改,但是其中傳遞的參數名陳需要看懂] notify_url.php 返回數據頁面,在其中將返回交易的狀態,更具狀態我們可以更改數據庫訂單信息,該文件是通過post方式接受。 return_url.php 返回數據頁面,在其中將返回交易的狀態,更具狀態我們可以更改數據庫訂單信息,該文件是通過GET方式。 具體過程: **第一步,修改配置信息:** * * * * * ~~~ $alipay_config['partner'] = 'xxx8511073xxxxxxxx'; //安全檢驗碼,以數字和字母組成的32位字符 $alipay_config['key'] ='xxxxxxxxnow07oajbflskxxxxxxxxxx'; ~~~ **第二:拼post數據,一般只需要修改請求參數** ***** ~~~ /**************************請求參數**************************/ //支付類型 $payment_type = "1"; //必填,不能修改 //服務器異步通知頁面路徑 $notify_url = "http://你的域名/alipay/notify_url.php"; //需http://格式的完整路徑,不能加?id=123這類自定義參數 //頁面跳轉同步通知頁面路徑 $return_url = "http://你的域名/alipay/return_url.php"; //需http://格式的完整路徑,不能加?id=123這類自定義參數,不能寫成http://localhost/ //賣家支付寶帳戶 $seller_email = $_POST['WIDseller_email'];//demo[index.php]傳過來的 //必填 //商戶訂單號 $out_trade_no = $_POST['WIDout_trade_no'];//傳過來的 //商戶網站訂單系統中唯一訂單號,必填 //訂單名稱 $subject = $_POST['WIDsubject'];//同上 //必填 //付款金額 $price = $_POST['WIDprice'];//傳過來的,是你的表單中填寫的值 //必填 //商品數量 $quantity = "1"; //必填,建議默認為1,不改變值,把一次交易看成是一次下訂單而非購買一件商品 //物流費用 $logistics_fee = "0.00"; //必填,即運費 //物流類型 $logistics_type = "EXPRESS"; //必填,三個值可選:EXPRESS(快遞)、POST(平郵)、EMS(EMS) //物流支付方式 $logistics_payment = "SELLER_PAY"; //必填,兩個值可選:SELLER_PAY(賣家承擔運費)、BUYER_PAY(買家承擔運費) //訂單描述 $body = $_POST['WIDbody']; //商品展示地址 $show_url = $_POST['WIDshow_url']; //需以http://開頭的完整路徑,如:http://www.ya-jing.cn //收貨人姓名 $receive_name = '螢火'; //如:張三 //收貨人地址 $receive_address = $_POST['WIDreceive_address']; //如:XX省XXX市XXX區XXX路XXX小區XXX棟XXX單元XXX號 //收貨人郵編 $receive_zip = $_POST['WIDreceive_zip']; //如:123456 //收貨人電話號碼 $receive_phone = $_POST['WIDreceive_phone']; //如:0571-88158090 //收貨人手機號碼 $receive_mobile = $_POST['WIDreceive_mobile']; //如:13312341234 ~~~ 第三:數據構造完成后就可以在頁面上付款,測試能不能正確的打開支付頁面。如果能打開,這時候就可以進行付款了,但是買家付款的狀態我們還無法獲知,比如有沒有成功付款,賣家是否已經發貨等。那么接下來開始做返回狀態的業務邏輯處理。 打開return_url.php文件,根據提示修改,做對因的處理。 ~~~ //——請根據您的業務邏輯來編寫程序(以下代碼僅作參考)—— //獲取支付寶的通知返回參數,可參考技術文檔中頁面跳轉同步通知參數列表 //商戶訂單號 $out_trade_no = $_GET['out_trade_no']; //支付寶交易號 $trade_no = $_GET['trade_no']; //交易狀態 $trade_status = $_GET['trade_status']; if($_GET['trade_status'] == 'WAIT_SELLER_SEND_GOODS') {//狀態為成功 //處理自己網站的業務邏輯 if(!$order['status']){//判斷本地數據庫中的訂單是否已經處理 db_update("stx_recharge",array("status"=>1),array("oid"=>$_GET ['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']));//增加余額到該用戶的賬戶上。 } } else if($_GET['trade_status'] == 'TRADE_FINISHED') { //判斷該筆訂單是否在商戶網站中已經做過處理 //如果沒有做過處理,根據訂單號(out_trade_no)在商戶網站的訂單系統 中查到該筆訂單的詳細,并執行商戶的業務程序 //如果有做過處理,不執行商戶的業務程序 } else { echo "trade_status=".$_GET['trade_status']; } echo "驗證成功<br />"; echo "trade_no=".$trade_no; ~~~ ** notify_url.php也是一樣,根據狀態來編寫對應的代碼!notify_url.php文件中的狀態要多一些。** ~~~ //——請根據您的業務邏輯來編寫程序(以下代碼僅作參考)—— //獲取支付寶的通知返回參數,可參考技術文檔中服務器異步通知參數列表 //商戶訂單號 $out_trade_no = $_POST['out_trade_no']; //支付寶交易號 $trade_no = $_POST['trade_no']; //交易狀態 $trade_status = $_POST['trade_status']; if($_POST['trade_status'] == 'WAIT_BUYER_PAY') { //該判斷表示買家已在支付寶交易管理中產生了交易記錄,但沒有付款 //判斷該筆訂單是否在商戶網站中已經做過處理 //如果沒有做過處理,根據訂單號(out_trade_no)在商戶網站的訂單系統中查到該筆訂單的詳細,并執行商戶的業務程序 //如果有做過處理,不執行商戶的業務程序 echo "success"; //請不要修改或刪除 //調試用,寫文本函數記錄程序運行情況是否正常 //logResult("這里寫入想要調試的代碼變量值,或其他運行的結果記錄"); } else if($_POST['trade_status'] == 'WAIT_SELLER_SEND_GOODS') { //該判斷表示買家已在支付寶交易管理中產生了交易記錄且付款成功,但賣家沒有發貨 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"; //請不要修改或刪除 //調試用,寫文本函數記錄程序運行情況是否正常 //logResult("這里寫入想要調試的代碼變量值,或其他運行的結果記錄"); } else if($_POST['trade_status'] =='WAIT_BUYER_CONFIRM_GOODS') { //該判斷表示賣家已經發了貨,但買家還沒有做確認收貨的操作 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"; //請不要修改或刪除 //調試用,寫文本函數記錄程序運行情況是否正常 //logResult("這里寫入想要調試的代碼變量值,或其他運行的結果記錄"); } else if($_POST['trade_status'] == 'TRADE_FINISHED') { //該判斷表示買家已經確認收貨,這筆交易完成 //判斷該筆訂單是否在商戶網站中已經做過處理 //如果沒有做過處理,根據訂單號(out_trade_no)在商戶網站的訂單系統中查到該筆訂單的詳細,并執行商戶的業務程序 //如果有做過處理,不執行商戶的業務程序 echo "success"; //請不要修改或刪除 //調試用,寫文本函數記錄程序運行情況是否正常 //logResult("這里寫入想要調試的代碼變量值,或其他運行的結果記錄"); } ~~~ 由于我基本上沒有用到后續的發貨處理,所以在該狀態下未做處理,如果您的網站是購物網站秒就需要做對應的處理,比如更新狀態值為已發貨,或者未付款、已確認等。方便看到交易流程。同時在已付款的訂單中會產生支付寶的訂單id,可以同時記錄在自己的訂單中。 以上所述就是本文關于支付寶接口的全部內容了,希望能對大家熟練掌握支付寶接口支付的二次開發能夠有所幫助。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看