国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 微信小程序 微信開發(fā) 微信支付的退款功能開發(fā)

微信支付的退款功能開發(fā)

Mar 16, 2018 pm 01:42 PM
功能 開發(fā) 退款

這次給大家?guī)砦⑿胖Ц兜耐丝罟δ荛_發(fā),微信支付退款功能開發(fā)的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

先吐槽下微信的文檔和demo,重要的步驟信息沒有強(qiáng)調(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? 之前就是不知道這兩步,浪費了太多時間。所以先下載證書:

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

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

二、代碼退款

?這個地方可以直接用官方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ò)密碼不正確的提示:

接下來在控制器中增加一個退款方法,包含微信訂單號、商戶訂單號、總金額和退款金額。商戶訂單號和微信訂單號二選一。詳細(xì)參數(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))//微信訂單號存在的條件下,則已微信訂單號為準(zhǔn)????????????{
????????????????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);//隨機(jī)生成商戶退款單號
????????????data.SetValue("op_user_id",?WxPayConfig.MCHID);//操作員,默認(rèn)為商戶號
????????????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("-",?""));//隨機(jī)字符串
????????????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ù)都正確,將會返回:

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

小結(jié):至此,退款功能已經(jīng)走通,其實如果參數(shù)和流程對了,這個地方還是很簡單的,微信的規(guī)定是可以申請一年內(nèi)交易的退款。

相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注php中文網(wǎng)其它相關(guān)文章!

推薦閱讀:

ss3的漸變?nèi)绾问褂?/a>

jQuery、Angular、node中的Promise詳解

H5的視頻播放庫video.js詳解

以上是微信支付的退款功能開發(fā)的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
四款值得推薦的AI輔助編程工具 四款值得推薦的AI輔助編程工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助編程工具在這個AI迅速發(fā)展的階段,挖掘出了一大批好用的AI輔助編程工具。AI輔助編程工具能夠提高開發(fā)效率、改善代碼質(zhì)量、降低bug率,是現(xiàn)代軟件開發(fā)過程中的重要助手。今天大姚給大家分享4款A(yù)I輔助編程工具(并且都支持C#語言),希望對大家有所幫助。https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款A(yù)I編碼助手,可幫助你更快、更省力地編寫代碼,從而將更多精力集中在問題解決和協(xié)作上。Git

自媒體到底是什么?它的主要特點和功能有哪些? 自媒體到底是什么?它的主要特點和功能有哪些? Mar 21, 2024 pm 08:21 PM

隨著互聯(lián)網(wǎng)的快速發(fā)展,自媒體這個概念已經(jīng)深入人心。那么,自媒體到底是什么?它有哪些主要特點和功能呢?接下來,我們將一一探討這些問題。一、自媒體到底是什么?自媒體,顧名思義,就是自己就是媒體。它是指通過互聯(lián)網(wǎng)平臺,個人或者團(tuán)隊可以自主創(chuàng)建、編輯、發(fā)布和傳播內(nèi)容的信息載體。不同于傳統(tǒng)媒體,如報紙、電視、電臺等,自媒體具有更強(qiáng)的互動性和個性化,讓每個人都能成為信息的生產(chǎn)者和傳播者。二、自媒體的主要特點和功能有哪些?1.低門檻:自媒體的崛起降低了進(jìn)入媒體行業(yè)的門檻,不再需要繁瑣的設(shè)備和專業(yè)的團(tuán)隊,一部手

vivox100s和x100區(qū)別:性能對比及功能解析 vivox100s和x100區(qū)別:性能對比及功能解析 Mar 23, 2024 pm 10:27 PM

vivox100s和x100手機(jī)都是vivo手機(jī)產(chǎn)品線中的代表機(jī)型,它們分別代表了vivo在不同時間段內(nèi)的高端技術(shù)水平,因此這兩款手機(jī)在設(shè)計、性能和功能上均有一定區(qū)別。本文將從性能對比和功能解析兩個方面對這兩款手機(jī)進(jìn)行詳細(xì)比較,幫助消費者更好地選擇適合自己的手機(jī)。首先,我們來看vivox100s和x100在性能方面的對比。vivox100s搭載了最新的

微信支付申請退款的步驟分享 微信支付申請退款的步驟分享 Mar 25, 2024 pm 06:31 PM

1、首先我們需要打開手機(jī)上的微信APP,然后點擊登錄微信賬號,這樣就進(jìn)入了微信的首頁。2、在微信首頁點擊右下角的【我】按鈕,再選擇【支付】選項,我們點擊進(jìn)入支付頁面。3、進(jìn)入【支付】頁面后點擊【錢包】選項進(jìn)入,在【錢包】頁面點擊右上角的【賬單】。

AI程序員哪家強(qiáng)?探索Devin、通義靈碼和SWE-agent的潛力 AI程序員哪家強(qiáng)?探索Devin、通義靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距世界首個AI程序員Devin誕生不足一個月,普林斯頓大學(xué)的NLP團(tuán)隊開發(fā)了一個開源AI程序員SWE-agent。它利用GPT-4模型在GitHub存儲庫中自動解決問題。SWE-agent在SWE-bench測試集上的表現(xiàn)與Devin相似,平均耗時93秒,解決了12.29%的問題。SWE-agent通過與專用終端交互,可以打開、搜索文件內(nèi)容,使用自動語法檢查、編輯特定行,以及編寫和執(zhí)行測試。(注:以上內(nèi)容為原內(nèi)容微調(diào),但保留了原文中的關(guān)鍵信息,未超過指定字?jǐn)?shù)限制。)SWE-A

