...
|
...
|
@@ -60,7 +60,7 @@ const online = (req, res, next) => { |
|
|
});
|
|
|
res.render('pay-success', {
|
|
|
content: {
|
|
|
cost: order.payment_amount,
|
|
|
amount: order.payment_amount,
|
|
|
orderNum: order.order_code,
|
|
|
coin: coin,
|
|
|
orderHref: helpers.urlFormat('/me/order/detail', {
|
...
|
...
|
@@ -114,8 +114,9 @@ const toPay = (req, res, next) => { |
|
|
*/
|
|
|
const weixinQr = (req, res, next) => {
|
|
|
let code = req.query.code;
|
|
|
let url = req.query.url;
|
|
|
let qrcodeUrl = req.query.url;
|
|
|
let uid = req.user.uid;
|
|
|
let header = headerModel.setSimpleHeaderData() || {};
|
|
|
|
|
|
if (!integerTest.test(code)) {
|
|
|
// 不合法订单号
|
...
|
...
|
@@ -129,41 +130,54 @@ const weixinQr = (req, res, next) => { |
|
|
return {};
|
|
|
}
|
|
|
}).then(order => {
|
|
|
res.display('weixin-pay', {
|
|
|
defaultHeader: false,
|
|
|
bcNavFocus: 3,
|
|
|
res.render('weixin-pay', {
|
|
|
module: 'shopping',
|
|
|
page: 'wxpay',
|
|
|
title: '微信扫码支付页面',
|
|
|
code: code,
|
|
|
url: url,
|
|
|
simpleHeader: header,
|
|
|
choosePayUrl: helpers.urlFormat('/shopping/pay', {
|
|
|
order_code: order.order_code
|
|
|
}),
|
|
|
qrcodeUrl: qrcodeUrl,
|
|
|
order: order
|
|
|
});
|
|
|
}).catch(next);
|
|
|
};
|
|
|
|
|
|
const weixinPayState = (req, res) => {
|
|
|
let code = req.query.code;
|
|
|
let code = req.body.code;
|
|
|
let uid = req.user.uid;
|
|
|
|
|
|
if (!integerTest.test(code)) {
|
|
|
return res.json({});
|
|
|
}
|
|
|
|
|
|
PayData.orderDetail(uid, code).then(result => {
|
|
|
if (result && result.data && result.data.payment_status === 'Y') {
|
|
|
let data = {};
|
|
|
|
|
|
result = result && result.data || {};
|
|
|
if (result.is_cancel === 'Y') {
|
|
|
data = {
|
|
|
code: 401,
|
|
|
message: '订单已取消'
|
|
|
};
|
|
|
} else if (result.payment_status === 'Y') {
|
|
|
let payParams = {
|
|
|
orderCode: code,
|
|
|
totalFee: _.round(parseFloat(result.data.payment_amount), 2)
|
|
|
totalFee: _.round(parseFloat(result.payment_amount), 2)
|
|
|
};
|
|
|
|
|
|
res.json({
|
|
|
data = {
|
|
|
code: 200,
|
|
|
data: {
|
|
|
href: helpers.urlFormat('/shopping/pay/callback/wechat', Object.assign(payParams, {
|
|
|
sign: md5(paySign.raw(Object.assign({tradeStatus: 'Y'}, payParams)))
|
|
|
}))
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
return res.json({});
|
|
|
};
|
|
|
}
|
|
|
|
|
|
return res.json(data);
|
|
|
}).catch(() => {
|
|
|
return res.json({});
|
|
|
});
|
...
|
...
|
@@ -196,7 +210,7 @@ const callback = (req, res, next) => { |
|
|
}
|
|
|
});
|
|
|
|
|
|
res.display('pay-success', {
|
|
|
res.render('pay-success', {
|
|
|
defaultHeader: false,
|
|
|
bcNavFocus: 3,
|
|
|
content: {
|
...
|
...
|
@@ -210,7 +224,7 @@ const callback = (req, res, next) => { |
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
res.display('pay-fail', {
|
|
|
res.render('pay-fail', {
|
|
|
defaultHeader: false,
|
|
|
payName: result.payName,
|
|
|
bcNavFocus: 3
|
...
|
...
|
|