微信支付的前期準備:
- 小程序的appId和密鑰(小程序配置界面)
- 商戶號和api密鑰(商家後臺自己設置)
整理支付的邏輯:
- 在微信小程序端調用支付前,先組裝支付的金額給後臺發送請求,後臺需要調用微信API統一下單
- 微信統一下單成功後,微信返回支付的5個參數
- 拿到5個參數,方可在小程序端調用wx.requestPayment(),在此微信彈出支付填寫密碼的界面
- 用戶支付成功,微信發起支付成功通知,後臺接受通知整理支付成功邏輯
微信退款邏輯:
- 用戶主動發起退款,拿到訂單信息,退款理由(可選)
- 調用退款接口
- 退款成功後,微信發起退款成功回調,整理退款後的邏輯
微信js代碼:
//支付
goPay() {
var that = this;
var order_id = that.data.orderres.order_id;
wx.login({
success(res) {
if (res.code) {
wx.request({
url: 'https://sslxxxxxxxxxxxxxxx/GoPay.html',
data: {
code: res.code,
order_id: order_id,
},
header: {
'content-type': 'application/json' // 默認值
},
method: 'GET',
dataType: 'json',
responseType: 'text',
success: function (res) {
//接受的5個參數,調用這個方法成功,微信就會彈出輸入密碼的界面
wx.requestPayment({
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.package,
signType: res.data.signType,
paySign: res.data.paySign,
success(res) {
//支付成功,可做一些邏輯判斷
},
fail(res) {
//支付失敗,可做一些邏輯判斷
}
})
},
fail: function (res) { },
complete: function (res) { },
})
} else {
console.log('獲取code失敗' + res.errMsg)
}
}
})
},