小程序微信退款功能實(shí)現(xiàn)方法詳解【基于thinkPHP】
本文實(shí)例講述了小程序微信退款功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
☹. 背景
- 微信開發(fā)中,既然涉及到了微信支付,對(duì)于合理的購(gòu)物網(wǎng)站,必定會(huì)有用戶退款請(qǐng)求
- 當(dāng)然,一種方式是登錄 微信商戶平臺(tái),在
交易列表
中進(jìn)行微信退款操作 - 但是,如果業(yè)務(wù)量龐大,作為友好交互,自然需要進(jìn)行代碼實(shí)現(xiàn) 微信退款 操作咯
稍作一提,這是針對(duì)
小程序退款申請(qǐng)
的方法指導(dǎo)(目測(cè)跟公眾號(hào)退款沒啥區(qū)別)
理論上,請(qǐng)對(duì)應(yīng)參考文章:小程序微信支付 實(shí)例配置詳解
編程語(yǔ)言:PHP 使用框架:ThinkPHP3.2.3 (我也覺得過時(shí)了,算了,框架啥的只是個(gè)殼子而已!)
☺. 前期準(zhǔn)備
- 工欲善其事, 必先利其器
❶.文檔閱讀
- 畢竟都是人家微信平臺(tái)的東西,使用起來不去閱讀,總感覺是對(duì)開發(fā)人員的不尊重
- 況且,萬(wàn)一官方不定時(shí)地進(jìn)行了更新,后面的道友們不去閱讀很可能會(huì)遇到更多的阻礙哦
- 此處不多贅述,提取著重注意的要點(diǎn):
a. 請(qǐng)求需要雙向證書 詳見 證書使用 【可根據(jù)提示,直接下載參考微信支付提供的 Demo(PHP)】
b. 對(duì)于請(qǐng)求參數(shù),可以只填寫必選項(xiàng)
❷. 資源準(zhǔn)備
- 首先,小程序的
appid
,和微信支付所需的mch_id
缺一不可 - 其次,提前將獲得的雙向證書放置于自己的項(xiàng)目中,并記錄其訪問的***
絕對(duì)路徑
*** - 再者,需要獲取訂單進(jìn)行支付時(shí)所保存的回調(diào)數(shù)據(jù),其
json
字符串形式如下:
{ "appid":"wx81111223333444bc0", "bank_type":"CFT", "fee_type":"CNY", "is_subscribe":"N", "nonce_str":"t8wcdduity6f6k5acng33wzv5z56o7sh", "openid":"okxsf5YWzAzEPNoV31IRqft-fa1c", "out_trade_no":"20180000011119M15362284007942", "return_code":"SUCCESS", "time_end":"20180906180644", "trade_type":"JSAPI", "transaction_id":"4200000171201809060657362048" }
▷ 上面的
json
字符串是極為重要的,不然無(wú)法追索微信支付訂單信息
▷ 前提是在實(shí)現(xiàn)微信支付
時(shí)就已經(jīng)做了回調(diào)保存
▷ 未做處理的,可參考我之前整理的文章 :小程序微信支付 實(shí)例配置詳解
▓. 代碼實(shí)現(xiàn)
- 如果你的前期準(zhǔn)備已經(jīng)完成,可直接參考源碼
wxMini-PayDemo\Server-PHP\PayController.class.php
- 其實(shí),核心方法只有兩個(gè),介紹如下:
❶. payRefund()
方法
- 請(qǐng)使用
post
請(qǐng)求方式,傳參訂單號(hào)和退款金額,請(qǐng)認(rèn)真閱讀注釋信息,畢竟每個(gè)人的業(yè)務(wù)邏輯都不同 - 重要的就是獲取
array 數(shù)組
形式的$wxPayResultJsonRes
❷. curl_post_ssl_refund()
方法
- 具體的使用,請(qǐng)閱讀我的注釋代碼就好
附錄:
❶. 實(shí)現(xiàn)效果
❷.Github 源碼下載 >>>
- 強(qiáng)調(diào):如果你的前期準(zhǔn)備已經(jīng)完成,可只需參考源碼
wxMini-PayDemo\Server-PHP\PayController.class.php
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- Thinkphp5 微信公眾號(hào)token驗(yàn)證不成功的原因及解決方法
- Thinkphp5微信小程序獲取用戶信息接口的實(shí)例詳解
- ThinkPHP實(shí)現(xiàn)微信支付(jsapi支付)流程教程詳解
- 基于thinkPHP實(shí)現(xiàn)的微信自定義分享功能示例
- thinkPHP微信分享接口JSSDK用法實(shí)例
- thinkphp項(xiàng)目如何自定義微信分享描述內(nèi)容
- thinkphp微信開之安全模式消息加密解密不成功的解決辦法
- ThinkPHP框架實(shí)現(xiàn)的微信支付接口開發(fā)完整示例
- ThinkPHP框架整合微信支付之JSAPI模式圖文詳解
- thinkphp5框架結(jié)合mysql實(shí)現(xiàn)微信登錄和自定義分享鏈接與圖文功能示例
相關(guān)文章
淺析ThinkPHP中execute和query方法的區(qū)別
初學(xué)ThinkPHP的時(shí)候,很多人都對(duì)execute()和query()方法的區(qū)別搞不懂,本文就此淺析二者的區(qū)別,需要的朋友可以參考下2014-06-06PHP中的數(shù)組分頁(yè)實(shí)現(xiàn)(非數(shù)據(jù)庫(kù))實(shí)例講解
這篇文章主要介紹了PHP中的數(shù)組分頁(yè)實(shí)現(xiàn)(非數(shù)據(jù)庫(kù))實(shí)例講解,實(shí)例講解的很清楚,有對(duì)這方面有需要的同學(xué)可以借鑒下2021-01-01CI框架驗(yàn)證碼CAPTCHA輔助函數(shù)用法實(shí)例
這篇文章主要介紹了CI框架驗(yàn)證碼CAPTCHA輔助函數(shù)用法,以實(shí)例形式詳細(xì)講述了基于CAPTCHA輔助函數(shù)實(shí)現(xiàn)驗(yàn)證碼的方法,需要的朋友可以參考下2014-11-11destoon實(shí)現(xiàn)調(diào)用當(dāng)前欄目分類及子分類和三級(jí)分類的方法
這篇文章主要介紹了destoon實(shí)現(xiàn)調(diào)用當(dāng)前欄目分類及子分類和三級(jí)分類的方法,是destoon開發(fā)中非常實(shí)用的一個(gè)技巧,需要的朋友可以參考下2014-08-08yii2.0實(shí)現(xiàn)驗(yàn)證用戶名與郵箱功能
這篇文章主要介紹了yii2.0實(shí)現(xiàn)驗(yàn)證用戶名與郵箱功能的相關(guān)資料,需要的朋友可以參考下2015-12-12Laravel創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)的例子
今天小編就為大家分享一篇Laravel創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu)的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了PHP笛卡爾積實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法詳解
這篇文章主要介紹了thinkPHP2.1自定義標(biāo)簽庫(kù)的導(dǎo)入方法,詳細(xì)分析了thinkPHP標(biāo)簽庫(kù)的定義、使用及自動(dòng)導(dǎo)入相關(guān)技巧,需要的朋友可以參考下2016-07-07thinkPHP+LayUI 流加載實(shí)現(xiàn)功能
這篇文章主要介紹了thinkPHP+LayUI 流加載實(shí)現(xiàn)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09