小程序調(diào)用微信支付的方法
本文實(shí)例為大家分享了小程序調(diào)用微信支付的具體代碼,供大家參考,具體內(nèi)容如下
首先調(diào)用小程序wx.login登錄接口 獲取用戶code
將code作為參數(shù) 傳給后端 調(diào)用后端接口wechat/pay/prepay
獲取后端 這五個(gè)返回值
nonceStr
package2
paySign
signType
timeStamp
wx.login({ success: function (res) { var userId = wx.getStorageSync('userId'); var passw = userId + orderId; console.log(passw) var password = util.sha1(passw); //console.log(res) //獲取用戶的code 微信返回的值 wx.request({ url: url + 'wechat/pay/prepay', method: "POST", header: { 'content-type': 'application/json', }, data: { code: res.code, //微信返的code userId: userId, //登錄注冊(cè)時(shí)后端返給我的 orderId: orderId, //用戶提交時(shí)后端返給我的工單號(hào) sign: password, //后端要求的serId + orderId加密 }, success: function (res) { // if (res.data.resultCode == "000000"){ nonceStr = res.data.data.nonceStr; package2 = res.data.data.package; paySign = res.data.data.paySign; signType = res.data.data.signType; timeStamp = res.data.data.timeStamp; that.pay2() // } console.log(res.data.data.nonceStr) console.log(res.data.data.package) console.log(res.data.data.paySign) console.log(res.data.data.signType) console.log(res.data.data.timeStamp) }, fail(err) { console.log(err) } }) }, fail(errs) { console.log(errs) } })
成功返回后,用戶點(diǎn)擊支付,調(diào)用微信支付接口wx.requestPayment:
后端設(shè)置好金額,用戶調(diào)用即可支付
pay2() { wx.requestPayment( { timeStamp: timeStamp, //時(shí)間戳 nonceStr: nonceStr, //隨機(jī)字符串 package: package2, //統(tǒng)一下單接口返回的 prepay_id 參數(shù)值 signType: signType, //簽名類(lèi)型 paySign: paySign, //簽名 success(res) { console.log(res) wx.navigateTo({ url: '../successful/successful' }) }, fail(res) { console.log(res) } }) },
最后我們的項(xiàng)目在調(diào)用微信wx.requestPayment 支付接口時(shí),在success成功函數(shù)里請(qǐng)求了我方后端接口,獲取狀態(tài)碼,判斷是否支付成功。因?yàn)橛脩糁Ц督o微信,成功之后,只有用戶能夠看到,我方后端是獲取不到是否支付成功的,請(qǐng)求這個(gè)接口就是這個(gè)目的。在微信請(qǐng)求支付成功之后,請(qǐng)求后端獲取返回值。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于div自適應(yīng)高度/左右高度自適應(yīng)一致的js代碼
在DIV和CSS進(jìn)行網(wǎng)頁(yè)布局中,DIV的自適應(yīng)高度和自適應(yīng)寬度是一個(gè)很常見(jiàn)的問(wèn)題,本文將介紹左右自適應(yīng)高度一致的Jquery與DIV高度自適應(yīng)屏幕的js2013-03-03JavaScript獲得當(dāng)前網(wǎng)頁(yè)來(lái)源頁(yè)面(即上一頁(yè))的方法
這篇文章主要介紹了JavaScript獲得當(dāng)前網(wǎng)頁(yè)來(lái)源頁(yè)面(即上一頁(yè))的方法,涉及javascript中document.referrer方法的使用技巧,需要的朋友可以參考下2015-04-04webpack file-loader和url-loader的區(qū)別
這篇文章主要介紹了webpack file-loader和url-loader的區(qū)別,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01javascript ready和load事件的區(qū)別示例介紹
ready是在DOM加載完成就觸發(fā);load是在加載完所有頁(yè)面內(nèi)容才會(huì)觸發(fā),下為大家簡(jiǎn)要介紹下,不知道的朋友可以參考下2013-08-08基于Web標(biāo)準(zhǔn)的UI組件 — 樹(shù)狀菜單(2)
基于Web標(biāo)準(zhǔn)的UI組件 — 樹(shù)狀菜單(2)...2006-09-09