Commit 2b77854a by linboxuan

alipayNotify

parent a06524d8
...@@ -570,98 +570,99 @@ class UtilsOrderService extends AppServiceBase { ...@@ -570,98 +570,99 @@ class UtilsOrderService extends AppServiceBase {
async aliPayNotify(parmas, client_ip) { // 支付宝回调 async aliPayNotify(parmas, client_ip) { // 支付宝回调
try { try {
console.log("支付宝回调参数信息--------------------start") console.log("支付宝回调参数信息--------------------start")
console.log(JSON.stringify(parmas))
console.log(typeof(parmas)) console.log(typeof(parmas))
console.log(parmas.toString()) console.log(parmas.toString())
console.log("支付宝回调参数信息--------------------end") console.log("支付宝回调参数信息--------------------end")
//日志记录 // //日志记录
this.logCtl.info({
optitle: (new Date()).Format("yyyy-MM-dd hh:mm:ss") + "支付宝回调参数信息",
op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify",
// content: JSON.stringify(parmas),
content: parmas.toString(),
clientIp: client_ip || ""
});
if (!parmas.trade_status) {
return system.getResult(null, "trade_status参数不能为空,100470");
}
if (parmas.trade_status != "TRADE_FINISHED" && parmas.trade_status != "TRADE_SUCCESS") {
return system.getResult(null, "trade_status状态有误,100473");
}
console.log("parmas.trade_status 校验通过--------------")
// 2020 0621 支付宝验签接口
var url = "https://yf-api.gongsibao.com/pay/v1/checkAliPaySign";
let params = {
"app": "ukgc", //应用名称 固定
"key": "a1519e2eab53dfb909e4c32a86b2ea2b", //应用 key 固定
"tData" : parmas
}
var sign = JSON.stringify(params);
// sign += "ab53dfb909e4c32a"
sign += this.paySecret
sign = md5(sign).toUpperCase()
params.sign = sign
// let res = await axios.post(url, params)
// this.logCtl.info({ // this.logCtl.info({
// optitle: (new Date()).Format("yyyy-MM-dd hh:mm:ss") + "支付宝回调参数验签结果", // optitle: (new Date()).Format("yyyy-MM-dd hh:mm:ss") + "支付宝回调参数信息",
// op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify", // op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify",
// content: JSON.stringify(res), // content: JSON.stringify(parmas),
// clientIp: client_ip || "" // // content: parmas.toString(),
// clientIp: client_ip || ""
// }); // });
// if (res.status != 0) { // if (!parmas.trade_status) {
// res.msg = res.msg + ",100480"; // return system.getResult(null, "trade_status参数不能为空,100470");
// return res;
// } // }
// 模拟验签结果 // if (parmas.trade_status != "TRADE_FINISHED" && parmas.trade_status != "TRADE_SUCCESS") {
var outTradeInfo = parmas.out_trade_no.split('-'); // return system.getResult(null, "trade_status状态有误,100473");
console.log("模拟验签结果--------------",outTradeInfo) // }
// // console.log("parmas.trade_status 校验通过--------------")
var opResult = {} // // 2020 0621 支付宝验签接口
opResult.data = { // var url = "https://yf-api.gongsibao.com/pay/v1/checkAliPaySign";
orderNo: outTradeInfo[0], // let params = {
uappId: Number(outTradeInfo[1]), // "app": "ukgc", //应用名称 固定
productId: outTradeInfo.length == 3 ? Number(outTradeInfo[2]) : 0 // "key": "a1519e2eab53dfb909e4c32a86b2ea2b", //应用 key 固定
} // "tData" : parmas
// 拿锁 // }
var locker = await this.cacheManager["TlPayLocker"].enter(opResult.data.orderNo); // var sign = JSON.stringify(params);
console.log("拿锁结果",locker) // // sign += "ab53dfb909e4c32a"
if (!locker || locker != "1") { // sign += this.paySecret
this.logCtl.info({ // sign = md5(sign).toUpperCase()
appid: opResult.data.uappId, // params.sign = sign
appkey: "", // // let res = await axios.post(url, params)
op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify", // // this.logCtl.info({
content: "参数=" + JSON.stringify(parmas), // // optitle: (new Date()).Format("yyyy-MM-dd hh:mm:ss") + "支付宝回调参数验签结果",
clientIp: parmas.client_ip || "", // // op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify",
optitle: "阿里回调操作频繁---太频繁了,太频繁了" // // content: JSON.stringify(res),
}); // // clientIp: client_ip || ""
return system.getResultFail(-200, "阿里回调操作频繁---太频繁了,太频繁了"); // // });
} // // if (res.status != 0) {
parmas.appInfo = { appInfo: { uapp_id: opResult.data.uappId } }; // // res.msg = res.msg + ",100480";
parmas.orderNo = opResult.data.orderNo; // // return res;
parmas.pay_type = "alipay"; // // }
//修改并返回订单支付状态,创建收款单 // // 模拟验签结果
// 这里修改了order_info的状态(status/paytime等) // var outTradeInfo = parmas.out_trade_no.split('-');
var url = this.centerOrderUrl + "opaction/opPayOrder/receivePayCallBackNotifyByAliDing"; // console.log("模拟验签结果--------------",outTradeInfo)
var opOrderResult = await this.restPostUrl(parmas, url); // //
if (opOrderResult.status != 0) { // var opResult = {}
opOrderResult.data = null; // opResult.data = {
return opOrderResult; // orderNo: outTradeInfo[0],
} // uappId: Number(outTradeInfo[1]),
opOrderResult.data.appInfo = { // productId: outTradeInfo.length == 3 ? Number(outTradeInfo[2]) : 0
uapp_id: opResult.data.uappId // }
}; // // 拿锁
opOrderResult.data.userInfo = { // var locker = await this.cacheManager["TlPayLocker"].enter(opResult.data.orderNo);
channel_userid: opOrderResult.data.order_info.channelUserId, // console.log("拿锁结果",locker)
channel_username: opOrderResult.data.order_info.channelUserId, // if (!locker || locker != "1") {
channel_nickname: opOrderResult.data.order_info.channelUserId // this.logCtl.info({
}; // appid: opResult.data.uappId,
opOrderResult.data.orderNo = opResult.data.orderNo; // appkey: "",
var pobj = { // op: "service/impl/utilsSve/utilsOrderSve.js/aliPayNotify",
appInfo: opOrderResult.data.appInfo, // content: "参数=" + JSON.stringify(parmas),
actionBody: opOrderResult.data // clientIp: parmas.client_ip || "",
} // optitle: "阿里回调操作频繁---太频繁了,太频繁了"
this.utilsPushSve.pushBusInfo(pobj, "createAliTmApply", 1); // });
opOrderResult.data = null; // return system.getResultFail(-200, "阿里回调操作频繁---太频繁了,太频繁了");
return opOrderResult; // }
// parmas.appInfo = { appInfo: { uapp_id: opResult.data.uappId } };
// parmas.orderNo = opResult.data.orderNo;
// parmas.pay_type = "alipay";
// //修改并返回订单支付状态,创建收款单
// // 这里修改了order_info的状态(status/paytime等)
// var url = this.centerOrderUrl + "opaction/opPayOrder/receivePayCallBackNotifyByAliDing";
// var opOrderResult = await this.restPostUrl(parmas, url);
// if (opOrderResult.status != 0) {
// opOrderResult.data = null;
// return opOrderResult;
// }
// opOrderResult.data.appInfo = {
// uapp_id: opResult.data.uappId
// };
// opOrderResult.data.userInfo = {
// channel_userid: opOrderResult.data.order_info.channelUserId,
// channel_username: opOrderResult.data.order_info.channelUserId,
// channel_nickname: opOrderResult.data.order_info.channelUserId
// };
// opOrderResult.data.orderNo = opResult.data.orderNo;
// var pobj = {
// appInfo: opOrderResult.data.appInfo,
// actionBody: opOrderResult.data
// }
// this.utilsPushSve.pushBusInfo(pobj, "createAliTmApply", 1);
// opOrderResult.data = null;
// return opOrderResult;
} catch (e) { } catch (e) {
await this.cacheManager["TlPayLocker"].release(parmas.out_trade_no); await this.cacheManager["TlPayLocker"].release(parmas.out_trade_no);
this.logCtl.error({ this.logCtl.error({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment