天天看點

小程式申請退款 php,小程式 微信退款功能實作講解 (PHP方式)

. 背景微信開發中,既然涉及到了微信支付,對于合理的購物網站,必定會有使用者退款請求

當然,一種方式是登入 微信商戶平台,在 交易清單 中進行微信退款操作

但是,如果業務量龐大,作為友好互動,自然需要進行代碼實作 微信退款 操作咯稍作一提,這是針對 小程式退款申請 的方法指導(目測跟公衆号退款沒啥差別)

理論上,請對應參考文章:程式設計語言:PHP

使用架構:ThinkPHP3.2.3 (我也覺得過時了,算了,架構啥的隻是個殼子而已!)

. 前期準備工欲善其事, 必先利其器

.文檔閱讀畢竟都是人家微信平台的東西,使用起來不去閱讀,總感覺是對開發人員的不尊重

況且,萬一官方不定時地進行了更新,後面的道友們不去閱讀很可能會遇到更多的阻礙哦

此處不多贅述,提取着重注意的要點:a. 請求需要雙向證書  詳見 證書使用 【可根據提示,直接下載下傳參考微信支付提供的 Demo(PHP)】

b. 對于請求參數,可以隻填寫必選項

小程式申請退款 php,小程式 微信退款功能實作講解 (PHP方式)

. 資源準備首先,小程式的 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

小程式申請退款 php,小程式 微信退款功能實作講解 (PHP方式)

. curl_post_ssl_refund() 方法具體的使用,請閱讀我的注釋代碼就好

小程式申請退款 php,小程式 微信退款功能實作講解 (PHP方式)

附錄:

. 實作效果

小程式申請退款 php,小程式 微信退款功能實作講解 (PHP方式)

作者:moTzxx

連結:https://www.jianshu.com/p/0eceb5fe852b