<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    PHP如何簡單對接微信功能

    管理 管理 編輯 刪除

    第一步使用composer安裝EasyWeChat

    https://www.easywechat.com/docs/3.x/installation

    第二步在前面我們已經講過,初始化 SDK 的時候方法就是創建一個 EasyWeChat\Foundation\Application 實例:

    use EasyWeChat\Foundation\Application;

    $options = [

      // ...];

    $app = new Application($options);

    /**

    * 如果想要在Application實例化完成之后, 修改某一個options的值,

    * 比如服務商+子商戶支付回調場景, 所有子商戶訂單支付信息都是通過同一個服務商的$option 配置進來的,

    * 當oauth在微信端驗證完成之后, 可以通過動態設置merchant_id來區分具體是哪個子商戶

    */$app['config']->set('oauth.callback','wechat/oauthcallback/'. $sub_merchant_id->id);

    那么配置的具體選項有哪些,下面是一個完整的列表:

    <?php

    return [

       /**

        * Debug 模式,bool 值:true/false

        *

        * 當值為 false 時,所有的日志都不會記錄

        */

       'debug'  => true,

       /**

        * 賬號基本信息,請從微信公眾平臺/開放平臺獲取

        */

       'app_id'  => 'your-app-id',         // AppID

       'secret'  => 'your-app-secret',     // AppSecret

       'token'   => 'your-token',          // Token

       'aes_key' => '',                    // EncodingAESKey,安全模式與兼容模式下請一定要填寫?。?!

       /**

        * 日志配置

        *

        * level: 日志級別, 可選為:

        *         debug/info/notice/warning/error/critical/alert/emergency

        * permission:日志文件權限(可選),默認為null(若為null值,monolog會取0644)

        * file:日志文件位置(絕對路徑!!!),要求可寫權限

        */

       'log' => [

           'level'      => 'debug',

           'permission' => 0777,

           'file'       => '/tmp/easywechat.log',

       ],

       /**

        * OAuth 配置

        *

        * scopes:公眾平臺(snsapi_userinfo / snsapi_base),開放平臺:snsapi_login

        * callback:OAuth授權完成后的回調頁地址

        */

       'oauth' => [

           'scopes'   => ['snsapi_userinfo'],

           'callback' => '/examples/oauth_callback.php',

       ],

       /**

        * 微信支付

        */

       'payment' => [

           'merchant_id'        => 'your-mch-id',

           'key'                => 'key-for-signature',

           'cert_path'          => 'path/to/your/cert.pem', // XXX: 絕對路徑?。。?!

           'key_path'           => 'path/to/your/key',      // XXX: 絕對路徑?。。?!

           // 'device_info'     => '013467007045764',

           // 'sub_app_id'      => '',

           // 'sub_merchant_id' => '',

           // ...

       ],

       /**

        * Guzzle 全局設置

        *

        * 更多請參考: http://docs.guzzlephp.org/en/latest/request-options.html

        */

       'guzzle' => [

           'timeout' => 3.0, // 超時時間(秒)

           //'verify' => false, // 關掉 SSL 認證(強烈不建議!?。。?/span>

       ],];

    使用EasyWeChat可以完成支付功能

    你在閱讀本文之前確認你已經仔細閱讀了:微信支付 | 企業付款文檔

    配置在前面的例子中已經提到過了,支付的相關配置如下:

    <?php

    use EasyWeChat\Foundation\Application;

    $options = [

       // 前面的appid什么的也得保留哦

       'app_id' => 'xxxx',

       // ...

       // payment

       'payment' => [

           'merchant_id'        => 'your-mch-id',

           'key'                => 'key-for-signature',

           'cert_path'          => 'path/to/your/cert.pem', // XXX: 絕對路徑?。。?!

           'key_path'           => 'path/to/your/key',      // XXX: 絕對路徑!?。。?/span>

           'notify_url'         => '默認的訂單回調地址',       // 你也可以在下單時單獨設置來想覆蓋它

           // 'device_info'     => '013467007045764',

           // 'sub_app_id'      => '',

           // 'sub_merchant_id' => '',

           // ...

       ],];

    $app = new Application($options);

    $payment = $app->payment;

    創建訂單

    <?php

    use EasyWeChat\Payment\Order;

    $attributes = [

       'trade_type'       => 'JSAPI', // JSAPI,NATIVE,APP...

       'body'             => 'iPad mini 16G 白色',

       'detail'           => 'iPad mini 16G 白色',

       'out_trade_no'     => '1217752501201407033233368018',

       'total_fee'        => 5388, // 單位:分

       'notify_url'       => 'http://xxx.com/order-notify', // 支付結果通知網址,如果不設置則會使用配置里的默認地址

       'openid'           => '當前用戶的 openid', // trade_type=JSAPI,此參數必傳,用戶在商戶appid下的唯一標識,

       // ...];

    $order = new Order($attributes);

    統一下單

    $result = $payment->prepare($order);

    if ($result->return_code == 'SUCCESS' && $result->result_code == 'SUCCESS'){

    $prepayId = $result->prepay_id;

    }

    支付結果通知

    在用戶成功支付后,微信服務器會向該 訂單中設置的回調URL 發起一個 POST 請求,請求的內容為一個 XML。里面包含了所有的詳細信息,具體請參考: 支付結果通用通知

    在本 SDK 中處理回調真的再簡單不過了,請求驗證你就不用管了,SDK 已經為你做好了,你只需要關注業務即可:

    $response = $app->payment->handleNotify(function($notify, $successful){

       // 你的邏輯

       return true; // 或者錯誤消息});

    $response->send(); // Laravel 里請使用:return $response;

    使用EasyWeChat完成提現到零錢功能企業付款到零錢

    你在閱讀本文之前確認你已經仔細閱讀了:微信支付 | 企業付款文檔 。

    與其他支付接口一樣,企業支付接口也需要配置如下參數,需要特別注意的是,企業支付相關的全部接口 都需要使用 SSL 證書,因此 cert_path 以及 cert_key 必須正確配置。

    <?php

    use EasyWeChat\Foundation\Application;

    $options = [

       'app_id' => 'your-app-id',

       // payment

       'payment' => [

           'merchant_id'        => 'your-mch-id',

           'key'                => 'key-for-signature',

           'cert_path'          => 'path/to/your/cert.pem',

           'key_path'           => 'path/to/your/key',

           // ...

       ],];

    $app = new Application($options);

    $merchantPay = $app->merchant_pay;

    企業付款

    企業付款使用的余額跟微信支付的收款并非同一賬戶,請注意充值。

    <?php

    $merchantPayData = [

           'partner_trade_no' => str_random(16), //隨機字符串作為訂單號,跟紅包和支付一個概念。

           'openid' => $openid, //收款人的openid

           'check_name' => 'NO_CHECK',  //文檔中有三種校驗實名的方法 NO_CHECK OPTION_CHECK FORCE_CHECK

           're_user_name'=>'張三',     //OPTION_CHECK FORCE_CHECK 校驗實名的時候必須提交

           'amount' => 100,  //單位為分

           'desc' => '企業付款',

           'spbill_create_ip' => '192.168.0.1',  //發起交易的IP地址

       ];

    $result = $merchantPay->send($merchantPayData);

    如同已上的兩個功能一樣,使用EasyWeChat就可以快速簡單的完成和微信相關的功能了。

    請登錄后查看

    全 最后編輯于2025-01-22 11:38:18

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    954
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服