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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                要實現公眾號支付功能,前提已經完成了[微信平臺支付配置](微信平臺支付配置.md) ## 第一步:生成訂單 傳遞商品信息,自動生成訂單相關參數 ~~~ $appid = '你的公眾號appid'; $product = [ 'openid'=>'微信用戶在商戶對應appid下的唯一標識', 'body'=>'商品簡單描述', 'out_trade_no'=>'商戶系統內部訂單號,要求32個字符內、且在同一個商戶號下唯一', 'total_fee'=>'訂單總金額,單位為元' ]; $callback = '支付成功后的異步回調地址'; $pay = D('Common/Payment')->jsapi_pay($appid, $product, $callback); if ($pay['status'] == 0) { $this->error($pay['msg']); } $this->assign('pay', $pay); //支付成功后頁面跳轉的地址 $this->assign('jump_url', U('show_success')); ~~~ prodect數組是傳遞最基本的商品參數,同時也支持傳遞更多微信支付里的[統一下單](https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1)接口里的參數 參數body請按照規范傳遞,具體請見[參數規則](https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=4_2) 其中callback回調地址的格式:應用名/model類名/方法名,如:weixin/Service/payok 而jump_url是支付成功后頁面跳轉的地址,一般是提示成功的界面 >[info] callback與jump_url是區別是:callback是用來接收微信異步提交的支付結果,可用于判斷是否成功支付;而jump_url僅用于頁面跳轉,不可用于判斷支付成功與否 ## 第二步:前端顯示支付按鈕 在前端顯示支付按鈕,用戶點擊此按鈕就可以進入支付流程 ~~~ <a href="javascript:void(0)" class="btn" onclick="doPay()">確認結算</a> <script type="text/javascript"> function jsApiCall(){ WeixinJSBridge.invoke( 'getBrandWCPayRequest', { "appId":"{$pay.appId}", //公眾號名稱,由商戶傳入 "timeStamp":"{$pay.timeStamp}", //時間戳,自1970年以來的秒數 "nonceStr":"{$pay.nonceStr}", //隨機串 "package":"{$pay.package}", "signType":"{$pay.signType}", //微信簽名方式: "paySign":"{$pay.paySign}" //微信簽名 }, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok" ) { window.location.href = "{$jump_url}"; } } ); } function doPay(){ if (typeof WeixinJSBridge == "undefined"){ if( document.addEventListener ){ document.addEventListener('WeixinJSBridgeReady', jsApiCall, false); }else if (document.attachEvent){ document.attachEvent('WeixinJSBridgeReady', jsApiCall); document.attachEvent('onWeixinJSBridgeReady', jsApiCall); } }else{ jsApiCall() } } </script> ~~~ ## 第三步:異步接收支付結果 參考 [異步接收支付結果](異步接收支付結果.md) # 常見問題 ## 支付驗證簽名失敗 ![](https://box.kancloud.cn/63703f0a6bef420afcc03f83a10464f7_720x1280.png =300x533) 正常情況下,WeiPHP系統的支付功能都已經驗證測試過,如果出現此問題基本是API密鑰不對的原因 ## 當前頁面的url未注冊 微信公眾平臺里的支付配置中的支付目錄設置為:http://您的網址/ (如http://www.weiphp.cn/) 原因1:URL的路由模式不對,如以下兩個網址都可以正常訪問,微信支付會誤認為第一個網址的目錄應該到jsapi http://您的網址/index.php/weixin/payment/jsapi (錯誤的地址) http://您的網址/index.php?s=/weixin/payment/jsapi (正確的地址) 原因2:當前頁面對應的目錄確實沒有支付目錄中配置,需要按照前面章節 [微信平臺支付配置](微信平臺支付配置.md) 進行配置
                  <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>

                              哎呀哎呀视频在线观看