小程序調用微信支付的方法
本文實例為大家分享了小程序調用微信支付的具體代碼,供大家參考,具體內容如下
首先調用小程序wx.login登錄接口 獲取用戶code
將code作為參數(shù) 傳給后端 調用后端接口wechat/pay/prepay
獲取后端 這五個返回值
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, //登錄注冊時后端返給我的
orderId: orderId, //用戶提交時后端返給我的工單號
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)
}
})
成功返回后,用戶點擊支付,調用微信支付接口wx.requestPayment:
后端設置好金額,用戶調用即可支付
pay2() {
wx.requestPayment(
{
timeStamp: timeStamp, //時間戳
nonceStr: nonceStr, //隨機字符串
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)
}
})
},
最后我們的項目在調用微信wx.requestPayment 支付接口時,在success成功函數(shù)里請求了我方后端接口,獲取狀態(tài)碼,判斷是否支付成功。因為用戶支付給微信,成功之后,只有用戶能夠看到,我方后端是獲取不到是否支付成功的,請求這個接口就是這個目的。在微信請求支付成功之后,請求后端獲取返回值。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
webpack file-loader和url-loader的區(qū)別
這篇文章主要介紹了webpack file-loader和url-loader的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01
javascript ready和load事件的區(qū)別示例介紹
ready是在DOM加載完成就觸發(fā);load是在加載完所有頁面內容才會觸發(fā),下為大家簡要介紹下,不知道的朋友可以參考下2013-08-08

