// 支付调用
open_fees(item) {
const _that = this
// 调用微信支付
wx.login({
success: (res) => {
// 调用OpenId
_that.$apiService.getOpenIdUrl({
jsCode: res.code
}, _that.ACCESS_TOKEN).then(res => {
// 总金额转换
let totalPrice = item.totalPrice * 100
// MD5加密处理
let sign = this.$md5.md5(
`body=${item.packName}&out_trade_no=${item.orderNo}&total_fee${totalPrice}&openId=${res.result.openid}&key=xigma@2021`
)
let params = {
out_trade_no: item.orderNo,
body: item.packName,
total_fee: totalPrice,
openId: res.result.openid,
sign: sign
}
_that.$apiService.postUnifiedorderUrl(params, this.ACCESS_TOKEN).then(
res => {
// 时间戳
let time = Date.parse(new Date()); //1603009257000,精确到秒
// 时间戳转字符串
let timeStamp = String(time)
let prepay_id = 'prepay_id=' + res.result.prepay_id
// md5二次签名
let paySign = md5.hexMD5('appId=' + _that.appID +
'&nonceStr=' + res.result.nonce_str + '&package=' +
prepay_id + '&signType=MD5&timeStamp=' + timeStamp +
"&key=nxxgm951357nxxgm9513571234567890").toUpperCase();
// 微信支付弹框调用
wx.requestPayment({
appid: _that.appID,
timeStamp: timeStamp,
nonceStr: res.result.nonce_str,
package: 'prepay_id=' + res.result.prepay_id,
signType: 'MD5',
paySign: paySign,
success(res) {
console.log('调用成功')
},
fail(res) {
console.log('调用失败')
}
})
});
})
}
})
},