本文實(shí)例講述了小程序微信退款功能實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
☹. 背景
- 微信開發(fā)中,既然涉及到了微信支付,對(duì)于合理的購物網(wǎng)站,必定會(huì)有用戶退款請(qǐng)求
- 當(dāng)然,一種方式是登錄 微信商戶平臺(tái),在
交易列表
中進(jìn)行微信退款操作
- 但是,如果業(yè)務(wù)量龐大,作為友好交互,自然需要進(jìn)行代碼實(shí)現(xiàn) 微信退款 操作咯
稍作一提,這是針對(duì) 小程序退款申請(qǐng)
的方法指導(dǎo)(目測跟公眾號(hào)退款沒啥區(qū)別)
理論上,請(qǐng)對(duì)應(yīng)參考文章:小程序微信支付 實(shí)例配置詳解
編程語言:PHP 使用框架:ThinkPHP3.2.3 (我也覺得過時(shí)了,算了,框架啥的只是個(gè)殼子而已!)
☺. 前期準(zhǔn)備
❶.文檔閱讀
微信小程序 - 申請(qǐng)退款(官方文檔)
- 畢竟都是人家微信平臺(tái)的東西,使用起來不去閱讀,總感覺是對(duì)開發(fā)人員的不尊重
- 況且,萬一官方不定時(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
字符串是極為重要的,不然無法追索微信支付訂單信息
▷ 前提是在實(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)微信登錄和自定義分享鏈接與圖文功能示例