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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 公眾號支付(JSAPI) ## out_trade_no生成 ~~~ function _get_date_string () { var date = moment().format('YYYY MM DD HH mm ss'); return date.split(' ').join('_'); } function _get_out_trade_no () { return _get_date_string () + "" + Math.random().toString().substr(2, 10); } ~~~ 測試方法 ~~~ function pay_h5(){ var ordor_id = _get_out_trade_no (); alert(ordor_id) $.get('/wechats/pay_h5?id=o12hcuKXjejDFUwxMgToaGtjtqf4&order_id=' + ordor_id + '&body=1111&detail=222222&fee=1&cb_url=/wechats/pay_calllback/'+ ordor_id, function(data){ var r = data.data; WeixinJSBridge.invoke('getBrandWCPayRequest', r, function(res){ if(res.err_msg == "get_brand_wcpay_request:ok"){ alert("支付成功"); // 這里可以跳轉到訂單完成頁面向用戶展示 }else{ alert("支付失敗,請重試"); } }); }); } ~~~ ## 限制頻率 ~~~ npm i -S moa-middleware-rate-cache ~~~ way 1: ~~~ var rate_cache = require('moa-middleware-rate-cache'); var r = new rate_cache(redis, 'xxxxx_key', 40); ~~~ 參數 * redis, 傳入redis對象 * 'xxxxx_key', 在redis里緩存的key * 40(秒)緩存時間 way 2: ~~~ var rate_cache = require('moa-middleware-rate-cache'); var r = new rate_cache(redis, 'xxxxx_key2222'); ~~~ 參數 * redis, 傳入redis對象 * 'xxxxx_key', 在redis里緩存的key * 默認緩存時間是30秒 - ## 對賬單接口 ### 支付成功的回調 ~~~ wxpay.createUnifiedOrder({ body: '掃碼支付測試', out_trade_no: '20140703'+Math.random().toString().substr(2, 10), total_fee: 1, spbill_create_ip: '192.168.2.210', notify_url: 'http://wxpay_notify_url', trade_type: 'NATIVE', product_id: '1234567890' }, function(err, result){ console.log(result); }); ~~~ #### 支付結果異步通知 ~~~ 商戶服務端處理微信的回調(express為例) // 原生支付回調 router.use('/wxpay/native/callback', wxpay.useWXCallback(function(msg, req, res, next){ // msg: 微信回調發送的數據 })); // 支付結果異步通知 router.use('/wxpay/notify', wxpay.useWXCallback(function(msg, req, res, next){ // 處理商戶業務邏輯 // res.success() 向微信返回處理成功信息,res.fail()返回失敗信息。 res.success(); })); ~~~ #### 手動對賬單 查詢訂單 ~~~ // 通過微信訂單號查 wxpay.queryOrder({ transaction_id:"xxxxxx" }, function(err, order){ console.log(order); }); // 通過商戶訂單號查 wxpay.queryOrder({ out_trade_no:"xxxxxx" }, function(err, order){ console.log(order); }); ~~~
                  <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>

                              哎呀哎呀视频在线观看