隨著小程序的推出,微信也開(kāi)放了小程序的支付功能,而小程序文檔里關(guān)于微信支付接口只有一個(gè)requestPayment函數(shù)的描述。requestPayment函數(shù)的確是微信小程序前端唯一需要調(diào)用到的函數(shù),但想實(shí)現(xiàn)小程序接入微信支付功能遠(yuǎn)不止一個(gè)函數(shù),對(duì)于沒(méi)有做過(guò)接入微信支付的開(kāi)發(fā)者,會(huì)覺(jué)得無(wú)從下手。
在小程序中接入支付功能首先要申請(qǐng)微信支付,小程序認(rèn)證以后,可以在小程序后臺(tái),微信支付菜單欄,申請(qǐng)微信支付。
填寫(xiě)企業(yè)信息和對(duì)公賬戶,微信支付會(huì)打一筆隨機(jī)金額到對(duì)公賬戶,輸入金額完成驗(yàn)證后,在線簽署遷移,即完成了微信支付的申請(qǐng)流程.。
微信支付申請(qǐng)完,會(huì)發(fā)送微信支付商戶號(hào),商戶平臺(tái)用戶名密碼等信息到注冊(cè)者郵箱。配置小程序密鑰,小程序后臺(tái)設(shè)置頁(yè),點(diǎn)擊生成,管理員驗(yàn)證二維碼后,會(huì)隨機(jī)生成AppSecret。請(qǐng)妥善保管好Appsecret,不要明文存儲(chǔ)于服務(wù)器,AppSecret用于和微信服務(wù)器交互。比如獲取用戶的openid接口就需要用到。
設(shè)置密鑰和下載證書(shū),用申請(qǐng)微信支付獲得的用戶名和密碼,登錄商戶平臺(tái)在賬戶中心,API安全中下載證書(shū)和設(shè)置密鑰。密鑰是32位,設(shè)置以后需要妥善保管,因?yàn)闊o(wú)法查看密鑰,所有微信支付相關(guān)的接口都會(huì)使用這個(gè)密鑰加密。
配置Https服務(wù)器,小程序的前端是使用微信提供的框架開(kāi)發(fā),但是后臺(tái)依然是開(kāi)發(fā)者自己的服務(wù)器。小程序發(fā)起的是https請(qǐng)求,意味著小程序開(kāi)發(fā)者必須配置https服務(wù)器。
配置https服務(wù)器之前,先要獲取證書(shū),證書(shū)可以向相關(guān)機(jī)構(gòu)購(gòu)買(mǎi),騰訊云目前可以向用戶提供免費(fèi)的證書(shū)。微信支付有多種支付方式,包括刷卡支付,公眾號(hào)支付,掃碼支付,APP支付。小程序是在微信里調(diào)起支付的,其實(shí)是公眾號(hào)支付。開(kāi)發(fā)者首先需要大概了解這些接口。
關(guān)于openid
上述流程中請(qǐng)求openid,用的是小程序最新api中的接口,開(kāi)發(fā)者可以查看小程序的登錄接口。開(kāi)發(fā)者從第三方服務(wù)器獲得的openid,在統(tǒng)一下單的接口里面需要使用到。
小程序調(diào)起微信支付
上述流程中的小程序調(diào)起微信支付,用的是小程序微信支付接口wx.requestPayment,該接口的詳細(xì)描述可以查看小程序的微信支付API。
這個(gè)接口中的package和timeStamp參數(shù)是從開(kāi)發(fā)者的第三方服務(wù)器返回的,package是第三方服務(wù)器從統(tǒng)一下單接口回復(fù)中獲得。
接口中其他的參數(shù),appId,noceStr,signType以及paySign則由小程序這邊存儲(chǔ)或者計(jì)算而得,其中paySign是簽名。整個(gè)公眾號(hào)支付的主要流程基本都是在第三方服務(wù)器上實(shí)現(xiàn),開(kāi)發(fā)者需要熟讀公眾號(hào)支付文檔,了解消息交互流程以及每個(gè)接口。
這里并沒(méi)有描述正常微信支付必不可少的一些功能:異常處理,查詢訂單,發(fā)起退款,下載對(duì)賬單等等。
無(wú)論是支付功能還是小程序的誕生,微信都在以它的方式方便著也改變著人們的生活?,F(xiàn)在在我們身邊隨處可見(jiàn)的是,各類(lèi)小程序在用戶微信列表中記錄,其中不乏能實(shí)現(xiàn)交易的實(shí)用工具類(lèi)小程序。
專(zhuān)業(yè)微信營(yíng)銷(xiāo)顧問(wèn)
“Hi~ 感謝關(guān)注廣力云
如果您想要深入合作請(qǐng)聯(lián)系客服!
微信號(hào):13332948893” 咨詢電話:13332948893
添加客服微信