最近在做一個微信公衆号,其中用到了微信支付。之前一直按照V2的版本在研究,等申請通過之後才發現隻能使用V3了。
目前網上V3版本的資料很少,是以寫此博文以供參考。
言歸正傳,初步看了官方提供的技術文檔,在我看來v3版本相對于v2版本最大的差別就是V3在發起支付請求前需要先調用統一支付接口 (https://api.mch.weixin.qq.com/pay/unifiedorder)擷取預支付id(prepay_id)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiclRnblN0LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90zZNBTUq10MFRUT4FEVkZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39jN5IDM0gDNyITMxETM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
首先調用下面的方法,結果會以xml的形式傳回,當傳回的return_code 和 result_code 都為 SUCCESS 時,才認為調用成功,此時可擷取prepay_id。擷取到prepay_id之後便可通過JSAPI發起微信支付請求
注:v2版本signType是sha1,而v3是MD5
一切所需準備完畢之後在頁面中執行下方js即可: