Commit fc8f48e3 by 宋毅

修改回调

parent d9b29635
...@@ -39,9 +39,9 @@ class PaymentAPI extends WEBBase { ...@@ -39,9 +39,9 @@ class PaymentAPI extends WEBBase {
case "queryOrderStatus"://通联支付查询 case "queryOrderStatus"://通联支付查询
opResult = await this.utilsOrderSve.queryOrderStatus(pobj, pobj.actionBody); opResult = await this.utilsOrderSve.queryOrderStatus(pobj, pobj.actionBody);
break; break;
case "getQrCode"://获取pc端支付二维码--不跟订单关联 // case "getQrCode"://获取pc端支付二维码--不跟订单关联
opResult = await this.utilsOrderSve.getQrCode(pobj, pobj.actionBody); // opResult = await this.utilsOrderSve.getQrCode(pobj, pobj.actionBody);
break; // break;
case "queryOrder"://通联支付查询 case "queryOrder"://通联支付查询
opResult = await this.utilsOrderSve.queryOrder(pobj, pobj.actionBody); opResult = await this.utilsOrderSve.queryOrder(pobj, pobj.actionBody);
break; break;
......
...@@ -291,27 +291,83 @@ class UtilsOrderService extends AppServiceBase { ...@@ -291,27 +291,83 @@ class UtilsOrderService extends AppServiceBase {
if (payStatus.data && payStatus.data.trxstatus == "0000") { if (payStatus.data && payStatus.data.trxstatus == "0000") {
//TODO:处理支付成功的业务逻辑 //TODO:处理支付成功的业务逻辑
// payStatus.data.client_ip = obj.client_ip || ""; // this.opPayStatusSuccess
// let attachList = [];
// if (payStatus.data.reqsn.indexOf("_") >= 0) { // return system.getResultFail(-100130,'订单已支付,请勿重复付款,100130')
// attachList = payStatus.data.reqsn.split("_"); return system.getResultSuccess(payStatus.data,'订单已支付,请勿重复付款,100130');
// }
// else {
// attachList.push(payStatus.data.reqsn);
// }
// if (attachList.length != 2) {
// return { -120, msg: "reqsn参数错误,没有_标识" };
// }
// payStatus.data.out_trade_no = attachList[0];
// payStatus.data.company_id = attachList[1];
// return await this.utilstlbankSve.opBackNotify(payStatus.data, "页面回调");
return system.getResultFail(-100130,'订单已支付,请勿重复付款,100130')
} }
else if (payStatus.data && payStatus.data.trxstatus == "3045") { else if (payStatus.data && payStatus.data.trxstatus == "3045") {
return system.getResultFail(-100170, "超时未支付,请刷新页面,100170"); return system.getResultFail(-100170, "超时未支付,请刷新页面,100170");
} }
return system.getResultFail(-100180, "请及时支付,100180"); return system.getResultFail(-100180, "请及时支付,100180");
} }
async opPayStatusSuccess(parmas, client_ip) { //操作回调业务逻辑---查询支付状态为已支付时进行调用
try {
//日志记录
this.logCtl.info({
optitle: (new Date()).Format("yyyy-MM-dd hh:mm:ss") + "回调处理订单参数:,method=opPayStatusSuccess",
op: "service/impl/utilsSve/utilsOrderSve.js/opPayStatusSuccess",
content: JSON.stringify(parmas),
clientIp: client_ip || ""
});
//获取充值业务锁
// await this.cacheManager["TlPayLocker"].init(receiptVoucher.sourceOrderNo);//---测试时放开
var locker = await this.cacheManager["TlPayLocker"].enter(receiptVoucher.sourceOrderNo);
if (!locker || locker != "1") {
this.logCtl.info({
appid: appInfo.uapp_id,
appkey: appInfo.uapp_key,
op: "service/impl/utilsSve/utilsOrderSve.js/opPayStatusSuccess",
content: "参数=" + JSON.stringify(parmas),
clientIp: parmas.client_ip || "",
optitle: "通联回调操作频繁---太频繁了,太频繁了"
});
return system.getResultFail(-200, "回调操作频繁---太频繁了,太频繁了");
}
if (parmas.trxcode == "VSP501") {
parmas.pay_type = "wx";
} else {
parmas.pay_type = "alipay";
}
parmas.appInfo = appInfo;
parmas.orderNo = parmas.out_trade_no;
//修改并返回订单支付状态,创建收款单
var url = this.centerOrderUrl + "opaction/opPayOrder/receivePayCallBackNotify";
var opResult = await this.restPostUrl(parmas, url);
if (opResult.status == 0) {
opResult.data.appInfo = {
uapp_id: appInfo.uapp_id,
uapp_key: appInfo.uapp_key,
app_code: appInfo.app_code,
app_name: appInfo.app_name
};
opResult.data.userInfo = {
channel_userid: opResult.data.order_info.channelUserId,
channel_username: opResult.data.order_info.channelUserId,
channel_nickname: opResult.data.order_info.channelUserId
};
var pobj = {
appInfo: opResult.data.appInfo,
actionBody: opResult.data
}
// this.utilsPushSve.pushBusInfo(opResult.data, "pushOrderBusiness",0);
this.utilsPushSve.pushBusInfo(pobj, "pushOrder", 0);
}
opResult.data = null;
return opResult;
} catch (e) {
await this.cacheManager["TlPayLocker"].release(parmas.out_trade_no);
this.logCtl.error({
optitle: "回调处理订单---error异常",
op: "center-app/app/base/service/impl/utilsSve/utilstlbankSve.js/opBackNotify",
content: "参数=" + JSON.stringify(parmas) + ",error:" + e.stack,
clientIp: client_ip || ""
});
return system.getResultFail(-200, e.stack);
}
}
/** /**
* 获取pc端支付二维码--不跟订单关联 * 获取pc端支付二维码--不跟订单关联
* @param {*} pobj * @param {*} pobj
......
<a name="menu" href="/doc">返回主目录</a> <a name="menu" href="/doc">返回主目录</a>
1. [获取pc端支付二维码--不跟订单关联](#getQrCode)
1. [pc端订单支付二维码生成](#getOrderQrCode) 1. [pc端订单支付二维码生成](#getOrderQrCode)
1. [pc端查询订单是否支付成功](#getOrderQrCode)
1. [获取H5支付链接](#getH5PayUrl) 1. [获取H5支付链接](#getH5PayUrl)
## **<a name="getQrCode"> 获取pc端支付二维码--不跟订单关联</a>** ## **<a name="getOrderQrCode"> pc端订单支付二维码生成</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
[/web/payment/paymentApi/springBoard] [/web/payment/paymentApi/springBoard]
#### 参数格式 `JSON` #### 参数格式 `JSON`
#### HTTP请求方式 `POST` #### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:getQrCode #### 渠道执行的类型 actionType:getOrderQrCode
``` javascript ``` javascript
{ {
"uapp_id": "1", //平台渠道ID "orderNo": "TM22202008042050Pmex",//订单号
"order_num": "1", //支付单号 "opType": "wx"// 支付方式  alipay阿里  wx微信
"total_fee": "1",   //支付金额  分
"body_desc": "1",    //产品名称
"opType": "1", // 支付方式  alipay阿里  wx微信
} }
``` ```
#### 返回结果 #### 返回结果
```javascript ``` javascript
{ {
"status": 0,  //0 成功 小于0  失败 "status": 0,
"msg": "SUCCESS", "msg": "success",
"data": { "data": {
"payinfo": "https://syb.allinpay.com/apiweb/h5unionpay/native?key=l6lfPuHDErJrTW%2FN7WxSlg4n", //二维码url "payinfo": "https://syb.allinpay.com/apiweb/h5unionpay/native?key=BMFvrMDcrqzLnJ04YV%2B02uX0",
"reqsn": "dfghrtjjn_1",  ////商户订单号_appid "reqsn": "qftTM22202008042050Pmex_22",
"chnltrxid": "112094120001042656", // 支付渠道交易单号,如支付宝,微信平台的交易单号 "chnltrxid": "122005790000133940",
"trxid": "112094120001042656",  // 交易单号,平台的交易流水号 "trxid": "122005790000133940",
"trxstatus": "0000"   // 交易状态,0000:交易成功、1001:交易不存在、 "trxstatus": "0000",
"notify_url": "https://igirl.gongsibao.com/api/tl/zxNotify"
}, },
"requestId": "058244807fff4ab388bbda79afc04b28" "requestId": "07dedd4ffd4441dcac54c6d8a0f91653",
  } "wxPayOrderCode": "122005790000133596",
"aliPayOrderCode": "TM22202008042050Pmex"
}
``` ```
## **<a name="queryOrderStatus"> pc端查询订单是否支付成功</a>**
## **<a name="getOrderQrCode"> pc端订单支付二维码生成</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
[/web/payment/paymentApi/springBoard] [/web/payment/paymentApi/springBoard]
#### 参数格式 `JSON` #### 参数格式 `JSON`
#### HTTP请求方式 `POST` #### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:getOrderQrCode #### 渠道执行的类型 actionType:queryOrderStatus
``` javascript ``` javascript
{ {
"orderNo": "TM22202008042050Pmex",//订单号 "orderNo": "TM22202008042050Pmex",//订单号
...@@ -55,23 +54,13 @@ ...@@ -55,23 +54,13 @@
#### 返回结果 #### 返回结果
``` javascript ``` javascript
{ {
"status": 0, "status": 0,// 0为成功,否则失败
"msg": "success", "msg": "success",
"data": { "data": null,
"payinfo": "https://syb.allinpay.com/apiweb/h5unionpay/native?key=BMFvrMDcrqzLnJ04YV%2B02uX0", "requestId": "07dedd4ffd4441dcac54c6d8a0f91653"
"reqsn": "qftTM22202008042050Pmex_22",
"chnltrxid": "122005790000133940",
"trxid": "122005790000133940",
"trxstatus": "0000",
"notify_url": "https://igirl.gongsibao.com/api/tl/zxNotify"
},
"requestId": "07dedd4ffd4441dcac54c6d8a0f91653",
"wxPayOrderCode": "122005790000133596",
"aliPayOrderCode": "TM22202008042050Pmex"
} }
``` ```
## **<a name="getH5PayUrl"> 获取H5支付链接</a>** ## **<a name="getH5PayUrl"> 获取H5支付链接</a>**
[返回到目录](#menu) [返回到目录](#menu)
##### URL ##### URL
......
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