Showing
2 changed files
with
30 additions
and
57 deletions
@@ -24,11 +24,13 @@ const payCenter = (req, res, next) => { | @@ -24,11 +24,13 @@ const payCenter = (req, res, next) => { | ||
24 | let uid = req.user.uid; | 24 | let uid = req.user.uid; |
25 | let sessionKey = req.session.TOKEN; | 25 | let sessionKey = req.session.TOKEN; |
26 | 26 | ||
27 | - if (!orderCode || !uid || !sessionKey) { | 27 | + if (!orderCode || !uid) { |
28 | res.redirect('/'); | 28 | res.redirect('/'); |
29 | } | 29 | } |
30 | 30 | ||
31 | - sessionKey = sessionKey.substr(0, sessionKey.length - 8); | 31 | + if (sessionKey) { |
32 | + sessionKey = sessionKey.substr(0, sessionKey.length - 8); | ||
33 | + } | ||
32 | 34 | ||
33 | let headerData = headerModel.setNav({ | 35 | let headerData = headerModel.setNav({ |
34 | navTitle: '支付中心' | 36 | navTitle: '支付中心' |
@@ -59,12 +61,12 @@ const payCenter = (req, res, next) => { | @@ -59,12 +61,12 @@ const payCenter = (req, res, next) => { | ||
59 | * @param req | 61 | * @param req |
60 | * @param res | 62 | * @param res |
61 | */ | 63 | */ |
62 | -const goAlipay = (req, res) => { | 64 | +const goAlipay = (req, res, next) => { |
63 | let orderCode = req.query.order_code; | 65 | let orderCode = req.query.order_code; |
64 | let user = req.user; | 66 | let user = req.user; |
65 | let uid = req.user.uid; | 67 | let uid = req.user.uid; |
66 | let sessionKey = req.session.TOKEN; | 68 | let sessionKey = req.session.TOKEN; |
67 | - let paymentType = req.query.payment_type; | 69 | + let payment = req.query.payment; |
68 | 70 | ||
69 | if (!orderCode || !uid || !sessionKey) { | 71 | if (!orderCode || !uid || !sessionKey) { |
70 | res.redirect('/'); | 72 | res.redirect('/'); |
@@ -77,14 +79,14 @@ const goAlipay = (req, res) => { | @@ -77,14 +79,14 @@ const goAlipay = (req, res) => { | ||
77 | sessionKey: sessionKey | 79 | sessionKey: sessionKey |
78 | }); | 80 | }); |
79 | 81 | ||
80 | - if (!orderDetail) { | 82 | + if (!orderDetail || !orderDetail.data) { |
81 | return res.json({ | 83 | return res.json({ |
82 | code: 400, | 84 | code: 400, |
83 | msg: '没有找到该订单!' | 85 | msg: '没有找到该订单!' |
84 | }); | 86 | }); |
85 | } | 87 | } |
86 | 88 | ||
87 | - if (orderDetail.is_cancel === 'Y') { | 89 | + if (orderDetail.data.is_cancel === 'Y') { |
88 | let url = helpers.urlFormat('/home/orders/detail', { order_code: orderCode }); | 90 | let url = helpers.urlFormat('/home/orders/detail', { order_code: orderCode }); |
89 | 91 | ||
90 | return res.json({ | 92 | return res.json({ |
@@ -93,36 +95,13 @@ const goAlipay = (req, res) => { | @@ -93,36 +95,13 @@ const goAlipay = (req, res) => { | ||
93 | }).redirect(url); | 95 | }).redirect(url); |
94 | } | 96 | } |
95 | 97 | ||
96 | - /* TODO 要不搞点儿日志? */ | ||
97 | - yield payModel.savePrePayInfo({ | ||
98 | - uid: uid, | ||
99 | - orderCode: orderCode, | ||
100 | - payment: paymentType | ||
101 | - }); | ||
102 | - | ||
103 | - let payRequestPars = Payment.pay(user, orderDetail, paymentType, req.protocol); | ||
104 | - | ||
105 | - if (!payRequestPars) { | ||
106 | - return res.json({ | ||
107 | - code: 400, | ||
108 | - msg: '支付系统繁忙,请稍后再试' | ||
109 | - }); | ||
110 | - } | ||
111 | - | ||
112 | - let paymentRecod = yield payModel.updateOrderPayment({ | ||
113 | - orderCode: orderCode, | ||
114 | - payment: paymentType, | ||
115 | - uid: uid | ||
116 | - }); | ||
117 | - | ||
118 | - if (!paymentRecod) { | ||
119 | - return res.json({ | ||
120 | - code: 400, | ||
121 | - msg: '系统繁忙,请稍后再试' | ||
122 | - }); | ||
123 | - } | ||
124 | - | ||
125 | - return res.redirect(payRequestPars.pay_url + payRequestPars.pars); | 98 | + Payment.pay(user, orderDetail.data, payment, req.protocol).then(result => { |
99 | + if (result && result.data && result.data.href) { | ||
100 | + res.redirect(result.data.href); | ||
101 | + } else { | ||
102 | + res.redirect('/'); | ||
103 | + } | ||
104 | + }).catch(next); | ||
126 | })(); | 105 | })(); |
127 | }; | 106 | }; |
128 | 107 |
1 | /** | 1 | /** |
2 | - * 支付成功页 | 2 | + * 支付 |
3 | * @author: jing.li<jing.li@yoho.cn> | 3 | * @author: jing.li<jing.li@yoho.cn> |
4 | * @date: 2016/10/25 | 4 | * @date: 2016/10/25 |
5 | */ | 5 | */ |
@@ -16,6 +16,13 @@ const _ = require('lodash'); | @@ -16,6 +16,13 @@ const _ = require('lodash'); | ||
16 | const co = require('bluebird').coroutine; | 16 | const co = require('bluebird').coroutine; |
17 | const logger = global.yoho.logger; | 17 | const logger = global.yoho.logger; |
18 | 18 | ||
19 | +// 支付方式 | ||
20 | +const payments = { | ||
21 | + alipay: 33, | ||
22 | + wechat: 36, | ||
23 | + alibank: 42 | ||
24 | +}; | ||
25 | + | ||
19 | // 资源位 | 26 | // 资源位 |
20 | const _getBanner = (param) => { | 27 | const _getBanner = (param) => { |
21 | return serviceAPI.get('operations/api/v5/resource/get', { | 28 | return serviceAPI.get('operations/api/v5/resource/get', { |
@@ -87,22 +94,6 @@ const _getOthersBuy = (param) => { | @@ -87,22 +94,6 @@ const _getOthersBuy = (param) => { | ||
87 | }; | 94 | }; |
88 | 95 | ||
89 | /** | 96 | /** |
90 | - * 选择支付,校验时间间隔,插入数据 | ||
91 | - * @returns {*|Promise.<TResult>} | ||
92 | - * @private | ||
93 | - */ | ||
94 | -const savePrePayInfo = (params) => { | ||
95 | - return api.get('', { | ||
96 | - method: 'app.order.savePrePayInfo', | ||
97 | - uid: params.uid, | ||
98 | - orderCode: params.orderCode, | ||
99 | - payment: params.payment | ||
100 | - }, { code: 200 }).then(result => { | ||
101 | - return result && result.data; | ||
102 | - }); | ||
103 | -}; | ||
104 | - | ||
105 | -/** | ||
106 | * 获取订单支付银行信息 | 97 | * 获取订单支付银行信息 |
107 | * @param id | 98 | * @param id |
108 | */ | 99 | */ |
@@ -260,10 +251,13 @@ const payTool = { | @@ -260,10 +251,13 @@ const payTool = { | ||
260 | * 支持的支付方式列表 | 251 | * 支持的支付方式列表 |
261 | * @returns {[*,*]} | 252 | * @returns {[*,*]} |
262 | */ | 253 | */ |
263 | - payAppInfo() { | 254 | + payAppInfo(orderCode) { |
264 | return [{ | 255 | return [{ |
265 | appIcon: '', | 256 | appIcon: '', |
266 | - payLink: helpers.urlFormat('/shopping/pay/index'), | 257 | + payLink: helpers.urlFormat('/cart/index/new/pay/goalipay', { |
258 | + payment: payments.alipay + '_platform', | ||
259 | + order_code: orderCode | ||
260 | + }), | ||
267 | appId: 'alipay', | 261 | appId: 'alipay', |
268 | app: '支付宝支付', | 262 | app: '支付宝支付', |
269 | hint: '支付宝钱包支付', | 263 | hint: '支付宝钱包支付', |
@@ -310,7 +304,7 @@ const payCenter = (params) => { | @@ -310,7 +304,7 @@ const payCenter = (params) => { | ||
310 | let resultData = _.get(result, 'data', {}); | 304 | let resultData = _.get(result, 'data', {}); |
311 | 305 | ||
312 | return { | 306 | return { |
313 | - payAppInfo: payTool.payAppInfo(), | 307 | + payAppInfo: payTool.payAppInfo(params.orderCode), |
314 | orderCode: params.orderCode, | 308 | orderCode: params.orderCode, |
315 | hasWxShare: true, | 309 | hasWxShare: true, |
316 | orderTotal: resultData.payment_amount || 0, | 310 | orderTotal: resultData.payment_amount || 0, |
@@ -394,8 +388,8 @@ const getPayAli = (param) => { | @@ -394,8 +388,8 @@ const getPayAli = (param) => { | ||
394 | }; | 388 | }; |
395 | 389 | ||
396 | module.exports = { | 390 | module.exports = { |
391 | + payments, | ||
397 | getOtherDetail: _getOtherDetail, | 392 | getOtherDetail: _getOtherDetail, |
398 | - savePrePayInfo, | ||
399 | updateOrderPayment, | 393 | updateOrderPayment, |
400 | updateOrderPayBank, | 394 | updateOrderPayBank, |
401 | getBankByOrder, | 395 | getBankByOrder, |
-
Please register or login to post a comment