小程序調(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, //簽名類型
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)文章
Sample script that displays all of the users in a given SQL
Sample script that displays all of the users in a given SQL Server DB...2007-06-06
JavaScript解決浮點(diǎn)數(shù)計(jì)算不準(zhǔn)確問(wèn)題的方法分析
這篇文章主要介紹了JavaScript解決浮點(diǎn)數(shù)計(jì)算不準(zhǔn)確問(wèn)題的方法,結(jié)合實(shí)例形式分析了javascript浮點(diǎn)數(shù)運(yùn)算精度誤差的原因以及相關(guān)的解決方法與具體操作技巧,需要的朋友可以參考下2018-07-07
cocos2dx骨骼動(dòng)畫(huà)Armature源碼剖析(一)
cocos2dx中的骨骼動(dòng)畫(huà)在程序中使用非常方便,從編輯器(cocostudio或flash插件dragonBones)得到xml或json數(shù)據(jù),調(diào)用代碼就可以直接展示出動(dòng)畫(huà)效果,下面通過(guò)本篇文章給大家分享cocos2dx骨骼動(dòng)畫(huà)Armature源碼剖析,需要的朋友一起來(lái)學(xué)習(xí)吧。2015-09-09
微信 java 實(shí)現(xiàn)js-sdk 圖片上傳下載完整流程
這篇文章主要介紹了微信 java 實(shí)現(xiàn)js-sdk 圖片上傳下載完整流程的相關(guān)資料,需要的朋友可以參考下2016-10-10
ff chrome和ie下全局動(dòng)態(tài)定位的異同及全局高度的取法
這篇文章主要介紹了ff chrome和ie下全局動(dòng)態(tài)定位的異同及全局高度的取法,需要的朋友可以參考下2014-06-06
JavaScript實(shí)現(xiàn)仿網(wǎng)易通行證表單驗(yàn)證
這篇文章主要介紹了JavaScript實(shí)現(xiàn)仿網(wǎng)易通行證表單驗(yàn)證,十分的實(shí)用,有需要的小伙伴可以參考下。2015-05-05
csdn 博客中實(shí)現(xiàn)運(yùn)行代碼功能實(shí)現(xiàn)
有時(shí)候因?yàn)閏sdn的博客經(jīng)常處理一些字符,導(dǎo)致代碼很多情況下,都不能正常運(yùn)行,給大家的閱讀帶來(lái)了麻煩,下面是腳本之家編輯簡(jiǎn)單的整理下。2009-08-08
Javascript 自適應(yīng)高度的Tab選項(xiàng)卡
選項(xiàng)卡的原理其實(shí)比較簡(jiǎn)單,就是設(shè)置2種狀態(tài),選中和未選中的2中不同CSS狀態(tài),因此也有直接不用JS之用css就能實(shí)現(xiàn)的效果2011-04-04

