這篇文章給大家分享的是有關(guān).NET Core如何實現(xiàn)微信小程序支付功能的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供臥龍企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計、成都做網(wǎng)站、H5建站、小程序制作等業(yè)務(wù)。10年已為臥龍眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。開通小程序支付功能比較簡單,基本上按微信文檔一步一步的申請就好,如圖
以上三個步驟就申請完成
1、提交資料給微信
2、微信審核并簽署協(xié)議
3、商戶后臺綁定同主體的APPID
1、登錄商戶后臺https://pay.weixin.qq.com,進入產(chǎn)品中心—APPID授權(quán)管理,進入授權(quán)頁面如圖:
2、填寫相關(guān)已認證APPID信息,閱讀并簽署《微信支付商戶號與APPID授權(quán)協(xié)議》,點擊“確認”提交,發(fā)起授權(quán)申請,如下圖:
3、發(fā)起授權(quán)申請后,商戶需自行前往對應(yīng)平臺確認授權(quán)申請。
小程序:前往公眾平臺,點擊“微信支付-商戶號管理”,查看相關(guān)商戶號信息,確認授權(quán)申請,或在“公眾平臺安全助手”下發(fā)的模板消息中確認授權(quán)信息;
公眾號/訂閱號:前往公眾平臺,點擊“微信支付-商戶號管理”,查看相關(guān)商戶號信息,確認授權(quán)申請;
APP:前往開放平臺,點擊“管理中心-查看-微信支付-商戶號管理”,查看相關(guān)商戶號信息,確認授權(quán)申請;
4. 以上步驟綁定成功,可以實現(xiàn)微信支付功能。
預(yù)先設(shè)置好回調(diào)地址后,方便支付成功后收到微信通知來處理業(yè)務(wù),設(shè)置也比較簡單不用多說,如圖:
根據(jù)自己的需求設(shè)置不同的回調(diào)地址。
1、統(tǒng)一支付,只要是微信公眾號平臺的同一主體都可以使用同一個支付,只需要在商戶后臺綁定APPID即可。
微信小程序支付官方圖:
微信支付文檔說明地址:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1
引用包:
Senparc.Weixin.WxOpen
Senparc.Weixin.TenPay
services.AddSenparcGlobalServices(Configuration) .AddSenparcWeixinServices(Configuration);
前端調(diào)用統(tǒng)一下單接口,獲取prepayId
IRegisterService register = RegisterService.Start(env, senparcSetting.Value).UseSenparcGlobal(false, null); register.UseSenparcWeixin(senparcWeixinSetting.Value, senparcSetting.Value) .RegisterTenpayV3(senparcWeixinSetting.Value, "appid");
部分前端代碼如下:
后端部分代碼截圖獲取prepayId,如需代碼請與我聯(lián)系
提交統(tǒng)一支付成功后,會出現(xiàn)如下圖:
注:一般正常獲取到prepayid就可以發(fā)起支付,請確保所給的參數(shù)正確。
微信支付回調(diào)
微信支付回調(diào)規(guī)則如下:
回調(diào)代碼實現(xiàn)
///<summary> /// 微信支付回調(diào)地址 /// </summary> /// <returns></returns> [HttpPost("PayNotifyUrl")] public ActionResult PayNotifyUrl() { ResponseResult result = new ResponseResult(); ResponseHandler resHandler = new ResponseHandler(HttpContext); string return_code = resHandler.GetParameter("return_code"); string return_msg = resHandler.GetParameter("return_msg"); try { var mch_key = Senparc.Weixin.Config.SenparcWeixinSetting.TenPayV3_Key; resHandler.SetKey(mch_key); var notifyXml = resHandler.ParseXML(); bool signFlag = resHandler.IsTenpaySign(); if (signFlag && return_code.ToUpper() == "SUCCESS") { string attach = resHandler.GetParameter("attach"); string device_info = resHandler.GetParameter("device_info"); string out_trade_no = resHandler.GetParameter("out_trade_no"); string transaction_id = resHandler.GetParameter("transaction_id"); string total_fee = resHandler.GetParameter("total_fee"); PayOrderNotifyParam param = new PayOrderNotifyParam() { PayNo = out_trade_no, Attach = attach, PayPrice = decimal.Parse(total_fee) / 100, TransactionNo = transaction_id, }; //回調(diào)參數(shù)說明:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_7&index=3 //Logger.Info(string.Format("支付回調(diào)接收參數(shù)成功,notifyXml={0},param={1}", notifyXml, param.SerializeObject())); result = Service.PayNotifyUrl(param); if (result.errno != 0) { //回調(diào)處理邏輯失敗 Logger.Error(string.Format("支付回調(diào)處理失敗:支付單號:{0},{1}", param.PayNo, result.errmsg)); } else { Logger.Info(string.Format("支付回調(diào)處理成功,支付單號:{0}", param.PayNo)); string xml = string.Format(@"<xml> <return_code><![CDATA[{0}]]></return_code> <return_msg><![CDATA[{1}]]></return_msg> </xml>", return_code, return_msg); return Content(xml, "text/xml"); } } else { //錯誤的訂單處理 Logger.Error(string.Format("支付回調(diào)接失敗,signFlag={0},notifyXml={1}", signFlag, notifyXml)); } } catch (Exception ex) { Logger.Error(string.Format("支付回調(diào)異常:Message={0},StackTrace={1}", ex.Message, ex.StackTrace)); } return Content("fail", "text/xml"); }
回調(diào)接口好驗證下簽名是否正確,驗證簽名請先設(shè)置下商戶KEY,如簽名成功,微信支付成功,這時可以處理業(yè)務(wù)數(shù)據(jù)。
注:如果業(yè)務(wù)處理成功好返回SUCCESS告訴微信,否則微信會隔一段時間就會回調(diào)一次,直到回調(diào)次數(shù)用盡,這里也需要自己業(yè)務(wù)處理好狀態(tài)。
感謝各位的閱讀!關(guān)于“.NET Core如何實現(xiàn)微信小程序支付功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
標題名稱:.NETCore如何實現(xiàn)微信小程序支付功能-創(chuàng)新互聯(lián)
本文來源:http://www.chinadenli.net/article10/cciego.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、App設(shè)計、App開發(fā)、建站公司、網(wǎng)站營銷、網(wǎng)站設(shè)計公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容