java開發(fā)公眾號要注意什么,搞 Java 最重要的是什么?毫不夸張地說,掌握和了解用Java怎么實現(xiàn)微信支付???,基本就能走遍天下都不怕了!
1.用Java怎么實現(xiàn)微信支付?
技術(shù)棧Spring (微信在http協(xié)議中數(shù)據(jù)傳輸方案)MD5 簽名微信支付術(shù)語openid (OpenID是公眾號一對一對應(yīng)用戶身份的標(biāo)識)app_id (公眾號id,登錄微信公眾號–開發(fā)–基本配置中獲得;)key (收款商戶后臺進行配置,登錄微信商戶平臺–賬戶中心–API安全-設(shè)置秘鑰,設(shè)置32位key值;)mch_id (收款商家商戶號;)certPath (API證書, 登錄微信商戶平臺–賬戶中心-API安全-下載證書)后端流程服務(wù)端需要的核心操作, 總共分為以下幾步:統(tǒng)一下單前端調(diào)起微信支付必要參數(shù) (需加密)訂單結(jié)果主動通知 (回調(diào)接口)查詢訂單結(jié)果結(jié)束訂單支付接口(關(guān)閉訂單,支付訂單關(guān)閉)代碼微信總共支持多種語言的sdk, 在官網(wǎng)可以下載例子, java程序也可以引入微信支付的sdk包, 但是github上的sdk已經(jīng)很久沒有更新了, *的選擇, 也是我的選擇, 在官網(wǎng)上下載sdk項目, 將其中所有java類copy到自己的項目中.官網(wǎng)sdk下載目錄鏈接: 商戶平臺首頁微信sdk下載根據(jù)微信sdk生成配置類 創(chuàng)建.class, 繼承sdk .class, 實現(xiàn)sdk中部分抽象方法, 讀取本地證書, 加載到配置類中.package core.com.chidori.wxpay;發(fā)起統(tǒng)一下單 AND 前端調(diào)起微信支付必要參數(shù)回調(diào)結(jié)果處理核心是支付訂單回調(diào)時, 需校驗加密簽名是否匹配, 防止出現(xiàn)模擬成功通知注意點統(tǒng)一下單的簽名和后續(xù)前端拉取微信支付的簽名需要統(tǒng)一, 也就是都采用MD5加密, 如果2者不同, 會導(dǎo)致前端拉取微信支付fail, 這是一個巨大的坑, 因為這個原因調(diào)試了好久, 微信在文檔里沒有明確標(biāo)出統(tǒng)一下單的簽名校驗方式 需要和前端拉取微信支付的簽名校驗保持一致.微信sdk里的源碼需要針對這個問題調(diào)整一下, 調(diào)整如下:WXPay類需要修改下加密判斷,在WXPay構(gòu)造方法中,調(diào)整如下結(jié)束語做完以后, 微信支付的后端邏輯還是很清晰的, 但是在開發(fā)過程中很煎熬, 不清楚每個專業(yè)術(shù)語在微信哪里配置, 加密方式亂的很
雖說掌握和了解了用Java怎么實現(xiàn)微信支付???,能走遍天下,但也要不斷去學(xué)習(xí)新的知識,更多的Java知識,請聯(lián)系客服獲取。