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