前言
今天是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
至此即可完成支付
微信公眾號
待更新
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/51453.html
標籤:其他
下一篇:動手造輪子:寫一個日志框架
