Authored by 郭成尧

alipay-ok

... ... @@ -8,7 +8,6 @@
const config = global.yoho.config;
const helpers = global.yoho.helpers;
const common = require('./common');
const sign = require('./sign');
const md5 = require('md5');
const logger = global.yoho.logger;
... ... @@ -17,29 +16,24 @@ const AlipayConfig = config.alipayConfig;
const Alipay = {
pay(user, order, param, protocol) {
let payParams = JSON.parse(param.payParams);
let extraParam = JSON.stringify({
sign_id_ext: user.uid,
defaultbank: param.bankCode || ''
});
let params = {
service: AlipayConfig.service,
partner: AlipayConfig.partner,
_input_charset: AlipayConfig.inputCharset,
notify_url: config.domains.service + 'payment/alipay_notify',
return_url: protocol + ':' + helpers.urlFormat('/shopping/pay/callback/alipay'),
return_url: protocol + ':' + helpers.urlFormat(AlipayConfig.returnUrl),
subject: '有货订单号:' + order.order_code,
out_trade_no: order.order_code,
it_b_pay: common.getPayExpireMin(order.pay_expire) + 'm',
total_fee: order.payment_amount,
it_b_pay: order.pay_expire,
total_fee: parseFloat(order.payment_amount),
seller_id: AlipayConfig.partner,
payment_type: '1',
seller_email: AlipayConfig.sellerMail,
extra_common_param: extraParam
show_url: protocol + ':' + helpers.urlFormat('/home/orderdetail', { order_code: order.order_code })
};
// TODO 防钓鱼配置,参考php
let signStr = md5(sign.raw(params) + payParams.merchant_key);
let signStr = md5(sign.raw(params) + AlipayConfig.alipayKey);
let body = sign.rawUncode(params) + '&sign=' + signStr + '&sign_type=MD5';
return {
... ...
... ... @@ -15,11 +15,13 @@ const common = {
let expireTime = moment(expire, 'YYYY-MM-DD HH:mm:ss');
let diff = expireTime.diff(moment());
if (diff > 0) {
return Math.floor(diff / 1000 / 60);
} else {
return 0;
}
return Math.floor(diff / 1000 / 60);
// if (diff > 0) {
// return Math.floor(diff / 1000 / 60);
// } else {
// return 0;
// }
} else {
return defaultValue;
... ...
... ... @@ -26,7 +26,7 @@ const Sign = {
}).sort();
return keys.map(k => {
return k.toLowerCase() + '=' + encodeURI(args[k]);
return k.toLowerCase() + '=' + args[k];
}).join('&');
}
};
... ...
... ... @@ -12,7 +12,6 @@ const Alipay = require('./pay/alipay');
const Alibank = require('./pay/alibank');
const Wechat = require('./pay/wechat');
const Promise = require('bluebird');
const common = require('./pay/common');
const co = Promise.coroutine;
const logger = global.yoho.logger;
... ... @@ -41,10 +40,10 @@ const Payment = {
return result;
}
if (order.pay_expire && common.getPayExpireMin(order.pay_expire) <= 0) {
result.message = '当前订单不可支付'; // 该订单已超过2个小时
return result;
}
// if (order.pay_expire && common.getPayExpireMin(order.pay_expire) <= 0) {
// result.message = '当前订单不可支付'; // 该订单已超过2个小时
// return result;
// }
let method = paymentPars[0] * 1;
... ...