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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 支付類(微信&支付寶) 支付類,采用了github 上用戶 較為受歡迎的輪子 :[https://github.com/zoujingli/pay-php-sdk](https://github.com/zoujingli/pay-php-sdk) 這里已經整合到了框架里面了,我們只要按照下面方法使用即可 ### 配置 在設計到業務的地方傳入。IndexController里設置,傳入配置如下: ~~~text-html-php $config = [ // 微信支付參數 'wechat' => [ 'debug' => false, // 沙箱模式 'app_id' => '', // 應用ID 'mch_id' => '', // 微信支付商戶號 'mch_key' => '', // 微信支付密鑰 'ssl_cer' => '', // 微信證書 cert 文件 'ssl_key' => '', // 微信證書 key 文件 'notify_url' => '', // 支付通知URL 'cache_path' => '',// 緩存目錄配置(沙箱模式需要用到) ], // 支付寶支付參數 'alipay' => [ 'debug' => false, // 沙箱模式 'app_id' => '', // 應用ID 'public_key' => '', // 支付寶公鑰(1行填寫) 'private_key' => '', // 支付寶私鑰(1行填寫) 'notify_url' => '', // 支付通知URL ] ]; ~~~ ## [](https://github.com/zoujingli/pay-php-sdk#%E6%9E%B6%E6%9E%84)架構 由于各支付網關參差不齊,所以我們抽象了兩個方法?`driver()`,`gateway()`。 兩個方法的作用如下: `driver()`?: 確定支付平臺,如?`alipay`,`wechat`; `gateway()`: 確定支付網關,如?`app`,`pos`,`scan`,`transfer`,`wap`,`...` 具體實現可以查看源代碼。 ### [](https://github.com/zoujingli/pay-php-sdk#1%E6%94%AF%E4%BB%98%E5%AE%9D)1、支付寶 SDK 中對應的 driver 和 gateway 如下表所示: | driver | gateway | 描述 | | --- | --- | --- | | alipay | web | 電腦支付 | | alipay | wap | 手機網站支付 | | alipay | app | APP 支付 | | alipay | pos | 刷卡支付 | | alipay | scan | 掃碼支付 | | alipay | bill | 電子賬單 | | alipay | transfer | 帳戶轉賬(可用于平臺用戶提現) | ### [](https://github.com/zoujingli/pay-php-sdk#2%E5%BE%AE%E4%BF%A1)2、微信 SDK 中對應的 driver 和 gateway 如下表所示: | driver | gateway | 描述 | | --- | --- | --- | | wechat | mp | 公眾號支付 | | wechat | miniapp | 小程序支付 | | wechat | wap | H5 支付(不支持沙箱模式) | | wechat | scan | 掃碼支付 | | wechat | pos | 刷卡支付 | | wechat | app | APP 支付 | | wechat | bill | 電子賬單 | | wechat | transfer | 企業付款到零錢(可用于平臺用戶提現) | | wechat | bank | 企業付款到銀行卡(可用于平臺用戶提現) | ## [](https://github.com/zoujingli/pay-php-sdk#%E6%93%8D%E4%BD%9C)操作 所有網關均支持以下方法 * apply(array $options) 說明:支付發起接口 參數:數組類型,訂單業務配置項,包含 訂單號,訂單金額等 返回:mixed * refund(array|string $options, $refund\_amount = null) 說明:發起退款接口 參數:`$options`?為字符串類型僅對`支付寶支付`有效,此時代表訂單號,第二個參數為退款金額。 返回:mixed 退款成功,返回 服務器返回的數組;否則返回 false; * close(array|string $options) 說明:關閉訂單接口 參數:`$options`?為字符串類型時代表訂單號,如果為數組,則為關閉訂單業務配置項,配置項內容請參考各個支付網關官方文檔。 返回:mixed 關閉訂單成功,返回 服務器返回的數組;否則返回 false; * find(string $out\_trade\_no) 說明:查找訂單接口 參數:`$out_trade_no`?為訂單號。 返回:mixed 查找訂單成功,返回 服務器返回的數組;否則返回 false; * verify($data, $sign = null) 說明:驗證服務器返回消息是否合法 參數:`$data`?為服務器接收到的原始內容,`$sign`?為簽名信息,當其為空時,系統將自動轉化?`$data`?為數組,然后取?`$data['sign']`。 返回:mixed 驗證成功,返回 服務器返回的數組;否則返回 false; ## [](https://github.com/zoujingli/pay-php-sdk#%E5%AE%9E%E4%BE%8B)實例 ~~~text-html-php $config = [ // 微信支付參數 'wechat' => [ 'debug' => false, // 沙箱模式 'app_id' => '', // 應用ID 'mch_id' => '', // 微信支付商戶號 'mch_key' => '', // 微信支付密鑰 'ssl_cer' => '', // 微信證書 cert 文件 'ssl_key' => '', // 微信證書 key 文件 'notify_url' => '', // 支付通知URL 'cache_path' => '',// 緩存目錄配置(沙箱模式需要用到) ], // 支付寶支付參數 'alipay' => [ 'debug' => false, // 沙箱模式 'app_id' => '', // 應用ID 'public_key' => '', // 支付寶公鑰(1行填寫) 'private_key' => '', // 支付寶私鑰(1行填寫) 'notify_url' => '', // 支付通知URL ] ]; // 實例支付對象 $pay = new \extend\payment\Pay($config); try { $options = $pay->driver('alipay')->gateway('app')->apply($payOrder); $gateway = $this->request->isMobile() ? 'wap' : 'web'; $result = $pay->driver('alipay')->gateway($gateway)->apply($options); } catch (Exception $e) { echo "創建訂單失敗," . $e->getMessage(); } ~~~ ## [](https://github.com/zoujingli/pay-php-sdk#%E9%80%9A%E7%9F%A5)通知 #### [](https://github.com/zoujingli/pay-php-sdk#%E6%94%AF%E4%BB%98%E5%AE%9D)支付寶 ~~~text-html-php // 實例支付對象 $pay = new \extend\payment\Pay($config); if ($pay->driver('alipay')->gateway()->verify($_POST)) { logs($_POST, '', 'alipay'); } else { logs($_POST, '', 'alipay'); } ~~~ #### [](https://github.com/zoujingli/pay-php-sdk#%E5%BE%AE%E4%BF%A1)微信 ~~~text-html-php $pay = new \extend\payment\Pay($config); $verify = $pay->driver('wechat')->gateway('mp')->verify(file_get_contents('php://input')); if ($verify) { file_put_contents('notify.txt', "收到來自微信的異步通知\r\n", FILE_APPEND); file_put_contents('notify.txt', "訂單單號:{$verify['out_trade_no']}\r\n", FILE_APPEND); file_put_contents('notify.txt', "訂單金額:{$verify['total_fee']}\r\n\r\n", FILE_APPEND); } else { file_put_contents('notify.txt', "收到異步通知\r\n", FILE_APPEND); } echo "success"; ~~~
                  <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>

                              哎呀哎呀视频在线观看