前言 今天是2020年一天,去年最後一個月開發了訂單和支付系統,尤其在支付系統和微信對接的時候遇到了很多坑,這裡給大家總結下,以免大家遇到相同的問題還浪費大量時間 微信支付前期準備 1. 微信商戶號,需要 ,`密碼 證書`,證書預設密碼是商戶號 2. 微信app(如 微信小程式 或者 微信公眾號) ...
前言
今天是2020年一天,去年最後一個月開發了訂單和支付系統,尤其在支付系統和微信對接的時候遇到了很多坑,這裡給大家總結下,以免大家遇到相同的問題還浪費大量時間
微信支付前期準備
- 微信商戶號,需要
商戶號
,密碼
,退款時需要證書
,證書預設密碼是商戶號 - 微信app(如 微信小程式 或者 微信公眾號) 的appid和appsecret
需要在商戶中關聯微信小程式和微信公眾號,然後運營者確認。
至此微信支付前期工作完成Payment
封裝了微信 支付寶 銀聯等很多支付的SDK
git地址 https://github.com/Essensoft/Payment微信小程式使用h5嵌入完成微信支付
由於小程式發版審核周期長,我司採用h5嵌入的方式(webview)
實現很簡單,利用jssdk 從H5跳轉到小程式頁面,喚起支付,支付完成後,再跳轉回h5
1.獲取accesstoken
2.拿著accesstoken獲取票據(tickt)
都是兩小時有效,建議註入單例對象,每次get的時,攔截器中判斷過期時間即可
3.jssdk引入h5 需要先初始化 也就是wx.config 需要初始化成功才能使用他提供的功能
一直報簽名無效 這個問題耗費了我四天,整整四天啊。配合網上提供的那些解決方法,我這邊的問題是沒有對wx.config 中的URL 先進行encode 在後臺介面再進行decode ,在開發過程中無需到微信後臺配置任何https什麼的。
4.然後h5調用後臺介面進行預支付,成功後,wx.miniProgram.navigateTo({ url: path });
到原生小程式 發起wx.requestPayment
至此即可完成支付
微信公眾號
待更新