70 lines
1.7 KiB
JavaScript
70 lines
1.7 KiB
JavaScript
|
|
const WXAPI = require('apifm-wxapi')
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* type: order 支付订单 recharge 充值 paybill 优惠买单
|
|||
|
|
* data: 扩展数据对象,用于保存参数
|
|||
|
|
*/
|
|||
|
|
function wxpay(type, money, orderId, redirectUrl, data) {
|
|||
|
|
const postData = {
|
|||
|
|
token: wx.getStorageSync('token'),
|
|||
|
|
money: money,
|
|||
|
|
remark: "在线充值",
|
|||
|
|
}
|
|||
|
|
if (type === 'order') {
|
|||
|
|
postData.remark = "支付订单 :" + orderId;
|
|||
|
|
postData.nextAction = {
|
|||
|
|
type: 0,
|
|||
|
|
id: orderId
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
if (type === 'paybill') {
|
|||
|
|
postData.remark = "优惠买单 :" + data.money;
|
|||
|
|
postData.nextAction = {
|
|||
|
|
type: 4,
|
|||
|
|
uid: wx.getStorageSync('uid'),
|
|||
|
|
money: data.money
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
postData.payName = postData.remark;
|
|||
|
|
if (postData.nextAction) {
|
|||
|
|
postData.nextAction = JSON.stringify(postData.nextAction);
|
|||
|
|
}
|
|||
|
|
WXAPI.wxpay(postData).then(function (res) {
|
|||
|
|
if (res.code == 0) {
|
|||
|
|
// 发起支付
|
|||
|
|
wx.requestPayment({
|
|||
|
|
timeStamp: res.data.timeStamp,
|
|||
|
|
nonceStr: res.data.nonceStr,
|
|||
|
|
package: 'prepay_id=' + res.data.prepayId,
|
|||
|
|
signType: 'MD5',
|
|||
|
|
paySign: res.data.sign,
|
|||
|
|
fail: function (aaa) {
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '支付失败:' + aaa
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
success: function () {
|
|||
|
|
// 保存 formid
|
|||
|
|
WXAPI.addTempleMsgFormid(wx.getStorageSync('token'), 'pay', res.data.prepayId)
|
|||
|
|
// 提示支付成功
|
|||
|
|
wx.showToast({
|
|||
|
|
title: '支付成功'
|
|||
|
|
})
|
|||
|
|
wx.redirectTo({
|
|||
|
|
url: redirectUrl
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
} else {
|
|||
|
|
wx.showModal({
|
|||
|
|
title: '出错了',
|
|||
|
|
content: JSON.stringify(res),
|
|||
|
|
showCancel: false
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
module.exports = {
|
|||
|
|
wxpay: wxpay
|
|||
|
|
}
|