1. 程式人生 > >微信支付的一些坑

微信支付的一些坑

支付,微信支付以及支付寶支付是我們開發中的一個關鍵點~~~可能是技術開發人員的通病(討厭寫技術文件)的心理,造成微信支付文件遍地是坑!!!在這裡我就我做過的微信公眾號支付爬過的一些坑,來做一些記錄。

首先:關於支付的域名授權回撥以及網頁授權的url

在這裡,你填寫的回撥URL ,要包含你統一下單檔案與前端調起H5介面檔案的目錄~~~之前分模組的時候將下單的類檔案與前端的檔案進行大分離,結果一直報簽名錯誤!!!後來把下單的檔案與前端調取H5介面的檔案包含在同一個目錄下,才成功。同時前端網頁授權的域名與後端接入的域名也必須保持一致

第二點:引數格式一定要注意,文件中下單是的引數格式與你前端傳入的引數格式不一樣的。

在後端驗證簽名的引數時間戳timestamp為小寫,到了前端就成了大寫timeStamp。

第三點:demo中的一些坑:

1.在傳入引數的時候,demo中設定引數:SetTime_expire(date("YmdHis", time() + 600));其中傳入的引數中寫“600”,會報錯:[time_expire時間過短,刷卡至少1分鐘,其他5分鐘],這裡我填寫的是3600才通過。

2.傳入的傳引數,生成商戶訂單號的時候,demo中使用的是你申請的商戶號MCH_ID + Date(“YmdHis”),在這裡你就不要使用了,在測試中這個商戶號的生成方式不會報錯,一旦上線使用者下單頻率超多的時候,你就會出錯。做好在後面加上隨機數,但最好不要使用字母,聽說這種訂單號在檢索的時候出現問題。

3.在涉及退款的問題:在呼叫這個退款介面的時候,這裡生成退款訂單號的時候,你使用MCH_ID+date("YmdHis“)一樣會造成退款訂單號重複,此時會報錯:”訂單號校驗資訊不一致,請核實後重試“

最後一點,也是最最重要的一點那就是:前端呼叫H5介面的時候的回撥:


千萬不要把微信的提示不當一回事兒,這裡真的是一個坑!!!

建議在

function(res){

//在這裡使用訂單查詢的介面,按照這裡的查詢結果來進行判斷最佳

}

就這麼多了,這裡就是我遇到的一些我坑。其他的很多坑,我參照網上的資料以及微信的的demo避過了坑點,認真的閱讀微信的demo,結合文件以及網上的資料,你會更快的理解微信支付的流程