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

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 發起支付(PHP版) ### JSAPI 在微擎系統中,發起一個支付功能很簡單,只需要調用父類的`$this->pay();`方法即可。 #### 參數說明: * **tid**充值模塊中的訂單號,此號碼用于業務模塊中區分訂單,保證在業務中是唯一即可 * **title**收銀臺中顯示的標題 * **fee**收銀臺中顯示需要支付的金額,單位是元,只能大于0 * **ordersn**收銀臺中顯示的訂單號,僅供顯示用 * **user**付款用戶, 付款的用戶名(選填項) ~~~ //插件支付示例 public function testPay() { //獲取用戶要充值的金額數 $fee = floatval($_GPC['money']); if($fee <= 0) { message('支付錯誤, 金額小于0'); } // 一些業務代碼。 //構造支付請求中的參數 $params = array( 'tid' => $chargerecord['tid'], //充值模塊中的訂單號,此號碼用于業務模塊中區分訂單,交易的識別碼 'ordersn' => $chargerecord['tid'], //收銀臺中顯示的訂單號 'title' => '系統充值余額', //收銀臺中顯示的標題 'fee' => $chargerecord['fee'], //收銀臺中顯示需要支付的金額,只能大于 0 'user' => $_W['member']['uid'], //付款用戶, 付款的用戶名(選填項) ); //調用pay方法,可在控制器的任意位置發起支付 $this->pay($params); } ~~~ #### 調用效果如下: ![](http://cdn.w7.cc/images/2017/08/02/15016131455980cc591e5cd_BxYFflJ5fUYl.jpg) ## 驗證支付(支付回調) 在用戶支付完成后,系統需要根據支付狀態修改用戶的訂單狀態及通知用戶,為此我們需要在代碼中編寫支付的回調方法,回調方法如下: * 注意代碼位置位于插件根目錄中的`site.php`中,方法名稱限制為`payResult`,具體代碼如下 ~~~ /** * 支付回調 * @param $ret 回調的參數 */ public function payResult($ret) { //$ret的結構如下: array( 'weid' => NULL, //公眾號id(應用id) 'uniacid' => '3', 'acid' => '3', //支付狀態 'result' => 'success', //支付方式 'type' => 'wechat', //通知類型 'from' => 'notify', //子訂單id 'tid' => '350623110998', //微擎訂單id 'uniontid' => '2019081111292200001362485161', 'transaction_id' => NULL, //支付類型 'trade_type' => 'JSAPI', //是否關注 'follow' => 1, //用戶openid 'user' => 'oaMwh1cRw11jAkGHfozqZDxcSuLg', //訂單金額 'fee' => '0.01', //用戶標簽 'tag' => array( 'acid' => '3', //用戶id 'uid' => '14', //支付平臺訂單號 'transaction_id' => '4200000376201908118261118530', ) , 'is_usecard' => '0', 'card_type' => '0', 'card_fee' => '0.01', 'card_id' => '0', //支付時間 'paytime' => 1565494168, ); //其它邏輯處理 } ~~~ ## 退款(微信、支付寶) 在微擎系統中,發起退款(微信和支付寶)很簡單,只需要調用兩個函數即可: #### 前提條件:使用系統內置的支付情況下發起的退款 ~~~ load()->model('refund'); //創建退款訂單 //$tid 模塊內訂單id //$module 需要退款的模塊 //$fee 退款金額 //$reason 退款原因 //成功返回退款單id,失敗返回error結構錯誤 $refund_id = refund_create_order($tid, $module, $fee, $reason); if (is_error($refund_id)) { itoast($refund_id['message'], referer(), 'error'); } //發起退款 $refund_result = refund($refund_id); if (is_error($refund_result)) { itoast($refund_result['message'], referer(), 'error'); } else { pdo_update('core_refundlog', array('status' => 1), array('id' => $refund_id)); //XXX(這里繼續寫自己的其他邏輯) itoast('退款成功', referer(), 'info'); } ~~~
                  <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>

                              哎呀哎呀视频在线观看