Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
youjj
cloud-platform
Commits
4825e909
Commit
4825e909
authored
Oct 28, 2019
by
周健威
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master-alipay-change' into master-alipay-change
parents
c3f1bd97
5ae9e655
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
20 deletions
+24
-20
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+18
-18
OrderRefundBiz.java
.../java/com/xxfc/platform/universal/biz/OrderRefundBiz.java
+6
-2
No files found.
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
4825e909
...
@@ -113,7 +113,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
...
@@ -113,7 +113,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
jsParam
=
WXPay
.
apppay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
0
);
jsParam
=
WXPay
.
apppay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
0
);
}
else
if
(
type
==
1
&&
payWay
==
2
)
{
}
else
if
(
type
==
1
&&
payWay
==
2
)
{
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
orderPayVo
.
setPayType
(
1
);
orderPayVo
.
setPayType
(
2
);
jsParam
=
generateAliPayment
(
orderPayVo
,
notifyUrl
);
jsParam
=
generateAliPayment
(
orderPayVo
,
notifyUrl
);
}
else
if
(
type
==
3
&&
payWay
==
1
){
}
else
if
(
type
==
3
&&
payWay
==
1
){
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
...
@@ -347,15 +347,15 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
...
@@ -347,15 +347,15 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
}
//解冻预授权
//解冻预授权
public
String
fundAuthOrderUnFreeze
(
OrderPayVo
orderPayVo
,
String
notifyUrl
)
throws
AlipayApiException
{
public
String
fundAuthOrderUnFreeze
(
String
outTradeNo
,
String
serialNumber
,
Integer
refundAmount
,
String
refundReason
,
String
notifyUrl
)
throws
AlipayApiException
{
AlipayClient
alipayClient
=
getAlipayClient
();
AlipayClient
alipayClient
=
getAlipayClient
();
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
()
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
BigDecimal
realAmount
=
new
BigDecimal
(
refundAmount
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
AlipayFundAuthOrderUnfreezeRequest
request
=
new
AlipayFundAuthOrderUnfreezeRequest
();
AlipayFundAuthOrderUnfreezeRequest
request
=
new
AlipayFundAuthOrderUnfreezeRequest
();
AlipayFundAuthOrderUnfreezeModel
model
=
new
AlipayFundAuthOrderUnfreezeModel
();
AlipayFundAuthOrderUnfreezeModel
model
=
new
AlipayFundAuthOrderUnfreezeModel
();
model
.
setAuthNo
(
orderPayVo
.
getTradeNo
()
);
// 支付宝资金授权订单号,在授权冻结成功时返回需要入库保存
model
.
setAuthNo
(
serialNumber
);
// 支付宝资金授权订单号,在授权冻结成功时返回需要入库保存
model
.
setOutRequestNo
(
o
rderPayVo
.
getOrderNo
()
);
//同一商户每次不同的资金操作请求,商户请求流水号不能重复,且与冻结流水号不同
model
.
setOutRequestNo
(
o
utTradeNo
);
//同一商户每次不同的资金操作请求,商户请求流水号不能重复,且与冻结流水号不同
model
.
setAmount
(
realAmount
.
toString
());
// 本次操作解冻的金额,单位为:元(人民币),精确到小数点后两位
model
.
setAmount
(
realAmount
.
toString
());
// 本次操作解冻的金额,单位为:元(人民币),精确到小数点后两位
model
.
setRemark
(
orderPayVo
.
getBody
()
);
// 商户对本次解冻操作的附言描述,长度不超过100个字母或50个汉字
model
.
setRemark
(
refundReason
);
// 商户对本次解冻操作的附言描述,长度不超过100个字母或50个汉字
//选填字段,信用授权订单,针对信用全免订单,传入该值完结信用订单,形成芝麻履约记录
//选填字段,信用授权订单,针对信用全免订单,传入该值完结信用订单,形成芝麻履约记录
// model.setExtraParam("{\"unfreezeBizInfo\":\"{\\\"bizComplete\\\":\\\"true\\\"}\"}");
// model.setExtraParam("{\"unfreezeBizInfo\":\"{\\\"bizComplete\\\":\\\"true\\\"}\"}");
request
.
setBizModel
(
model
);
request
.
setBizModel
(
model
);
...
@@ -373,15 +373,15 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
...
@@ -373,15 +373,15 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
}
//取消预授权
//取消预授权
public
String
fundAuthCancel
(
OrderPayVo
orderPayVo
,
String
notifyUrl
)
throws
AlipayApiException
{
public
String
fundAuthCancel
(
String
outTradeNo
,
String
serialNumber
,
String
refundReason
,
String
notifyUrl
)
throws
AlipayApiException
{
AlipayClient
alipayClient
=
getAlipayClient
();
AlipayClient
alipayClient
=
getAlipayClient
();
AlipayFundAuthOperationCancelRequest
request
=
new
AlipayFundAuthOperationCancelRequest
();
AlipayFundAuthOperationCancelRequest
request
=
new
AlipayFundAuthOperationCancelRequest
();
AlipayFundAuthOperationCancelModel
model
=
new
AlipayFundAuthOperationCancelModel
();
AlipayFundAuthOperationCancelModel
model
=
new
AlipayFundAuthOperationCancelModel
();
model
.
setAuthNo
(
o
rderPayVo
.
getSerialNumber
()
);
// 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
model
.
setAuthNo
(
o
utTradeNo
);
// 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
model
.
setOutOrderNo
(
orderPayVo
.
getOrderNo
());
//商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空
//
model.setOutOrderNo(orderPayVo.getOrderNo()); //商户的授权资金订单号,与支付宝的授权资金订单号不能同时为空
//model.setOperationId("20171201317348823902"); //支付宝的授权资金操作流水号
//model.setOperationId("20171201317348823902"); //支付宝的授权资金操作流水号
model
.
setOutRequestNo
(
orderPayVo
.
getTradeNo
()
);
//与支付宝的授权资金操作流水号不能同时为空,与冻结流水号相同
model
.
setOutRequestNo
(
serialNumber
);
//与支付宝的授权资金操作流水号不能同时为空,与冻结流水号相同
model
.
setRemark
(
orderPayVo
.
getBody
()
);
// 商户对本次撤销操作的附言描述,长度不超过100个字母或50个汉字
model
.
setRemark
(
refundReason
);
// 商户对本次撤销操作的附言描述,长度不超过100个字母或50个汉字
request
.
setBizModel
(
model
);
request
.
setBizModel
(
model
);
request
.
setNotifyUrl
(
notifyUrl
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
request
.
setNotifyUrl
(
notifyUrl
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
...
@@ -398,19 +398,19 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
...
@@ -398,19 +398,19 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
}
}
//预授权转支付
//预授权转支付
public
void
tradePay
(
OrderPayVo
orderPayVo
,
String
notifyUrl
)
throws
AlipayApiException
{
public
void
tradePay
(
String
outTradeNo
,
String
serialNumber
,
Integer
refundAmount
,
String
refundReason
,
String
subject
,
String
notifyUrl
)
throws
AlipayApiException
{
AlipayClient
alipayClient
=
getAlipayClient
();
AlipayClient
alipayClient
=
getAlipayClient
();
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
()
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
BigDecimal
realAmount
=
new
BigDecimal
(
refundAmount
.
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
AlipayTradePayRequest
request
=
new
AlipayTradePayRequest
();
AlipayTradePayRequest
request
=
new
AlipayTradePayRequest
();
AlipayTradePayModel
model
=
new
AlipayTradePayModel
();
AlipayTradePayModel
model
=
new
AlipayTradePayModel
();
model
.
setOutTradeNo
(
o
rderPayVo
.
getOrderNo
()
);
// 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
model
.
setOutTradeNo
(
o
utTradeNo
);
// 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
model
.
setProductCode
(
"PRE_AUTH_ONLINE"
);
// 固定值PRE_AUTH_ONLINE
model
.
setProductCode
(
"PRE_AUTH_ONLINE"
);
// 固定值PRE_AUTH_ONLINE
model
.
setAuthNo
(
orderPayVo
.
getTradeNo
()
);
// 填写预授权冻结交易号
model
.
setAuthNo
(
serialNumber
);
// 填写预授权冻结交易号
model
.
setSubject
(
orderPayVo
.
getSubject
()
);
// 解冻转支付标题,用于展示在支付宝账单中
model
.
setSubject
(
subject
);
// 解冻转支付标题,用于展示在支付宝账单中
model
.
setTotalAmount
(
realAmount
.
toString
());
// 结算支付金额
model
.
setTotalAmount
(
realAmount
.
toString
());
// 结算支付金额
model
.
setSellerId
(
SystemConfig
.
ALIPAY_PID
);
// 填写卖家支付宝账户pid
model
.
setSellerId
(
SystemConfig
.
ALIPAY_PID
);
// 填写卖家支付宝账户pid
model
.
setBuyerId
(
SystemConfig
.
ALIPAY_APPID
);
// 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取
model
.
setBuyerId
(
SystemConfig
.
ALIPAY_APPID
);
// 填写预授权用户uid,通过预授权冻结接口返回的payer_user_id字段获取
model
.
setBody
(
orderPayVo
.
getBody
()
);
// 可填写备注信息
model
.
setBody
(
refundReason
);
// 可填写备注信息
//如果需要从一笔授权中完成多笔订单支付,保持auth_no不变,不同订单根据outTradeNo进行标识,此时auth_confirm_mode不传或者传入NOT_COMPLETE;进行到最后一笔转支付时,auth_confirm_mode传入COMPLETE由支付宝完成剩余金额自动解冻,或者商户自行调用解冻接口将剩余金额解冻。
//如果需要从一笔授权中完成多笔订单支付,保持auth_no不变,不同订单根据outTradeNo进行标识,此时auth_confirm_mode不传或者传入NOT_COMPLETE;进行到最后一笔转支付时,auth_confirm_mode传入COMPLETE由支付宝完成剩余金额自动解冻,或者商户自行调用解冻接口将剩余金额解冻。
model
.
setAuthConfirmMode
(
"NOT_COMPLETE"
);
//传入该值用户剩余金额不会自动解冻
model
.
setAuthConfirmMode
(
"NOT_COMPLETE"
);
//传入该值用户剩余金额不会自动解冻
request
.
setBizModel
(
model
);
request
.
setBizModel
(
model
);
...
@@ -472,7 +472,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
...
@@ -472,7 +472,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper, OrderPay> {
orderPayVo
.
setAmount
(
3
);
orderPayVo
.
setAmount
(
3
);
orderPayVo
.
setBody
(
"扣除租车订单费用"
);
orderPayVo
.
setBody
(
"扣除租车订单费用"
);
orderPayVo
.
setSubject
(
"租车订单交易费用"
);
orderPayVo
.
setSubject
(
"租车订单交易费用"
);
orderPayBiz
.
fundAuthOrderUnFreeze
(
orderPayVo
,
""
);
//
orderPayBiz.fundAuthOrderUnFreeze(orderPayVo, "");
//orderPayBiz.alipayOrderRefund("20191024153859000003","2019102422001421530513773694", 2, "xxxx", "");
//orderPayBiz.alipayOrderRefund("20191024153859000003","2019102422001421530513773694", 2, "xxxx", "");
//orderPayBiz.tradePay(orderPayVo, "");
//orderPayBiz.tradePay(orderPayVo, "");
//orderPayBiz.fundAuthCancel(orderPayVo, "");
//orderPayBiz.fundAuthCancel(orderPayVo, "");
...
...
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderRefundBiz.java
View file @
4825e909
...
@@ -89,8 +89,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
...
@@ -89,8 +89,12 @@ public class OrderRefundBiz extends BaseBiz<OrderRefundMapper, OrderRefund> {
OrderPay
orderPay
=
list
.
get
(
0
);
OrderPay
orderPay
=
list
.
get
(
0
);
String
out_trade_no
=
orderPay
.
getTradeNo
();
String
out_trade_no
=
orderPay
.
getTradeNo
();
boolean
flag
=
false
;
boolean
flag
=
false
;
if
(
orderPay
.
getPayWay
()
==
2
)
{
if
(
orderPay
.
getPayWay
()
==
2
&&
orderPay
.
getPayType
()
==
1
)
{
log
.
info
(
"======支付宝退款中==========="
);
log
.
info
(
"======支付宝APP支付退款中==========="
);
flag
=
payBiz
.
alipayOrderRefund
(
out_trade_no
,
orderPay
.
getSerialNumber
(),
refundAmount
,
refundDesc
,
out_trade_no
+
System
.
currentTimeMillis
());
}
else
if
(
orderPay
.
getPayWay
()
==
2
&&
orderPay
.
getPayType
()
==
2
)
{
log
.
info
(
"======支付宝预授权支付退款中==========="
);
//需要根据实际传过来的参数类型来进行解冻或者预授权转支付
flag
=
payBiz
.
alipayOrderRefund
(
out_trade_no
,
orderPay
.
getSerialNumber
(),
refundAmount
,
refundDesc
,
out_trade_no
+
System
.
currentTimeMillis
());
flag
=
payBiz
.
alipayOrderRefund
(
out_trade_no
,
orderPay
.
getSerialNumber
(),
refundAmount
,
refundDesc
,
out_trade_no
+
System
.
currentTimeMillis
());
}
else
if
(
orderPay
.
getPayWay
()
==
1
){
}
else
if
(
orderPay
.
getPayWay
()
==
1
){
log
.
info
(
"======微信退款中==========="
);
log
.
info
(
"======微信退款中==========="
);
...
...
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