<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 功能強大 支持多語言、二開方便! 廣告
                # 第三方支付 niucloud-admin框架已經內置實現支付寶支付、微信支付、微信支付v3。 框架可設置不同端口,對于不同支付方式的配置與開啟,以及調整支付方式的優先順序。 ### 支付配置 ~~~ return [ //默認驅動 'default' => 'wechatpay', //驅動 'drivers' => [ //微信 'wechatpay' => [], //支付寶 'alipay' => [], ] ]; ~~~ 驅動里面可以配置支付的額外參數。default為系統默認支付方法。目前系統并沒有調用上述配置的具體的參數。只是為了裝載器來裝載對應的類(反射)。具體的各個支付方式的參數配置調用都取自數據庫表。 ### 裝載器加載入口 ~~~ class PayLoader extends Loader { /** * 空間名 * @var string */ protected $namespace = '\\core\\pay\\'; protected $config_name = 'pay'; /** * 默認驅動 * @return mixed */ protected function getDefault() { return config('pay.default'); } } ~~~ ### 使用方法 ~~~ $notify_url = (string)url("/api/pay/notify/$this->site_id/$this->channel/$this->type/$action", [], '', true);//異步回調通知地址 $this->config['notify_url'] = $notify_url; return new PayLoader($this->type, $this->config); ~~~ 一般來說,系統已經把具體的各種支付方法進行了封裝(CorePayEventService )。不需要用戶調用上面的具體支付方法。 具體的使用在相關業務類中調用。一般在Service中,app\service\pay\ 進行調用。 <br> ***** ### 開發擴展支付插件 **舉例開發銀聯支付** #### 首先增加支付類型配置 1. 修改config/pay.php ~~~ return [ //默認驅動 'default' => 'wechatpay', //驅動 'drivers' => [ //微信 'wechatpay' => [], //支付寶 'alipay' => [], //銀聯支付 'union_pay '=>[ 'driver' \=> 'addon\\unionPay\\unionPay', //反射類的名字 ], ] ]; ~~~ 上面配置文件需要注意的地方,對于框架內置的路徑來說,一般為app\core\pay\。裝載器會自動裝載本命名空間實例化。對于第三方開發者開發,一般為插件Addon下,所以要指定具體的驅動命名空間位置。系統會自動加載該驅動。 2. 創建文件:/Addon/unionPay/UnionPay.php 需要完成以下接口 ~~~ namespace core\pay; use core\loader\Storage; /** * 支付管理驅動類 * Class BasePay */ class UnionPay extends BasePay { protected $config;//配置 /** * 初始化 * @param array $config * @return mixed|void */ protected function initialize(array $config = []) { } /** * 網頁支付 * @param $save_dir * @return mixed */ abstract protected function web(array $params); /** * 手機網站支付 * @param $dir * @return mixed */ abstract protected function wap(array $params); /** * app支付 * @param $dir * @return mixed */ abstract protected function app(array $params); /** * 小程序支付 * @param $dir * @return mixed */ abstract protected function mini(array $params); /** * 付款碼支付 * @param $dir * @return mixed */ abstract protected function pos(array $params); /** * 掃碼支付 * @param $dir * @return mixed */ abstract protected function scan(array $params); /** * 轉賬 * @param $dir * @return mixed */ abstract protected function transfer(array $params); /** * 公眾號支付 * @param $dir * @return mixed */ abstract protected function mp(array $params); /** * 支付關閉 * @param string $out_trade_no * @return mixed */ abstract protected function close(string $out_trade_no); /** * 退款 * @param array $params * @return mixed */ abstract protected function refund(array $params); /** * 支付通知 * @param callable $callback * @return mixed */ abstract protected function notify(Callable $callback); /** * 查詢支付訂單 * @param array $params * @return mixed */ abstract protected function getOrder(array $params); /** * 查詢退款訂單 * @param string|null $out_trade_no * @param string|null $refund_no * @return mixed */ abstract protected function getRefund(string $out_trade_no, ?string $refund_no); /** * 查詢轉賬訂單 * @param string $transfer_no * @return mixed */ abstract protected function getTransfer(string $transfer_no); } ~~~ ##### 銀聯擴展使用方法 增加銀聯支付后,系統的CorePayEventService 會自動調用 銀聯支付。 整個的支付流程會與上面的微信支付、支付寶支付一樣。
                  <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>

                              哎呀哎呀视频在线观看