欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

微信支付中退款功能怎么實現(xiàn)

小編給大家分享一下微信支付中退款功能怎么實現(xiàn),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)成立于2013年,先為陳巴爾虎等服務(wù)建站,陳巴爾虎等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為陳巴爾虎企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

先吐槽下微信的文檔和demo,重要的步驟信息沒有強調(diào)清楚,.net的demo就沒有跑成功過。

1.微信掃碼登錄

2.微信PC端支付

幾經(jīng)摸索才走通這個退款功能。下面介紹下微信支付退款功能的開發(fā)步驟:

一、下載證書并導(dǎo)入到系統(tǒng)

微信退款是需要證書的,這個證書不是官方demo中的證書,而是需要自己在微信商戶平臺中的api安全欄下載的證書,在官方的證書使用實例的一個word文檔看到下面話:C#有一點需要注意,除了在代碼中使用apiclient_cert.p12之外還需要將該證書導(dǎo)入操作系統(tǒng)才能使用,1、代碼中使用、;2、導(dǎo)入操作系統(tǒng),二者缺一不可。.NET版本需要大于2.0  之前就是不知道這兩步,浪費了太多時間。所以先下載證書:

微信支付中退款功能怎么實現(xiàn)

下載的時候需要手機驗證及登錄密碼。下載后找到apiclient_cert.p12這個證書,雙擊導(dǎo)入,導(dǎo)入的時候提示輸入密碼,這個密碼就是商戶ID,且必須是在自己的商戶平臺下載的證書。否則會出現(xiàn)密碼錯誤的提示:

微信支付中退款功能怎么實現(xiàn)

導(dǎo)入正確的提示:

微信支付中退款功能怎么實現(xiàn)

二、代碼退款

這個地方可以直接用官方demo中的代碼,demo下載

需要修改WxPayConfig中的幾個參數(shù):

      public const string APPID = "wxf6dd794bcexxxx";        public const string MCHID = "xxxx";        public const string KEY = "xxxxx849ba56abbe56e05xxxxx";        public const string APPSECRET = "---";        //=======【證書路徑設(shè)置】===================================== 
        /* 證書路徑,注意應(yīng)該填寫絕對路徑(僅退款、撤銷訂單時需要)        */
        public const string SSLCERT_PATH = "/WxPayAPI/cert/apiclient_cert.p12";        public const string SSLCERT_PASSWORD = "131xxxx";

上面的SSLCERT_PASSWORD就是MCHID,也就是商戶ID,SSLCERT_PASSWORD錯誤會出現(xiàn)指定的網(wǎng)絡(luò)密碼不正確的提示:

微信支付中退款功能怎么實現(xiàn)

接下來在控制器中增加一個退款方法,包含微信訂單號、商戶訂單號、總金額和退款金額。商戶訂單號和微信訂單號二選一。詳細參數(shù)

  public ActionResult DoRefund()
        {            string result = Refund.Run("","131667780120trade_no", "1", "1");            return Content(result);
        }

Refund類的Run方法:

 /***
        * 申請退款完整業(yè)務(wù)流程邏輯
        * @param transaction_id 微信訂單號(優(yōu)先使用)
        * @param out_trade_no 商戶訂單號
        * @param total_fee 訂單總金額
        * @param refund_fee 退款金額
        * @return 退款結(jié)果(xml格式)        */
        public static string Run(string transaction_id, string out_trade_no, string total_fee, string refund_fee)
        {
            Logger.Info("Refund is processing...");
            WxPayData data = new WxPayData();            if (!string.IsNullOrEmpty(transaction_id))//微信訂單號存在的條件下,則已微信訂單號為準            {
                data.SetValue("transaction_id", transaction_id);
            }            else//微信訂單號不存在,才根據(jù)商戶訂單號去退款            {
                data.SetValue("out_trade_no", out_trade_no);
            }
            data.SetValue("total_fee", int.Parse(total_fee));//訂單總金額
            data.SetValue("refund_fee", int.Parse(refund_fee));//退款金額
            data.SetValue("out_refund_no", out_trade_no);//隨機生成商戶退款單號
            data.SetValue("op_user_id", WxPayConfig.MCHID);//操作員,默認為商戶號
            WxPayData result = WxPayApi.Refund(data);//提交退款申請給API,接收返回數(shù)據(jù)
            Logger.Info("Refund process complete, result : " + result.ToXml());            return result.ToPrintStr();
        }

