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

                > #### 需要吧下面的源碼復制到extend/weixin/wxpay目錄下,或者自己修改命名空間。 ~~~ $wxconfig=[ 'APPID'=>'', 'MCHID'=>'', 'KEY'=>'', 'APPSECRET'=>'', 'SSLCERT_PATH'=>'', 'SSLKEY_PATH'=>'' ]; ~~~ 參數說明 appid和APPSECRET2個參數的作用:獲取微信用戶必備的2個參數 MCHID和KEY一起配合appid和APPSECRET才能完成整個支付 SSLCERT_PATH和SSLKEY_PATH # JSPAY支付demo 1. 獲取用戶的openid ~~~ $Oauth=new \weixin\wxpay\Oauth($wxconfig); if(Cookie::has('openid')){ $openid=Cookie::get('openid'); }else{ $userinfo= $Oauth->getWxuser(); $openid=$userinfo['openid']; Cookie::set('openid',$openid,3600); } ~~~ 2. 統一下單 ~~~ $values['openid']=$openid; $values['attach']='支付測試'; $values['body']='JSAPI支付測試'; $values['notify_url']='http://www.kkk.cn/'; $values['spbill_create_ip']=$_SERVER['REMOTE_ADDR']; $values['time_start']=date("YmdHis"); $values['time_expire']=date("YmdHis", time() + 600); $values['out_trade_no']=time(); $values['total_fee']=1; $values['trade_type']='JSAPI'; $o=new \weixin\wxpay\Order($wxconfig); $order=$o->setrequests($values)->unifiedorder(); ~~~ 3. 根據統一下單的訂單號 獲取獲取JsApi$getParameters參數,展示到前臺模板 ~~~ $jspay=new \weixin\wxpay\Jspay($wxconfig); $jsApiParameters = $jspay->GetJsApiParameters($order); return $this->fetch('index',['jsApiParameters'=>$jsApiParameters]); ~~~ 4. 前臺頁面進行點擊支付,或者自動彈出支付,需要自己定義 ~~~ <center><h1 onclick='callpay()'>點擊支付</h1></center> <script type="text/javascript"> function callpay() { 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(); } } //調用微信JS api 支付 function jsApiCall() { WeixinJSBridge.invoke( 'getBrandWCPayRequest',{$jsApiParameters}, function(res){ WeixinJSBridge.log(res.err_msg); alert(res.err_code+res.err_desc+res.err_msg); } ); } </script> ~~~ 5. 支付回調 ~~~ $raw_xml = file_get_contents('php://input'); libxml_disable_entity_loader(true); //libxml_disable_entity_loader()作用是設置是否禁止從外部加載XML實體,設為true就是禁止,目的是防止XML注入攻擊(詳情自行百度) $ret = json_decode(json_encode(simplexml_load_string($raw_xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); //支付成功之后處理 if($ret['return_code'] == "SUCCESS"){ //自己系統業務邏輯 //給微信支付返回成功操作 echo '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>'; } ~~~ # 退款 ~~~ //退款申請接口中,out_trade_no、transaction_id至少填一個! $values['out_trade_no']=''; //商戶退款單號 $values['out_refund_no']=; //訂單金額 $values['total_fee']= //退款金額 $values['refund_fee']= //退款賬戶 $values['op_user_id']=$wxconfig['MCHID']; $o=new \weixin\wxpay\Order($wxconfig); $refund=$o->setrequests($values)->refund(); ~~~
                  <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>

                              哎呀哎呀视频在线观看