亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

微信開發--企業轉賬到用戶

2019-10-29 21:15:27
字體:
來源:轉載
供稿:網友

在微信公眾號支付的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)

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

轉賬,微信企業轉賬,微信轉賬開發

開發文檔:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持VEVB武林網!


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91免费看片在线| 亚洲成人久久网| 精品国产乱码久久久久久虫虫漫画| 中文字幕亚洲情99在线| 色婷婷综合久久久久中文字幕1| 国产精品直播网红| 日韩人体视频一二区| 亚洲乱码国产乱码精品精天堂| www国产精品视频| 国产精品日韩欧美大师| 久久久久久久久国产精品| 中文在线资源观看视频网站免费不卡| 久久久国产一区| 97精品在线观看| 高清欧美性猛交xxxx黑人猛交| 成人av在线天堂| 精品少妇v888av| 日韩视频永久免费观看| 欧美久久久精品| 国产精品一香蕉国产线看观看| 欧美性猛交99久久久久99按摩| 亚洲欧美国产一区二区三区| 韩国美女主播一区| 成人黄色大片在线免费观看| 日韩欧美国产一区二区| 日韩在线视频播放| 欧美精品中文字幕一区| 97人人模人人爽人人喊中文字| 国产精品日日摸夜夜添夜夜av| 久久免费视频观看| 有码中文亚洲精品| 欧美在线视频导航| 国产精品偷伦视频免费观看国产| 国产综合香蕉五月婷在线| 久久久国产精彩视频美女艺术照福利| 一区二区在线免费视频| 国产精品日韩一区| 久久久久久999| 78色国产精品| 欧美激情女人20p| 欧美日韩午夜剧场| 国产精品极品尤物在线观看| www.亚洲一区| 日韩一区二区精品视频| 国产三级精品网站| 高潮白浆女日韩av免费看| 欧美一级免费看| 欧美日韩在线视频一区二区| 中文日韩电影网站| 一个人看的www欧美| 色偷偷88888欧美精品久久久| 欧美另类暴力丝袜| 亚洲一区二区免费| 欧美大学生性色视频| 97超碰蝌蚪网人人做人人爽| 久久综合88中文色鬼| 亚洲精品欧美极品| 亚洲精品乱码久久久久久按摩观| 久久国产精品久久精品| 国产一区二区精品丝袜| 欧美乱妇高清无乱码| 亚洲成人黄色在线| 97精品欧美一区二区三区| 欧美激情乱人伦| 亚洲片国产一区一级在线观看| 亚洲精品www久久久| 久久精品国产综合| 国产欧美日韩综合精品| 国产精品电影在线观看| 久热精品视频在线| 国产一区二区三区在线免费观看| 国产精品69精品一区二区三区| 亚洲国产欧美一区二区三区同亚洲| 亚洲国产精品人人爽夜夜爽| 日韩精品高清在线观看| 久久天堂av综合合色| 亲子乱一区二区三区电影| 午夜精品在线观看| 久久久国产在线视频| 色天天综合狠狠色| 啪一啪鲁一鲁2019在线视频| 97精品欧美一区二区三区| 国产精品1234| 欧美日韩在线免费| 欧美日韩国产中文字幕| 亚洲欧美日韩精品久久亚洲区| 亚洲人成免费电影| 91久久久久久久一区二区| 5566成人精品视频免费| 久久人人爽人人爽人人片亚洲| 日韩电影在线观看中文字幕| 亚洲视频视频在线| 欧美色视频日本高清在线观看| 91久久精品美女高潮| 国产成人精品久久亚洲高清不卡| 精品国产欧美一区二区三区成人| 欧美成人午夜影院| 欧美丰满片xxx777| 日韩经典一区二区三区| 日韩电视剧在线观看免费网站| 亚洲一区二区三区四区在线播放| 91在线视频精品| 亚洲精品动漫久久久久| 欧美一级淫片播放口| 成人有码视频在线播放| 久久在线观看视频| 欧美丝袜美女中出在线| 超碰91人人草人人干| 色偷偷88888欧美精品久久久| 亚洲欧洲在线播放| 国内精品美女av在线播放| 日韩国产精品视频| 亚洲国产精品系列| 欧美国产极速在线| 亚洲色图欧美制服丝袜另类第一页| 色偷偷88888欧美精品久久久| 欧美日韩在线免费观看| www.99久久热国产日韩欧美.com| 国产精品永久在线| 久久久久五月天| 亚洲一区二区久久| 亚洲第一区中文字幕| 91久久久精品| 这里只有精品丝袜| 国产精品丝袜久久久久久高清| 91在线视频九色| 中文字幕日韩av| 欧美亚洲成人xxx| 午夜精品理论片| 91探花福利精品国产自产在线| 九九精品视频在线观看| 成人免费网站在线观看| 欧美一区二区大胆人体摄影专业网站| 亚洲激情 国产| 亚洲最大中文字幕| 日韩精品在线播放| 中文字幕欧美日韩va免费视频| 九九久久久久久久久激情| 国产精品成人va在线观看| 亚洲国产欧美精品| 欧美激情一区二区三区在线视频观看| 国产欧美精品一区二区| 国产精品久久久久影院日本| 日韩人在线观看| 久久久综合免费视频| 国产专区欧美专区| 色一区av在线| 欧美老女人xx| 日韩国产在线播放| 欧美在线免费视频| 国产精品69久久久久| 国产suv精品一区二区三区88区| 精品性高朝久久久久久久| 最近2019年日本中文免费字幕| 不卡av电影院| 亚洲国产成人爱av在线播放| 亚洲精品之草原avav久久| 亚洲加勒比久久88色综合| 国产精品99久久久久久www| 日韩国产欧美精品一区二区三区| 庆余年2免费日韩剧观看大牛| 日韩欧亚中文在线| 中文在线不卡视频| 欧美激情综合亚洲一二区|