Refund:方法

 /**
        * 
        * 申請退款
        * @param WxPayData inputObj 提交給申請退款A(yù)PI的參數(shù)
        * @param int timeOut 超時時間
        * @throws WxPayException
        * @return 成功時返回接口調(diào)用結(jié)果,其他拋異常        */
        public static WxPayData Refund(WxPayData inputObj, int timeOut = 6)
        {            string url = "https://api.mch.weixin.qq.com/secapi/pay/refund";            //檢測必填參數(shù)
            if (!inputObj.IsSet("out_trade_no") && !inputObj.IsSet("transaction_id"))
            {                throw new WxPayException("退款申請接口中,out_trade_no、transaction_id至少填一個!");
            }            else if (!inputObj.IsSet("out_refund_no"))
            {                throw new WxPayException("退款申請接口中,缺少必填參數(shù)out_refund_no!");
            }            else if (!inputObj.IsSet("total_fee"))
            {                throw new WxPayException("退款申請接口中,缺少必填參數(shù)total_fee!");
            }            else if (!inputObj.IsSet("refund_fee"))
            {                throw new WxPayException("退款申請接口中,缺少必填參數(shù)refund_fee!");
            }            else if (!inputObj.IsSet("op_user_id"))
            {                throw new WxPayException("退款申請接口中,缺少必填參數(shù)op_user_id!");
            }
            inputObj.SetValue("appid", WxPayConfig.APPID);//公眾賬號ID
            inputObj.SetValue("mch_id", WxPayConfig.MCHID);//商戶號
            inputObj.SetValue("nonce_str", Guid.NewGuid().ToString().Replace("-", ""));//隨機字符串
            inputObj.SetValue("sign", inputObj.MakeSign());//簽名
            
            string xml = inputObj.ToXml();            var start = DateTime.Now;
            Log.Debug("WxPayApi", "Refund request : " + xml);            string response = HttpService.Post(xml, url, true, timeOut);//調(diào)用HTTP通信接口提交數(shù)據(jù)到API
            Log.Debug("WxPayApi", "Refund response : " + response);            var end = DateTime.Now;            int timeCost = (int)((end - start).TotalMilliseconds);//獲得接口耗時            //將xml格式的結(jié)果轉(zhuǎn)換為對象以返回
            WxPayData result = new WxPayData();
            result.FromXml(response);
            ReportCostTime(url, timeCost, result);//測速上報
            return result;
        }

生產(chǎn)環(huán)境中記得修改成自己的參數(shù)。如果參數(shù)都正確,將會返回:

微信支付中退款功能怎么實現(xiàn)

而且,微信馬上回收到退款通知:

微信支付中退款功能怎么實現(xiàn)

以上是“微信支付中退款功能怎么實現(xiàn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當前題目:微信支付中退款功能怎么實現(xiàn)
文章轉(zhuǎn)載:http://aaarwkj.com/article24/ihhice.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、服務(wù)器托管、標簽優(yōu)化、、網(wǎng)站營銷電子商務(wù)

廣告

聲明:本網(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)

外貿(mào)網(wǎng)站建設(shè)
18禁在线免费观看网站| 亚洲视频在线视频看视频在线| 久久综合激情亚洲欧美专区| 亚洲巨大黑人一区二区三区| 高潮少妇高潮少妇av| 亚洲精品美女久久久久高潮| 国产中文字幕有码视频| 99久久免费中文字幕| 性感91美女白丝在线精品| 国产无遮挡的免费视频| 日韩国产一区二区在线观看| 亚洲欧美国产精品日韩| 一区二区三区av天堂| 日韩av高清在线播放| 国产免费播放一区二区三区| 欧美精品亚洲精品日韩| 日韩欧美亚洲国产另类| 六月综合激情丁香婷婷色| 国产性做爰片免费网站| 黄色亚洲日本欧美在线观看| 成年人性生活一级视品| 白白在线观看网站看看亚洲 | 91麻豆精品一区二区三区| 青青草视频在线好好热| 老湿机午夜在线免费观看| 91麻豆精品一区二区三区| 日本一欧美一欧美一亚洲| 91中文字幕精品一区二区| 人妻少妇久久中文字幕韩| 亚洲av日韩综合一区尤物| 久久国产精品成人免费蜜臀| 男女在线视频网站免费| 国产传媒视频网站在线观看| 久久精品国产亚洲av不丁香| 一区二区亚洲欧美精品| 日本在线观看精品综合| 成人在线免费黄色小说| 18岁禁看网站在线看| 四虎在线免费视频播放| 蜜臀av免费在线观看| 精品在欧美一区二区少妇|