小程序 微信退款功能實(shí)現(xiàn)講解 (PHP方式)

?. 背景

  • 微信開(kāi)發(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)退款沒(méi)啥區(qū)別)
理論上,請(qǐng)對(duì)應(yīng)參考文章:小程序微信支付 實(shí)例配置詳解

 編程語(yǔ)言:PHP
 使用框架:ThinkPHP3.2.3 (我也覺(jué)得過(guò)時(shí)了,算了,框架啥的只是個(gè)殼子而已!)

?. 前期準(zhǔn)備

  • 工欲善其事, 必先利其器

?.文檔閱讀

微信小程序 - 申請(qǐng)退款(官方文檔)

  • 畢竟都是人家微信平臺(tái)的東西,使用起來(lái)不去閱讀,總感覺(jué)是對(duì)開(kāi)發(fā)人員的不尊重
  • 況且,萬(wàn)一官方不定時(shí)地進(jìn)行了更新,后面的道友們不去閱讀很可能會(huì)遇到更多的阻礙哦
  • 此處不多贅述,提取著重注意的要點(diǎn):

a. 請(qǐng)求需要雙向證書(shū) 詳見(jiàn) 證書(shū)使用 【可根據(jù)提示,直接下載參考微信支付提供的 Demo(PHP)】
b. 對(duì)于請(qǐng)求參數(shù),可以只填寫(xiě)必選項(xiàng)

?. 資源準(zhǔn)備

  • 首先,小程序的 appid,和微信支付所需的 mch_id 缺一不可
  • 其次,提前將獲得的雙向證書(shū)放置于自己的項(xiàng)目中,并記錄其訪問(wèn)的絕對(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
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)載鏈接 注:本文轉(zhuǎn)載知乎上的回答 作者:初雪 鏈接:https://www.zhihu.com/question...
    pengshuangta閱讀 29,296評(píng)論 9 295
  • 關(guān)于微信支付 生活中的微信支付 目前我們?nèi)粘I钪薪佑|得比較多的線上電子支付方式主要有兩種,一種是支付寶,另一種就...
    積_漸閱讀 4,009評(píng)論 3 26
  • 1月30日上午請(qǐng)假帶兒子去中國(guó)音樂(lè)學(xué)院考架子鼓,8:30出門(mén),外面特別清冷,藍(lán)天白云,但是風(fēng)很大,我們倆坐了55路...
    崔海宏閱讀 292評(píng)論 0 1
  • 二十五歲之前,不曾認(rèn)識(shí)歐陽(yáng)修,一如不曾到過(guò)潁州。終于還是在13年9月,第一次踏上這片神奇的土地。這次是第二次。至今...
    半夜樓主閱讀 1,569評(píng)論 0 3
  • 數(shù)值在計(jì)算機(jī)中是以補(bǔ)碼的方式存儲(chǔ)的,在探求為何計(jì)算機(jī)要使用補(bǔ)碼之前, 讓我們先了解原碼, 反碼和補(bǔ)碼的概念。 對(duì)于...
    Jason_M_Ho閱讀 356評(píng)論 0 0

友情鏈接更多精彩內(nèi)容