本文執行個體講述了小程式微信退款功能實作方法。分享給大家供大家參考,具體如下:
☹. 背景
微信開發中,既然涉及到了微信支付,對于合理的購物網站,必定會有使用者退款請求
當然,一種方式是登入 微信商戶平台,在 交易清單 中進行微信退款操作
但是,如果業務量龐大,作為友好互動,自然需要進行代碼實作 微信退款 操作咯
稍作一提,這是針對 小程式退款申請 的方法指導(目測跟公衆号退款沒啥差別)
理論上,請對應參考文章:小程式微信支付 執行個體配置詳解
程式設計語言:PHP 使用架構:ThinkPHP3.2.3 (我也覺得過時了,算了,架構啥的隻是個殼子而已!)
☺. 前期準備
工欲善其事, 必先利其器
❶.文檔閱讀
微信小程式 - 申請退款(官方文檔)
畢竟都是人家微信平台的東西,使用起來不去閱讀,總感覺是對開發人員的不尊重
況且,萬一官方不定時地進行了更新,後面的道友們不去閱讀很可能會遇到更多的阻礙哦
此處不多贅述,提取着重注意的要點:
a. 請求需要雙向證書 詳見 證書使用 【可根據提示,直接下載下傳參考微信支付提供的 Demo(PHP)】
b. 對于請求參數,可以隻填寫必選項
❷. 資源準備
首先,小程式的 appid,和微信支付所需的 mch_id 缺一不可
其次,提前将獲得的雙向證書放置于自己的項目中,并記錄其通路的***絕對路徑***
再者,需要擷取訂單進行支付時所儲存的回調資料,其 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 字元串是極為重要的,不然無法追索微信支付訂單資訊
▷ 前提是在實作 微信支付時就已經做了回調儲存
▷ 未做處理的,可參考我之前整理的文章 :小程式微信支付 執行個體配置詳解
▓. 代碼實作
如果你的前期準備已經完成,可直接參考源碼 wxMini-PayDemo\Server-PHP\PayController.class.php
其實,核心方法隻有兩個,介紹如下:
❶. payRefund() 方法
請使用 post 請求方式,傳參訂單号和退款金額,請認真閱讀注釋資訊,畢竟每個人的業務邏輯都不同
重要的就是擷取 array 數組形式的 $wxPayResultJsonRes
❷. curl_post_ssl_refund() 方法
具體的使用,請閱讀我的注釋代碼就好
附錄:
❶. 實作效果
❷.Github 源碼下載下傳 >>>
強調:如果你的前期準備已經完成,可隻需參考源碼 wxMini-PayDemo\Server-PHP\PayController.class.php
更多關于thinkPHP相關内容感興趣的讀者可檢視本站專題:《ThinkPHP入門教程》、《thinkPHP模闆操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)架構進階教程》、《Zend FrameWork架構入門教程》及《PHP模闆技術總結》。
希望本文所述對大家基于ThinkPHP架構的PHP程式設計有所幫助。
本條技術文章來源于網際網路,如果無意侵犯您的權益請點選此處回報版權投訴
本文系統來源:php中文網