Authored by 郝肖肖

支付页添加进度条

... ... @@ -57,6 +57,7 @@ const online = (req, res, next) => {
module: 'shopping',
page: 'pay',
title: '支付页面',
bcNavFocus: 3,
username: req.user.username
}, result));
} else {
... ... @@ -208,6 +209,7 @@ const callback = (req, res, next) => {
} else {
res.display('pay-fail', {
defaultHeader: false,
payName: result.payName,
bcNavFocus: 3
});
}
... ...
... ... @@ -10,6 +10,7 @@ const config = global.yoho.config;
const helpers = global.yoho.helpers;
const common = require('./common');
const sign = require('./sign');
const payHelpersBank = require('../bank');
const md5 = require('md5');
const logger = global.yoho.logger;
... ... @@ -51,20 +52,23 @@ const Alibank = {
},
notify(data, param) {
let payParams = JSON.parse(param.payParams);
let outTradeNos = data.out_trade_no && data.out_trade_no.split('_');
let orderCode = parseInt(outTradeNos[0], 10);
let bankName = outTradeNos[1] && payHelpersBank.getList()[outTradeNos[1]].name || '';
logger.info(`Alipay notify, params = ${JSON.stringify(data)}`);
if (!this.checkNotify(data, payParams)) {
return {payResult: -1};
return {payResult: -1, bankName: bankName};
} else {
return {
bankName: '',
orderCode: data.out_trade_no,
bankName: bankName,
orderCode: orderCode,
payResult: data.trade_status === 'TRADE_SUCCESS' ? 200 : 400,
payTime: data.gmt_payment || '',
totalFee: data.total_fee,
resultMsg: data.notify_type,
payOrderCode: data.out_trade_no,
payOrderCode: orderCode,
tradeNo: data.trade_no,
bankBillNo: ''
};
... ...
... ... @@ -56,14 +56,16 @@ const Alipay = {
if (!this.checkNotify(data, payParams)) {
return {payResult: -1};
} else {
let orderCode = parseInt(data.out_trade_no, 10);
return {
bankName: '',
orderCode: data.out_trade_no,
orderCode: orderCode,
payResult: data.trade_status === 'TRADE_SUCCESS' ? 200 : 400,
payTime: data.gmt_payment || '',
totalFee: data.total_fee,
resultMsg: data.notify_type,
payOrderCode: data.out_trade_no,
payOrderCode: orderCode,
tradeNo: data.trade_no,
bankBillNo: ''
};
... ...
... ... @@ -121,6 +121,8 @@ const Payment = {
return co(function*() {
let payInfo = yield PayData.getPaymentInfo(payId);
let payResult = {};
let payData = {};
let payName = '';
if (payId === PayData.payments.alipay) {
payResult = Alipay.notify(query, payInfo);
... ... @@ -128,7 +130,7 @@ const Payment = {
payResult = Alibank.notify(query, payInfo);
}
payResult.bankName = payResult.bankName || payInfo.payName || '';
payResult.bankName = payName = payResult.bankName || payInfo.payName || '';
payResult.bankCode = payResult.bankCode || payInfo.pay_code || '';
if (payResult && payResult.payResult === 200) {
... ... @@ -137,13 +139,17 @@ const Payment = {
yield PayData.sendPayConfirm(payResult.orderCode, payId, user.uid);
}
return yield PayData.procOrderData(payResult, user.uid);
payData = yield PayData.procOrderData(payResult, user.uid);
} else {
return {
payData = {
code: 500,
message: '支付失败'
};
}
payData.payName = payName;
return payData;
})();
}
};
... ...
/**
* Created by TaoHuang on 2016/7/18.
*/
'use strict';
const Bank = {
getList: () => {
return {
{
id: 12,
name: '中国银行',
value: 'BOCB2C',
ico: '//static.yohobuy.com/images/pay/icon/zhongguo.png'
},
{
id: 12,
name: '中国农业银行',
value: 'ABC',
ico: '//static.yohobuy.com/images/pay/icon/nongye.png'
},
{
id: 12,
name: '平安银行',
value: 'SPABANK',
ico: '//static.yohobuy.com/images/pay/icon/pingan.png'
},
{
id: 12,
name: '中国民生银行',
value: 'CMBC',
ico: '//static.yohobuy.com/images/pay/icon/minsheng.png'
},
{
id: 12,
name: '中国工商银行',
value: 'ICBCB2C',
ico: '//static.yohobuy.com/images/pay/icon/gongshang.png'
},
{
id: 12,
name: '浦发银行',
value: 'SPDB',
ico: '//static.yohobuy.com/images/pay/icon/pufa.png'
},
{
id: 12,
name: '北京农商银行',
value: 'BJRCB',
ico: '//static.yohobuy.com/images/pay/icon/beijingnongshang.png'
},
{
id: 12,
name: '杭州银行',
value: 'HZCBB2C',
ico: '//static.yohobuy.com/images/pay/icon/hangzhou.png'
},
{
id: 12,
name: '招商银行',
value: 'CMB',
ico: '//static.yohobuy.com/images/pay/icon/zhaoshang.png'
},
{
id: 12,
name: '兴业银行',
value: 'CIB',
ico: '//static.yohobuy.com/images/pay/icon/xingye.png'
},
{
id: 12,
name: '富滇银行',
value: 'FDB',
ico: '//static.yohobuy.com/images/pay/icon/fudian.png'
},
{
id: 12,
name: '中国光大银行',
value: 'CEBDEBIT',
ico: '//static.yohobuy.com/images/pay/icon/guangda.png'
},
{
id: 12,
name: '中国建设银行',
value: 'CCB',
ico: '//static.yohobuy.com/images/pay/icon/zhongguojianshe.png'
},
{
id: 12,
name: '广发银行',
value: 'GDB',
ico: '//static.yohobuy.com/images/pay/icon/guangfa.png'
},
{
id: 12,
name: '中国邮政储蓄',
value: 'POSTGC',
ico: '//static.yohobuy.com/images/pay/icon/zhongguoyouzhengchuxu.png'
},
{
id: 12,
name: '上海银行',
value: 'SHBANK',
ico: '//static.yohobuy.com/images/pay/icon/shanghai.png'
},
{
id: 12,
name: '宁波银行',
value: 'NBBANK',
ico: '//static.yohobuy.com/images/pay/icon/ningbo.png'
}
};
}
};
module.exports = Bank;
{{> settle-header}}
<div class="center-content pay-online-wrapper">
{{> bc-nav}}
{{# order}}
<div class="title">
<div class="content">
... ...
{{> settle-header}}
<div class="center-content pay-online-wrapper">
{{> bc-nav}}
{{# order}}
<div class="title">
<div class="content">
... ...
... ... @@ -46,7 +46,7 @@
z-index: 2;
font-weight: bold;
font-size: 14px;
line-height: 32px;
line-height: 35px;
a {
color: #fff;
... ...