欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

用Java怎么實現(xiàn)微信支付

錢良釵2年前21瀏覽0評論

用Java怎么實現(xiàn)微信支付?

技術棧Spring bootjavaXML (微信在http協(xié)議中數據傳輸方案)MD5 簽名微信支付術語openid (OpenID是公眾號一對一對應用戶身份的標識)app_id (公眾號id,登錄微信公眾號–開發(fā)–基本配置中獲得;)key (收款商戶后臺進行配置,登錄微信商戶平臺–賬戶中心–API安全-設置秘鑰,設置32位key值;)mch_id (收款商家商戶號;)certPath (API證書, 登錄微信商戶平臺–賬戶中心-API安全-下載證書)后端流程

服務端需要的核心操作, 總共分為以下幾步:

統(tǒng)一下單前端調起微信支付必要參數 (需加密)訂單結果主動通知 (回調接口)查詢訂單結果結束訂單支付接口(關閉訂單,支付訂單關閉)代碼

微信總共支持多種語言的sdk, 在官網可以下載例子, java程序也可以引入微信支付的sdk包, 但是github上的sdk已經很久沒有更新了, 最好的選擇, 也是我的選擇, 在官網上下載sdk項目, 將其中所有java類copy到自己的項目中.

官網sdk下載目錄鏈接: 商戶平臺首頁

微信sdk下載根據微信sdk生成配置類 WXPayConfig

創(chuàng)建IWxPayConfig.class, 繼承sdk WXPayConfig.class, 實現(xiàn)sdk中部分抽象方法, 讀取本地證書, 加載到配置類中.package core.com.chidori.wxpay;

發(fā)起統(tǒng)一下單 AND 前端調起微信支付必要參數回調結果處理

核心是支付訂單回調時, 需校驗加密簽名是否匹配, 防止出現(xiàn)模擬成功通知

注意點

統(tǒng)一下單的簽名和后續(xù)前端拉取微信支付的簽名需要統(tǒng)一, 也就是都采用MD5加密, 如果2者不同, 會導致前端拉取微信支付fail, 這是一個巨大的坑, 因為這個原因調試了好久, 微信在文檔里沒有明確標出統(tǒng)一下單的簽名校驗方式 需要和前端拉取微信支付的簽名校驗保持一致.微信sdk里的源碼需要針對這個問題調整一下, 調整如下:WXPay類需要修改下加密判斷,在WXPay構造方法中,調整如下

結束語

做完以后, 微信支付的后端邏輯還是很清晰的, 但是在開發(fā)過程中很煎熬, 不清楚每個專業(yè)術語在微信哪里配置, 加密方式亂的很

java標志,用Java怎么實現(xiàn)微信支付