亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁(yè) 微信小程式 微信開(kāi)發(fā) 微信支付的退款功能開(kāi)發(fā)

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

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

這次帶給大家微信支付的退款功能開(kāi)發(fā),微信支付退款功能開(kāi)發(fā)的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來(lái)看一下。

先吐槽下微信的文檔和demo,重要的步驟資訊沒(méi)有強(qiáng)調(diào)清楚,.net的demo就沒(méi)有跑成功過(guò)。

1.微信掃碼登入

2.微信PC端付款

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

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

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

下載的時(shí)候需要手機(jī)驗(yàn)證及登入密碼。下載後找到apiclient_cert.p12這個(gè)證書(shū),雙擊導(dǎo)入,導(dǎo)入的時(shí)候提示輸入密碼,這個(gè)密碼就是商家ID,且必須是在自己的商家平臺(tái)下載的憑證。否則會(huì)出現(xiàn)密碼錯(cuò)誤的提示:

?匯入正確的提示:

##二、程式碼退款

?這個(gè)地方可以直接用官方demo中的程式碼,demo下載

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

?   ??public?const?string?APPID?=?"wxf6dd794bcexxxx";????????public?const?string?MCHID?=?"xxxx";????????public?const?string?KEY?=?"xxxxx849ba56abbe56e05xxxxx";????????public?const?string?APPSECRET?=?"---";????????//=======【證書(shū)路徑設(shè)置】=====================================?
????????/*?證書(shū)路徑,注意應(yīng)該填寫(xiě)絕對(duì)路徑(僅退款、撤銷(xiāo)訂單時(shí)需要)????????*/
????????public?const?string?SSLCERT_PATH?=?"/WxPayAPI/cert/apiclient_cert.p12";????????public?const?string?SSLCERT_PASSWORD?=?"131xxxx";
上面的SSLCERT_PASSWORD就是MCHID,也就是商家ID, SSLCERT_PASSWORD錯(cuò)誤會(huì)出現(xiàn)指定的網(wǎng)路密碼不正確的提示:

#接下來(lái)在

控制器中增加一個(gè)退款方法,包含微信訂單號(hào)、商家訂單編號(hào)、總金額及退款金額。商戶訂單號(hào)碼和微信訂單號(hào)碼二選一。詳細(xì)參數(shù)

??public?ActionResult?DoRefund()
????????{????????????string?result?=?Refund.Run("","131667780120trade_no",?"1",?"1");????????????return?Content(result);
????????}
Refund類(lèi)別的Run方法:

?/***
????????*?申請(qǐng)退款完整業(yè)務(wù)流程邏輯
????????*?@param?transaction_id?微信訂單號(hào)(優(yōu)先使用)
????????*?@param?out_trade_no?商戶訂單號(hào)
????????*?@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))//微信訂單號(hào)存在的條件下,則已微信訂單號(hào)為準(zhǔn)????????????{
????????????????data.SetValue("transaction_id",?transaction_id);
????????????}????????????else//微信訂單號(hào)不存在,才根據(jù)商戶訂單號(hào)去退款????????????{
????????????????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ī)生成商戶退款單號(hào)
????????????data.SetValue("op_user_id",?WxPayConfig.MCHID);//操作員,默認(rèn)為商戶號(hào)
????????????WxPayData?result?=?WxPayApi.Refund(data);//提交退款申請(qǐng)給API,接收返回?cái)?shù)據(jù)
????????????Logger.Info("Refund?process?complete,?result?:?"?+?result.ToXml());????????????return?result.ToPrintStr();
????????}
Refund:方法

?/**
????????*?
????????*?申請(qǐng)退款
????????*?@param?WxPayData?inputObj?提交給申請(qǐng)退款A(yù)PI的參數(shù)
????????*?@param?int?timeOut?超時(shí)時(shí)間
????????*?@throws?WxPayException
????????*?@return?成功時(shí)返回接口調(diào)用結(jié)果,其他拋異常????????*/
????????public?static?WxPayData?Refund(WxPayData?inputObj,?int?timeOut?=?6)
????????{????????????string?url?=?"https://api.mch.weixin.qq.com/secapi/pay/refund";????????????//檢測(cè)必填參數(shù)
????????????if?(!inputObj.IsSet("out_trade_no")?&&?!inputObj.IsSet("transaction_id"))
????????????{????????????????throw?new?WxPayException("退款申請(qǐng)接口中,out_trade_no、transaction_id至少填一個(gè)!");
????????????}????????????else?if?(!inputObj.IsSet("out_refund_no"))
????????????{????????????????throw?new?WxPayException("退款申請(qǐng)接口中,缺少必填參數(shù)out_refund_no!");
????????????}????????????else?if?(!inputObj.IsSet("total_fee"))
????????????{????????????????throw?new?WxPayException("退款申請(qǐng)接口中,缺少必填參數(shù)total_fee!");
????????????}????????????else?if?(!inputObj.IsSet("refund_fee"))
????????????{????????????????throw?new?WxPayException("退款申請(qǐng)接口中,缺少必填參數(shù)refund_fee!");
????????????}????????????else?if?(!inputObj.IsSet("op_user_id"))
????????????{????????????????throw?new?WxPayException("退款申請(qǐng)接口中,缺少必填參數(shù)op_user_id!");
????????????}
????????????inputObj.SetValue("appid",?WxPayConfig.APPID);//公眾賬號(hào)ID
????????????inputObj.SetValue("mch_id",?WxPayConfig.MCHID);//商戶號(hào)
????????????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);//獲得接口耗時(shí)????????????//將xml格式的結(jié)果轉(zhuǎn)換為對(duì)象以返回
????????????WxPayData?result?=?new?WxPayData();
????????????result.FromXml(response);
????????????ReportCostTime(url,?timeCost,?result);//測(cè)速上報(bào)
????????????return?result;
????????}
生產(chǎn)環(huán)境中記得修改成自己的參數(shù)。如果參數(shù)都正確,將會(huì)回傳:

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

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

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

推薦閱讀:

ss3的漸層如何使用

#jQuery、Angular、node中的Promise詳解

H5的影片播放庫(kù)video.js詳解
#

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

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

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開(kāi)發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺(jué)化網(wǎng)頁(yè)開(kāi)發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)程式碼編輯軟體(SublimeText3)

熱門(mén)話題

Laravel 教程
1597
29
PHP教程
1488
72
四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

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

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

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

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

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

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

1.首先我們需要打開(kāi)手機(jī)上的微信APP,然後點(diǎn)選登入微信帳號(hào),這樣就進(jìn)入了微信的首頁(yè)。 2.在微信首頁(yè)點(diǎn)選右下角的【我】按鈕,再選擇【付款】選項(xiàng),我們點(diǎn)選進(jìn)入支付頁(yè)面。 3.進(jìn)入【付款】頁(yè)面後點(diǎn)選【錢(qián)包】選項(xiàng)進(jìn)入,在【錢(qián)包】頁(yè)面點(diǎn)選右上角的【帳單】。

AI程式設(shè)計(jì)師哪家強(qiáng)?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設(shè)計(jì)師哪家強(qiáng)?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

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

學(xué)習(xí)如何利用Go語(yǔ)言開(kāi)發(fā)行動(dòng)應(yīng)用程式 學(xué)習(xí)如何利用Go語(yǔ)言開(kāi)發(fā)行動(dòng)應(yīng)用程式 Mar 28, 2024 pm 10:00 PM

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

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

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

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

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

See all articles