Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
fc8f48e3
Commit
fc8f48e3
authored
Sep 20, 2020
by
宋毅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改回调
parent
d9b29635
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
98 additions
and
53 deletions
+98
-53
center-channel/app/base/api/impl/payment/paymentApi.js
+3
-3
center-channel/app/base/service/impl/utilsSve/utilsOrderSve.js
+71
-15
center-channel/app/front/entry/public/apidoc/paymentDesc/payment.md
+24
-35
No files found.
center-channel/app/base/api/impl/payment/paymentApi.js
View file @
fc8f48e3
...
...
@@ -39,9 +39,9 @@ class PaymentAPI extends WEBBase {
case
"queryOrderStatus"
:
//通联支付查询
opResult
=
await
this
.
utilsOrderSve
.
queryOrderStatus
(
pobj
,
pobj
.
actionBody
);
break
;
case
"getQrCode"
:
//获取pc端支付二维码--不跟订单关联
opResult
=
await
this
.
utilsOrderSve
.
getQrCode
(
pobj
,
pobj
.
actionBody
);
break
;
//
case "getQrCode"://获取pc端支付二维码--不跟订单关联
//
opResult = await this.utilsOrderSve.getQrCode(pobj, pobj.actionBody);
//
break;
case
"queryOrder"
:
//通联支付查询
opResult
=
await
this
.
utilsOrderSve
.
queryOrder
(
pobj
,
pobj
.
actionBody
);
break
;
...
...
center-channel/app/base/service/impl/utilsSve/utilsOrderSve.js
View file @
fc8f48e3
...
...
@@ -291,27 +291,83 @@ class UtilsOrderService extends AppServiceBase {
if
(
payStatus
.
data
&&
payStatus
.
data
.
trxstatus
==
"0000"
)
{
//TODO:处理支付成功的业务逻辑
// payStatus.data.client_ip = obj.client_ip || "";
// let attachList = [];
// if (payStatus.data.reqsn.indexOf("_") >= 0) {
// attachList = payStatus.data.reqsn.split("_");
// }
// 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'
)
// this.opPayStatusSuccess
// return system.getResultFail(-100130,'订单已支付,请勿重复付款,100130')
return
system
.
getResultSuccess
(
payStatus
.
data
,
'订单已支付,请勿重复付款,100130'
);
}
else
if
(
payStatus
.
data
&&
payStatus
.
data
.
trxstatus
==
"3045"
)
{
return
system
.
getResultFail
(
-
100170
,
"超时未支付,请刷新页面,100170"
);
}
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端支付二维码--不跟订单关联
* @param {*} pobj
...
...
center-channel/app/front/entry/public/apidoc/paymentDesc/payment.md
View file @
fc8f48e3
<a
name=
"menu"
href=
"/doc"
>
返回主目录
</a>
1.
[
获取pc端支付二维码--不跟订单关联
](
#getQrCode
)
1.
[
pc端订单支付二维码生成
](
#getOrderQrCode
)
1.
[
pc端查询订单是否支付成功
](
#getOrderQrCode
)
1.
[
获取H5支付链接
](
#getH5PayUrl
)
## **<a name="getQrCode"> 获取pc端支付二维码--不跟订单关联</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/payment/paymentApi/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:getQrCode
```
javascript
{
"uapp_id"
:
"1"
,
//平台渠道ID
"order_num"
:
"1"
,
//支付单号
"total_fee"
:
"1"
,
//支付金额 分
"body_desc"
:
"1"
,
//产品名称
"opType"
:
"1"
,
// 支付方式 alipay阿里 wx微信
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
//0 成功 小于0 失败
"msg"
:
"SUCCESS"
,
"data"
:
{
"payinfo"
:
"https://syb.allinpay.com/apiweb/h5unionpay/native?key=l6lfPuHDErJrTW%2FN7WxSlg4n"
,
//二维码url
"reqsn"
:
"dfghrtjjn_1"
,
////商户订单号_appid
"chnltrxid"
:
"112094120001042656"
,
// 支付渠道交易单号,如支付宝,微信平台的交易单号
"trxid"
:
"112094120001042656"
,
// 交易单号,平台的交易流水号
"trxstatus"
:
"0000"
// 交易状态,0000:交易成功、1001:交易不存在、
},
"requestId"
:
"058244807fff4ab388bbda79afc04b28"
}
```
## **<a name="getOrderQrCode"> pc端订单支付二维码生成</a>**
[
返回到目录
](
#menu
)
##### URL
...
...
@@ -71,6 +37,29 @@
}
```
## **<a name="queryOrderStatus"> pc端查询订单是否支付成功</a>**
[
返回到目录
](
#menu
)
##### URL
[
/web/payment/paymentApi/springBoard
]
#### 参数格式 `JSON`
#### HTTP请求方式 `POST`
#### 渠道执行的类型 actionType:queryOrderStatus
```
javascript
{
"orderNo"
:
"TM22202008042050Pmex"
,
//订单号
"opType"
:
"wx"
// 支付方式 alipay阿里 wx微信
}
```
#### 返回结果
```
javascript
{
"status"
:
0
,
// 0为成功,否则失败
"msg"
:
"success"
,
"data"
:
null
,
"requestId"
:
"07dedd4ffd4441dcac54c6d8a0f91653"
}
```
## **<a name="getH5PayUrl"> 获取H5支付链接</a>**
[
返回到目录
](
#menu
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment