<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);
    那么配置的具體選項有哪些,下面是一個完整的列表:
     'your-app-id', // AppID
     'secret' => 'your-app-secret', // AppSecret
     'token' => 'your-token', // Token
     'aes_key' => '', // EncodingAESKey,安全模式與兼容模式下請一定要填寫?。?!
     /**
     * 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: 絕對路徑?。。?!
     ],
     * 更多請參考: http://docs.guzzlephp.org/en/latest/request-options.html
     */
     'guzzle' => [
     'timeout' => 3.0, // 超時時間(秒)
     ],];

    第三步:使用EasyWeChat完成提現到零錢功能(企業付款到零錢)

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

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

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

    企業付款

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

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

    查詢付款信息

    用于商戶對已發放的企業支付進行查詢企業支付的具體信息。

    $partnerTradeNo = "商戶系統內部的訂單號(partner_trade_no)";
    $merchantPay->query($partnerTradeNo);

    知識付費系統的微信功能基本類extend\service\WechatService;按照文檔說明我們在WechatService類中添加企業付款的接口,接口名稱為merchantPayService,若是存在就不需要添加;

    /**
     * 企業付款
     * @return \EasyWeChat\Material\Material
     */
    public static function merchantPayService()
    {
     return self::application()->merchant_pay;
    }

    那么我們所需要的就是調用merchantPayService方法里的send方法,并且傳入我們轉賬的參數即可。

    我們需要把功能加到提現審核通過之后執行。admin\model\user\UserExtract;找到這個類中的changeSuccess方法,這個方法是審核通過后的相關操作。

    (1).先引入WechatService;

    use service\WechatService;

    (2).changeSuccess方法里加下面代碼,并且根據最后的返回判斷企業付款是否成功。

    $payData = [
     '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=WechatService::merchantPayService()->send($payData);


    請登錄后查看

    徐斗明 最后編輯于2022-11-14 09:21:03

    快捷回復
    回復
    回復
    回復({{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}}
    4628
    {{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客服