學(xué)習(xí)如何利用Go語言開發(fā)移動應(yīng)用程序 學(xué)習(xí)如何利用Go語言開發(fā)移動應(yīng)用程序 Mar 28, 2024 pm 10:00 PM

Go語言開發(fā)移動應(yīng)用程序教程隨著移動應(yīng)用市場的不斷蓬勃發(fā)展,越來越多的開發(fā)者開始探索如何利用Go語言開發(fā)移動應(yīng)用程序。作為一種簡潔高效的編程語言,Go語言在移動應(yīng)用開發(fā)中也展現(xiàn)出了強(qiáng)大的潛力。本文將詳細(xì)介紹如何利用Go語言開發(fā)移動應(yīng)用程序,并附上具體的代碼示例,幫助讀者快速入門并開始開發(fā)自己的移動應(yīng)用。一、準(zhǔn)備工作在開始之前,我們需要準(zhǔn)備好開發(fā)環(huán)境和工具。首

抖店押金多長時間能退?退了多久到賬? 抖店押金多長時間能退?退了多久到賬? Mar 26, 2024 pm 01:56 PM

隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)購物已經(jīng)成為了人們生活中的重要組成部分。抖音上的抖店以其獨特的銷售模式和多樣的商品吸引了大量用戶。然而,在購物過程中,一些用戶對抖店的押金退還政策感到困惑。隨著消費者對購物安全和權(quán)益的關(guān)注增加,抖店需要更加透明和規(guī)范的退款機(jī)制來建立消費者信任。通過優(yōu)化退款流程和加強(qiáng)對商家的監(jiān)管,抖店可以提升用戶體驗,增加用戶忠誠度。消費者也可以通過留意平臺規(guī)定和與商家溝通,有效解決押金退還問題,確保自身權(quán)益不受損害。一、抖店押金多長時間能退?抖店是一種建立在信用體系基礎(chǔ)上的購物模式,要求消

攜程旅行預(yù)訂酒店怎么退 攜程旅行預(yù)訂酒店怎么退 Apr 01, 2024 pm 07:34 PM

攜程旅行匯聚了全球數(shù)百萬家酒店、航空公司、租車公司以及旅游服務(wù)商,為用戶提供豐富多樣的旅行選擇,而今天小編要講的就是其中攜程旅行退酒店教程,有需要的一起學(xué)習(xí)下吧。攜程旅行退酒店步驟流程第一步、進(jìn)入攜程APP,選擇下方【行程】,然后點擊我們預(yù)訂好的酒店的【訂單詳情】。第二步、點擊左下角的【取消訂單】。第三步、點擊取消的原因,再點擊最下方的【取消訂單】即可。

See all articles