開頭什麼都先不講,就先說說對接微信的三大不爽!!!!
-
微信審覈步驟太繁瑣,且審覈的週期過長。
-
微信支付文檔太雜亂,只有按照文檔走一遍報錯了,去網上搜原因的時候,你會在另一個兩眼看不到的文檔中找到原因。
-
微信字段名一會大寫一會小寫,偏偏它們對字段的大小寫還要求特別嚴格。
-
報錯原因告訴你fail error,剩下的你自己去查吧,查不到就去猜吧!
正文開始:
1.微信前期的審覈工作太繁瑣,其它博主有講過這裏就不說了。不過有一點需要注意,前面都準備好了之後,不要忘記在微信商戶平臺===》產品中心===》APPID授權管理進行綁定,這一步也是需要審覈的(耗時間!)。
2.先調用統一下單api,如果你在這一步出錯了,建議你用起來開發工具(我用的idea)的debug模式,走到發送xml數據那一步時,你會看到因爲各種審覈不通過或者商戶號與appid不統一的錯誤,如果不是debug模式,微信給的錯誤消息你是看不到的。得到錯誤消息後,複製粘貼去百度就能解決(這個步驟出現的問題還是很好解決的,就是解決方案一般都是審覈可能需要耗費點時間)。
3/4.3和4就放在一起說了,當你看到
"errMsg": "requestPayment:fail errors"
這個錯誤時,你需要做的是先去dcloud社區查找相關的解決方案,如果都試過了,還不能解決,如果代碼邏輯你覺得沒問題,那麼第一步你要做的就是先去驗證簽名是否正確,第二步就是對照字段名稱大小寫是否正確。我就是錯在了大小寫上:在返還給uniapp的orderinfo數據中,timestamp字段名我寫成了timeStamp,一個大寫的S搞了我好幾天!!對了,uniapp官網說微信支付orderinfo需要string格式,但是親測好像object也是可以的。
最後就還是吐槽,支付寶支付比微信支付簡單一百倍!!!