這是微信的官方API文檔 微信API
微信支付的準(zhǔn)備工作
申請(qǐng)公眾號(hào),申請(qǐng)開通支付,這個(gè)很簡(jiǎn)單,自行百度
申請(qǐng)好之后 在微信公眾平臺(tái)頁(yè)面的“微信支付”頁(yè)面中的“開發(fā)配置”Tab上配置“支付授權(quán)目錄”,“測(cè)試授權(quán)目錄”,“測(cè)試白名單”
在微信公眾平臺(tái)頁(yè)面的“開發(fā)者中心”中找到“AppID(應(yīng)用ID)”和“AppSecret(應(yīng)用密鑰)”
在商戶平臺(tái)中找到微信支付分配的商戶號(hào),以及自己配置一個(gè)商戶支付密鑰
具體步驟
首先通過微信支付的api 獲得支付用的prepay_id,這里需要用到上面提到的“AppID(應(yīng)用ID)”,“AppSecret(應(yīng)用密鑰)”,“微信支付分配的商戶號(hào)”,“商戶支付密鑰”以及其他的一些參數(shù)(具體參照微信開發(fā)文檔)用MD5加密成簽名(第一次簽名)獲得prepay_id后,用prepay_id和一些其他參數(shù)(具體參照微信開發(fā)文檔)用MD5加密成簽名(第二次簽名)然后在前端通過微信內(nèi)置瀏覽器提供的js API,WeixinJSBridge.invoke來調(diào)用微信支付的彈出頁(yè)面,這里需要用到上面的第二次的簽名
具體代碼如下
幾個(gè)容易失敗點(diǎn)需要注意
支付鏈接和在開發(fā)平臺(tái)配置的鏈接不匹配
總共需要2次簽名,并且所需的參數(shù)是不同的,在JS中用到的簽名是第二次簽名,不要混淆參數(shù)傳遞的不能有錯(cuò)
如果body中有中文需要轉(zhuǎn)義其中還有一些問題沒有完全解決,就是位置支付沒有一個(gè)判斷失效的時(shí)間,如果在微信支付的彈出層停留時(shí)間太久了,可能這個(gè)訂單在我們網(wǎng)站上已經(jīng)失效了,可在微信支付中仍然能支付成功,如果有高人知道這個(gè)問題怎么解決的,希望能告訴解決辦法
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com