<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] 在所有關于 **ThinkPHP3.2.3支付寶支付** 的教材中,無疑 `白俊遙` 的支付是我看到的寫的最為簡單,最為貼近開發者的心聲! >當然官方的接口是最好及最新的,因為有代碼差異性,白俊遙 的支付是舊版的,當然也能用。在這里我們先講舊版的,再講新版的。因為這是一篇ThinkPHP3.2.3,已經集成了支付,所以我們先講舊版支付,后講新版本支付。 那么我們,就先按照 `白俊遙` 的教程來做,當然對于沒有做過支付的童鞋來說,還是比較容易走彎路的。 因為簡單,所以完成支付很快。因為簡單,遇到的坑也比較多。 那么我們先按照他的教程來做,期間有需要圖文貢獻的,我會及時補充! 有人說,你抄他的哎,是的,這一章有一部分內容是抄他的,接下來幾章,那就是我的創新了! 它的代碼項目地址:https://github.com/baijunyao/thinkphp-bjyadmin 他實現的場景是這樣的: >目前有1個叫“測試”的商品名稱,價格為1元,訂單號為10位數字的時間戳!訪問地址直接跳轉到支付寶下單! ## 一、導入sdk 將開源項目下的 `/ThinkPHP/Library/Vendor/Alipay` 復制到我們對應的目錄下,如圖: ![mark](http://qiniu.newthink.cc/blog/20170915-223109892.png) ## 二、配置項 把 `/Application/Common/Conf/config.php`項目中關于支付寶的內容拷貝下來!如圖所示: ![mark](http://qiniu.newthink.cc/blog/20170915-223559816.png) 白的代碼如下, ``` 'ALIPAY_CONFIG' => array( 'partner' => '', // partner 從支付寶商戶版個人中心獲取 'seller_email' => '', // email 從支付寶商戶版個人中心獲取 'key' => '', // key 從支付寶商戶版個人中心獲取 'sign_type' => strtoupper(trim('MD5')), // 可選md5 和 RSA 'input_charset' => 'utf-8', // 編碼 (固定值不用改) 'transport' => 'http', // 協議 (固定值不用改) 'cacert' => VENDOR_PATH.'Alipay/cacert.pem', // cacert.pem存放的位置 (固定值不用改) 'notify_url' => 'http://baijunyao.com/Api/Alipay/alipay_notify', // 異步接收支付狀態通知的鏈接 'return_url' => 'http://baijunyao.com/Api/Alipay/alipay_return', // 頁面跳轉 同步通知 頁面路徑 支付寶處理完請求后,當前頁面自 動跳轉到商戶網站里指定頁面的 http 路徑。 (掃碼支付專用) 'show_url' => 'http://baijunyao.com/User/Order/index', // 商品展示網址,收銀臺頁面上,商品展示的超鏈接。 (掃碼支付專用) 'private_key_path' => '', //移動端生成的私有key文件存放于服務器的 絕對路徑 如果為MD5加密方式;此項可為空 (移動支付專用) 'public_key_path' => '', //移動端生成的公共key文件存放于服務器的 絕對路徑 如果為MD5加密方式;此項可為空 (移動支付專用) ), ``` 修改其中的代碼為我們自己的,如下 ``` //*********************************** 支付寶支付 ********************************** 'ALIPAY_CONFIG' => array( 'partner' => '2088821002087646', // partner 從支付寶商戶版個人中心獲取 'seller_email' => 'sxqiboxx@163.com', // email 從支付寶商戶版個人中心獲取 'key' => 'fftte2po5zcudr2dlsm136yv6ur9j0ah', // key 從支付寶商戶版個人中心獲取 'sign_type' => strtoupper(trim('MD5')), // 可選md5 和 RSA 'input_charset' => 'utf-8', // 編碼 (固定值不用改) 'transport' => 'http', // 協議 (固定值不用改) 'cacert' => VENDOR_PATH . 'Alipay/cacert.pem', // cacert.pem存放的位置 (固定值不用改) 'notify_url' => 'http://tp3/Api/Alipay/alipay_notify', // 異步接收支付狀態通知的鏈接 'return_url' => 'http://tp3/Api/Alipay/alipay_return', // 頁面跳轉 同步通知 頁面路徑 支付寶處理完請求后,當前頁面自 動跳轉到商戶網站里指定頁面的 http 路徑。 (掃碼支付專用) 'show_url' => 'http://tp3/User/Order/index', // 商品展示網址,收銀臺頁面上,商品展示的超鏈接。 (掃碼支付專用) 'private_key_path' => '', //移動端生成的私有key文件存放于服務器的 絕對路徑 如果為MD5加密方式;此項可為空 (移動支付專用) 'public_key_path' => '', //移動端生成的公共key文件存放于服務器的 絕對路徑 如果為MD5加密方式;此項可為空 (移動支付專用) ), ``` ![mark](http://qiniu.newthink.cc/blog/20170915-231246269.png) 這里需要詳細說明一下,各種配置的獲取方式,這里主要是`partner`,`seller_email`,`key`這三個是從商戶中獲取的,如果有不知道的,可以參考《支付寶配置獲取》一節 >請注意:`notify_url` ,`return_url` ,`show_url` 這幾個路徑配置,正確上線的時候需要配置為帶有域名的正確網址。 注:本次支付可以先無視 `private_key_path`、`public_key_path `這兩個參數 ## 三、支付函數 `/Application/Common/Common/function.php` 中將 `function alipay`拷貝過來。 ![mark](http://qiniu.newthink.cc/blog/20170915-232144616.png) 代碼如下: ``` /** * 跳向支付寶付款 * @param array $order 訂單數據 必須包含 out_trade_no(訂單號)、price(訂單金額)、subject(商品名稱標題) */ function alipay($order){ vendor('Alipay.AlipaySubmit','','.class.php'); // 獲取配置 $config=C('ALIPAY_CONFIG'); $data=array( "_input_charset" => $config['input_charset'], // 編碼格式 "logistics_fee" => "0.00", // 物流費用 "logistics_payment" => "SELLER_PAY", // 物流支付方式SELLER_PAY(賣家承擔運費)、BUYER_PAY(買家承擔運費) "logistics_type" => "EXPRESS", // 物流類型EXPRESS(快遞)、POST(平郵)、EMS(EMS) "notify_url" => $config['notify_url'], // 異步接收支付狀態通知的鏈接 "out_trade_no" => $order['out_trade_no'], // 訂單號 "partner" => $config['partner'], // partner 從支付寶商戶版個人中心獲取 "payment_type" => "1", // 支付類型對應請求時的 payment_type 參數,原樣返回。固定設置為1即可 "price" => $order['price'], // 訂單價格單位為元 // "price" => 0.01, // // 調價用于測試 "quantity" => "1", // price、quantity 能代替 total_fee。 即存在 total_fee,就不能存在 price 和 quantity;存在 price、quantity, 就不能存在 total_fee。 (沒繞明白;好吧;那無視這個參數即可) "receive_address" => '1', // 收貨人地址 即時到賬方式無視此參數即可 "receive_mobile" => '1', // 收貨人手機號碼 即時到賬方式無視即可 "receive_name" => '1', // 收貨人姓名 即時到賬方式無視即可 "receive_zip" => '1', // 收貨人郵編 即時到賬方式無視即可 "return_url" => $config['return_url'], // 頁面跳轉 同步通知 頁面路徑 支付寶處理完請求后,當前頁面自 動跳轉到商戶網站里指定頁面的 http 路徑。 "seller_email" => $config['seller_email'], // email 從支付寶商戶版個人中心獲取 "service" => "create_direct_pay_by_user", // 接口名稱 固定設置為create_direct_pay_by_user "show_url" => $config['show_url'], // 商品展示網址,收銀臺頁面上,商品展示的超鏈接。 "subject" => $order['subject'] // 商品名稱商品的標題/交易標題/訂單標 題/訂單關鍵字等 ); $alipay=new \AlipaySubmit($config); $new=$alipay->buildRequestPara($data); $go_pay=$alipay->buildRequestForm($new, 'get','支付'); echo $go_pay; } ``` ## 四、調用 ``` <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index() { $data=array( 'out_trade_no'=>time(), 'price'=>1, 'subject'=>'測試' ); alipay($data); } } ``` 我們訪問: `http://tp3/Home/Index/index` 就會得到我們夢寐以求的界面,如圖所示: ![mark](http://qiniu.newthink.cc/blog/20170915-232951667.png) >是不是 非常簡單 呢 !
                  <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>

                              哎呀哎呀视频在线观看