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

                **基于`ThinkPHP5.0`掃碼支付DEMO** -- ### **控制器源代碼(僅供參考)** --- **通常的支付流程是:** 一、根據商戶訂單號生成預支付碼(區分支付類型) 二、根據支付類型來處理預支付碼 * 1. JSAPI支付,需要創建JS簽名包,然后在微信網頁上發起支付 * 2. 掃碼支付,直接將預支付碼生成二維碼就可以了 三、在生成預支付碼時,需要指定接收支付通知URL地址,然后在**通知處理時再來處理訂單是否已經完成支付**。 --- ``` namespace app\index\controller; use think\Controller; class Index extends Controller { /** * 模板本顯示 * @return type */ public function index() { return view(); } /** * 支付通知處理 * @return type */ public function notify() { header('Content-Type:text/xml; charset=utf-8'); $postStr = file_get_contents("php://input"); $notifyInfo = (array) simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); if ($notifyInfo['result_code'] == 'SUCCESS' && $notifyInfo['return_code'] == 'SUCCESS') { # 記錄支付通知信息 file_put_contents(LOG_PATH . 'pay_notify.log', var_export($notifyInfo, TRUE)); # 所有操作成功,返回正常狀態 return xml(['return_code' => 'SUCCESS', 'return_msg' => 'SAVE DATA SUCCESS']); } } /** * 生成預支付碼 * @return type */ public function qrc() { $outer_no = input('outer_no'); $price = input('price'); if (empty($outer_no) || empty($price)) { return ['code' => 'ERROR', 'info' => '參數錯誤!']; } $pay = & load_wechat('Pay'); $prepay_id = $pay->getPrepayId(null, '掃碼測試', $outer_no, $price * 100, url('index/index/notify', null, null, TRUE), 'NATIVE'); if ($prepay_id === FALSE) { return ['code' => 'ERROR', 'info' => '創建預支付碼失敗,' . $pay->errMsg]; } return ['code' => 'SUCCESS', 'info' => '創建預支付碼成功!', 'data' => $prepay_id]; } } ``` ### 支付成功會收到微信的通知,下面的內容就是代碼中的` $notifyInfo`變量,根據自己的項目實際情況去更新訂單信息。 --- ``` array ( 'appid' => 'wx3581ccf368729be3', 'bank_type' => 'CFT', 'cash_fee' => '1', 'fee_type' => 'CNY', 'is_subscribe' => 'Y', 'mch_id' => '1307539701', 'nonce_str' => 'api268huedasmkfgdjofzwitpuaqjl0c', 'openid' => 'o9j5kw-B8ZCp_FWLBmnSkrr1qHRE', 'out_trade_no' => '959947360', 'result_code' => 'SUCCESS', 'return_code' => 'SUCCESS', 'sign' => '43C91961D389D0A9FC480BC5B13592E6', 'time_end' => '20161011103317', 'total_fee' => '1', 'trade_type' => 'NATIVE', 'transaction_id' => '4008082001201610116370274372', ) ```
                  <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>

                              哎呀哎呀视频在线观看