• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 網絡軟件教程 > 詳細頁面

        企業轉賬到用戶接口的開通

        企業轉賬到用戶接口的開通

        更新時間:2025-09-20 文章作者:未知 信息來源:網絡 閱讀次數:

        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺...
        微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺通過網絡快速發送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。
        這次給大家帶來企業轉賬到用戶接口的開通,企業轉賬到用戶接口開通的注意事項有哪些,下面就是實戰案例,一起來看一下。

        在微信公眾號支付的API中沒有這個接口,如果企業需要給用戶轉賬,或者讓用戶提現或者給用戶發紅包等需要再商戶平臺中的產品中心分別開通。

        一、開通功能

        企業轉賬到用戶接口的開通

        開通就是點擊一下,很簡單。但需要注意的是支持向用戶轉賬的賬戶和收到用戶付款的賬戶不是同一個,而為了滿足此功能,你需要先用財付通進行充值(交易中心--資金管理--充值)。

        二、下載證書

        證書下載在賬戶中心--API安全,現在需要手機驗證碼和商戶平臺登錄密碼。下載之后再window上進行安裝,安裝的密碼是商戶號。

        企業轉賬到用戶接口的開通

        安裝之后并將證書放在網站目錄下,用于下一步在代碼中進行驗證。

        三、轉賬

        微信現在提供的demo中沒有這一塊,下面就根據官方的demo做一些修改。和之前的例子類似,我們都需要用WxPayData對象來操作我們的參數。定義一個TransfersPay對象。

          public class TransfersPay
            {        public string openid { get; set; }        public int amount { get; set; }        public string partner_trade_no { get; set; }        public string re_user_name { get; set; }        public string spbill_create_ip { get; set; }        public WxPayData GetTransfersApiParameters()
                {
                    WxPayData apiParam = new WxPayData();
                    apiParam.SetValue("partner_trade_no", partner_trade_no);
                    apiParam.SetValue("openid", openid);
                    apiParam.SetValue("check_name", "NO_CHECK");
                    apiParam.SetValue("amount", amount);
                    apiParam.SetValue("desc", "提現");
                    apiParam.SetValue("spbill_create_ip", spbill_create_ip);
                    apiParam.SetValue("re_user_name", re_user_name);            return apiParam;
                }
            }

        在官方demo中的WxpayApi中已經包含了公眾號支付的相關方法。再增加一個Transfers的方法用來轉賬:

         public static WxPayData Transfers(WxPayData inputData, int timeOut = 6)
                {            var url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
                    inputData.SetValue("mch_appid", WxPayConfig.APPID);//公眾賬號ID
                    inputData.SetValue("mchid", WxPayConfig.MCHID);//商戶號
                    inputData.SetValue("nonce_str", WxPayApi.GenerateNonceStr());//隨機字符串
                    inputData.SetValue("sign", inputData.MakeSign());//簽名
                    string xml = inputData.ToXml();            var start = DateTime.Now;
                    string response = HttpService.Post(xml, url, true, timeOut);            // Portal.MVC.Logger.Info("WxPayApi"+ "UnfiedOrder response : " + response);
                    var end = DateTime.Now;            int timeCost = (int)((end - start).TotalMilliseconds);
                    WxPayData result = new WxPayData();
                    result.FromXml(response);
                    ReportCostTime(url, timeCost, result);//測速上報
                    return result;
                }

        稍微需要注意下的地方就是幾個默認參數的名字和別的方法不一樣,比如appid和mch_id。轉賬中是mch_appid和mchid,紅包中又叫wxappid和mch_id。然后注意到httpService.post方法第三個參數是帶true的。也就是會使用到證書。進入post方法中我們可以看到:

                 //是否使用證書
                        if (isUseCert)
                        {                    string path = HttpContext.Current.Request.PhysicalApplicationPath;                    X509Certificate2 cert = new X509Certificate2(path + WxPayConfig.SSLCERT_PATH, WxPayConfig.SSLCERT_PASSWORD);
                            request.ClientCertificates.Add(cert);
                            Log.Debug("WxPayApi", "PostXml used cert");
                        }

        這里使用到了證書的路徑和密碼,密碼即商戶號。這一切準備好之后就可以controller中進行轉賬了:

             [LoginValid]        public ActionResult CashTransfers(string orderNumber)
                {            //var order = new Order(){Amount = 1};           // var openid = "oBSBmwQjqwjfzQlKsFNjxFLSixxx";
                    var user = _workContext.CurrentUser;            var order = _paymentService.GetOrderByOrderNumber(orderNumber);            var transfer = new TransfersPay
                    {
                        openid = user.OpenId,
                        amount = (int) order.Amount*100,
                        partner_trade_no = order.OrderNumber,
                        re_user_name = "stoneniqiu",
                        spbill_create_ip = _webHelper.GetCurrentIpAddress()
                    };            var data = transfer.GetTransfersApiParameters();            var result = WxPayApi.Transfers(data);            return Content(result.ToPrintStr());
                }

        得到結果

        企業轉賬到用戶接口的開通

        這樣就實現了轉賬/提現的功能。

        發布

        在正式的環境中,我們需要先創建自己的訂單,然后向微信請求轉賬,成功之后對自己的訂單進行處理。CashTransfers方法稍作調整。

               [LoginValid]        public ActionResult CashTransfers(string orderNumber)
                {
                    var user = _workContext.CurrentUser;            var order = _paymentService.GetOrderByOrderNumber(orderNumber);            if (string.IsNullOrEmpty(user.OpenId))
                    {                return Json(new PortalResult("請用微信登錄!"));
                    }            if (order == null || order.OrderState != OrderState.Padding)
                    {                return Json(new PortalResult("訂單有誤!"));
                    }            
                    var transfer = new TransfersPay
                    {
                        openid = user.OpenId,
                        amount = (int) order.Amount*100,
                        partner_trade_no = order.OrderNumber,
                        re_user_name = "stoneniqiu",
                        spbill_create_ip = _webHelper.GetCurrentIpAddress()
                    };            var data = transfer.GetTransfersApiParameters();            var result = WxPayApi.Transfers(data);            if (result.GetValue("result_code").ToString() == "SUCCESS")
                    {                return Json(new PortalResult(true, "提現成功"));
                    }            return Json(new PortalResult(false, result.GetValue("return_msg").ToString()));            
                }

        另外一個要注意的是,發布之后老是出現操作超時的錯誤,建議就是修改超時時間為30秒。默認的6秒容易超時。 統一下單的時候也是。

         public static WxPayData Transfers(WxPayData inputData, int timeOut = 30)

        如果企業賬戶的錢沒了,會出現以下提示:

        企業轉賬到用戶接口的開通

        相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

        推薦閱讀:

        webpack自動刷新與解析的使用

        H5的緩存Manifest的使用

        以上就是企業轉賬到用戶接口的開通的詳細內容,更多請關注php中文網其它相關文章!


        微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 免费看片A级毛片免费看| 免费人成网站在线观看10分钟| 国产在线98福利播放视频免费| 在线a亚洲老鸭窝天堂av高清| 成人午夜免费福利视频| 亚洲国产视频网站| 国产福利在线免费| 亚洲综合av一区二区三区不卡| 成人在线视频免费| 亚洲人成自拍网站在线观看| 日日AV拍夜夜添久久免费| 亚洲女子高潮不断爆白浆| 国产精品久久香蕉免费播放| 亚洲日本VA中文字幕久久道具| 精品国产免费一区二区| 色屁屁在线观看视频免费| 亚洲精品国产日韩无码AV永久免费网| 一级毛片aaaaaa视频免费看| 国产成人亚洲综合无码精品| 亚洲精品免费在线| 亚洲AV日韩AV永久无码色欲| 亚洲男人天堂2020| 污污网站18禁在线永久免费观看| 亚洲网址在线观看| 日韩精品视频免费观看| 国产免费高清69式视频在线观看| 久久久久亚洲av无码专区蜜芽| 国拍在线精品视频免费观看| 性色av极品无码专区亚洲 | 亚洲精品无码久久久久久| 免费不卡中文字幕在线| 成全在线观看免费观看大全| 亚洲avav天堂av在线网爱情| 免费一区二区视频| 午夜视频在线免费观看| 亚洲av无码成人精品区一本二本 | 国产精品亚洲色婷婷99久久精品| 亚洲中文字幕无码中文字在线| 91成人免费观看| xxxx日本在线播放免费不卡| 亚洲美女激情视频|