柚子快報激活碼778899分享:微信小程序 實現(xiàn)支付流程
柚子快報激活碼778899分享:微信小程序 實現(xiàn)支付流程
一、背景
開發(fā)微信小程序時,涉及到微信支付的開發(fā)環(huán)節(jié),特此記錄一下
二、前提
2.1、注冊微信支付商戶號
官方注冊地址??:接入微信支付 - 微信商戶平臺
備注:此商戶號為超級管理員,一般由更上級領(lǐng)導(dǎo)進(jìn)行注冊(? ?非前端人員注冊??),會成為公司收款賬戶,主要填寫超管信息并上傳企業(yè)資料(如:營業(yè)執(zhí)照,對公銀行賬戶信息,法人身份證)
2.2、小程序關(guān)聯(lián)商戶號
微信公眾平臺地址??:微信公眾平臺
已注冊的小程序,登錄微信公眾平臺,在左側(cè)功能項找到微信支付,選擇商戶號管理,將小程序與商戶號關(guān)聯(lián)
如果已經(jīng)關(guān)聯(lián)了,就會顯示已關(guān)聯(lián)的商戶號信息?
三、微信支付流程
3.1、微信官方支付流程圖
官網(wǎng)地址??:pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_4&index=3
說明:
1、小程序內(nèi)調(diào)用登錄接口,獲取到用戶的openid,api參見公共api【小程序登錄API】
2、商戶server調(diào)用支付統(tǒng)一下單,api參見公共api【統(tǒng)一下單API】
3、商戶server調(diào)用再次簽名,api參見公共api【再次簽名】
4、商戶server接收支付通知,api參見公共api【支付結(jié)果通知API】
5、商戶server查詢支付結(jié)果,如未收到支付通知的情況,商戶后臺系統(tǒng)可調(diào)用【查詢訂單API】 (查單實現(xiàn)可參考:支付回調(diào)和查單實現(xiàn)指引)
6、商戶小程序內(nèi)使用小程序調(diào)起支付API(wx.requestPayment)發(fā)起微信支付,詳見小程序API文檔
四、具體實現(xiàn)
4.1、獲取OpenID
OpenID是用戶唯一標(biāo)識,通過臨時登錄憑證 code 換取的(登錄憑證code,5分鐘有效期),通過code向后端接口獲取OpenID
備注:
getBindSocial()是封裝的api接口,將code傳遞給接口之后,會得到openid,unionid,phone等。如下圖?
4.2、調(diào)用預(yù)支付接口獲取支付核心數(shù)據(jù)
將獲取的openid與接口需要攜帶的參數(shù),調(diào)用接口,獲取支付核心數(shù)據(jù)
備注:
wx_advance_pay()是封裝的api接口,?openid在登錄的時候直接本地存儲在loginInfo對象中,參數(shù)wxOpenId是從本地存儲的loginInfo對象中獲取的openid,同時也包含接口需要攜帶的其他參數(shù);以下為接口返回的支付核心數(shù)據(jù),如下圖?
4.3、調(diào)用微信官方支付接口 wx.requestPayment(),彈出支付界面
微信支付接口地址??:wx.requestPayment(Object object) | 微信開放文檔
將?wx_advance_pay()接口返回的數(shù)據(jù)對象,作為wx.requestPayment()參數(shù)值,得到支付結(jié)果?
調(diào)用后,會彈出付款界面,微信開發(fā)者工具需要掃碼支付
如果是手機支付會彈出微信付款界面,支付完成后會收到賬單信息
4.4、微信支付流程總結(jié)
1、獲取OpenID:通過wx.login()獲得code,將code傳給接口獲得OpenID
2、獲取預(yù)支付核心數(shù)據(jù):調(diào)用預(yù)支付接口,將OpenID與接口需要攜帶的其他參數(shù),得到預(yù)支付核心數(shù)據(jù);
數(shù)據(jù)包含:【時間戳--timeStamp,隨機字符串--nonceStr,預(yù)支付id--package,簽名算法--signType,簽名--paySign】
3、發(fā)起微信支付:調(diào)用wx.requestPayment(),傳遞上一步獲取的5個預(yù)支付核心數(shù)據(jù),得到支付結(jié)果
最后,?? ??? ???????
柚子快報激活碼778899分享:微信小程序 實現(xiàn)支付流程
參考文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。