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
7e68f61e
Commit
7e68f61e
authored
Aug 02, 2019
by
jiaorz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改支付宝支付方式
parent
93838835
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
115 additions
and
113 deletions
+115
-113
OrderPayBiz.java
...ain/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
+115
-113
No files found.
xx-universal/xx-universal-server/src/main/java/com/xxfc/platform/universal/biz/OrderPayBiz.java
View file @
7e68f61e
...
@@ -51,7 +51,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY;
...
@@ -51,7 +51,7 @@ import static com.xxfc.platform.universal.constant.DictionaryKey.UNIVERSAL_PAY;
*/
*/
@Service
@Service
@Slf4j
@Slf4j
public
class
OrderPayBiz
extends
BaseBiz
<
OrderPayMapper
,
OrderPay
>
{
public
class
OrderPayBiz
extends
BaseBiz
<
OrderPayMapper
,
OrderPay
>
{
@Autowired
@Autowired
DictionaryBiz
dictionaryBiz
;
DictionaryBiz
dictionaryBiz
;
...
@@ -65,126 +65,127 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -65,126 +65,127 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String
weixinHost
;
String
weixinHost
;
String
notifyUrl
=
weixinHost
+
"/service/payment/notify/alipay"
;
String
notifyUrl
=
weixinHost
+
"/service/payment/notify/alipay"
;
public
JSONObject
preparepay
(
OrderPayVo
orderPayVo
)
{
if
(
null
==
orderPayVo
)
{
public
JSONObject
preparepay
(
OrderPayVo
orderPayVo
)
{
if
(
null
==
orderPayVo
)
{
log
.
error
(
"-----参数为空-----------"
);
log
.
error
(
"-----参数为空-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"参数为空"
);
}
}
if
(
orderPayVo
.
getAmount
()==
null
||
orderPayVo
.
getAmount
()==
0
)
{
if
(
orderPayVo
.
getAmount
()
==
null
||
orderPayVo
.
getAmount
()
==
0
)
{
log
.
error
(
"-----金额不为为0-----------"
);
log
.
error
(
"-----金额不为为0-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"金额不为为0"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"金额不为为0"
);
}
}
if
(
StringUtils
.
isBlank
(
orderPayVo
.
getOrderNo
()))
{
if
(
StringUtils
.
isBlank
(
orderPayVo
.
getOrderNo
()))
{
log
.
error
(
"-----订单不能为空-----------"
);
log
.
error
(
"-----订单不能为空-----------"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"订单不能为空"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
NULL_CODE
,
"订单不能为空"
);
}
}
log
.
info
(
"订单支付参数:orderVo = {}"
,
orderPayVo
.
toString
());
log
.
info
(
"订单支付参数:orderVo = {}"
,
orderPayVo
.
toString
());
String
trade_no
=
OrderUtil
.
GetOrderNumber
(
""
);
String
trade_no
=
OrderUtil
.
GetOrderNumber
(
""
);
orderPayVo
.
setTradeNo
(
trade_no
);
orderPayVo
.
setTradeNo
(
trade_no
);
String
order_no
=
orderPayVo
.
getOrderNo
();
String
order_no
=
orderPayVo
.
getOrderNo
();
Integer
amount
=
orderPayVo
.
getAmount
();
Integer
amount
=
orderPayVo
.
getAmount
();
log
.
error
(
"---下单---order_no====="
+
order_no
+
"--支付订单号--trade_no===="
+
trade_no
+
"--金额---amount===="
+
amount
);
log
.
error
(
"---下单---order_no====="
+
order_no
+
"--支付订单号--trade_no===="
+
trade_no
+
"--金额---amount===="
+
amount
);
//报名费回调路径
//报名费回调路径
//临时处理
//临时处理
Map
<
String
,
Dictionary
>
dictionaryMap
=
dictionaryBiz
.
getAll4Map
();
Map
<
String
,
Dictionary
>
dictionaryMap
=
dictionaryBiz
.
getAll4Map
();
Integer
demotion
=
Integer
.
valueOf
(
dictionaryMap
.
get
(
UNIVERSAL_PAY
+
"_"
+
PAY_DEMOTION
).
getDetail
());
Integer
demotion
=
Integer
.
valueOf
(
dictionaryMap
.
get
(
UNIVERSAL_PAY
+
"_"
+
PAY_DEMOTION
).
getDetail
());
amount
=
amount
/
demotion
;
amount
=
amount
/
demotion
;
if
(
amount
<=
0
)
{
if
(
amount
<=
0
)
{
amount
=
1
;
amount
=
1
;
}
}
Integer
type
=
orderPayVo
.
getType
()==
null
?
1
:
orderPayVo
.
getType
();
Integer
type
=
orderPayVo
.
getType
()
==
null
?
1
:
orderPayVo
.
getType
();
String
jsParam
=
""
;
String
jsParam
=
""
;
String
notify_url
=
weixinHost
+
"/api/universal/pay/app/unauth/notify"
;
String
notify_url
=
weixinHost
+
"/api/universal/pay/app/unauth/notify"
;
log
.
info
(
"报名费回调路径notify_url:"
+
notify_url
);
log
.
info
(
"报名费回调路径notify_url:"
+
notify_url
);
Integer
payWay
=
orderPayVo
.
getPayWay
()==
null
?
1
:
orderPayVo
.
getPayWay
();
Integer
payWay
=
orderPayVo
.
getPayWay
()
==
null
?
1
:
orderPayVo
.
getPayWay
();
String
sellerAccount
=
null
;
String
sellerAccount
=
null
;
if
(
type
==
2
&&
payWay
==
1
){
if
(
type
==
2
&&
payWay
==
1
)
{
//微信网页支付
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
jsParam
=
WXPay
.
webPay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
orderPayVo
.
getBuyerAccount
());
jsParam
=
WXPay
.
webPay
(
amount
+
""
,
orderPayVo
.
getBody
(),
notify_url
,
trade_no
,
orderPayVo
.
getBuyerIp
(),
orderPayVo
.
getBuyerAccount
());
}
else
if
(
type
==
1
&&
payWay
==
1
){
}
else
if
(
type
==
1
&&
payWay
==
1
)
{
//微信APP支付
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
sellerAccount
=
SystemConfig
.
APP_PARTNER
;
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
!=
1
&&
payWay
!=
3
)
{
//支付宝APP支付,或预授权支付
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
sellerAccount
=
SystemConfig
.
ALIPAY_PID
;
jsParam
=
generateAliPayment
(
orderPayVo
);
jsParam
=
generateAliPayment
(
orderPayVo
);
}
}
log
.
info
(
"报名费回调路径jsParam:"
+
jsParam
);
log
.
info
(
"报名费回调路径jsParam:"
+
jsParam
);
if
(!
StringUtils
.
isBlank
(
jsParam
))
if
(!
StringUtils
.
isBlank
(
jsParam
))
{
{
try
{
try
{
OrderPay
orderPay
=
new
OrderPay
();
OrderPay
orderPay
=
new
OrderPay
();
BeanUtils
.
copyProperties
(
orderPay
,
orderPayVo
);
BeanUtils
.
copyProperties
(
orderPay
,
orderPayVo
);
orderPay
.
setSellerAccount
(
sellerAccount
);
orderPay
.
setSellerAccount
(
sellerAccount
);
insertSelective
(
orderPay
);
insertSelective
(
orderPay
);
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----成功"
);
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----成功"
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----异常---msg==="
+
e
.
getMessage
());
log
.
error
(
"---下单---order_no====="
+
order_no
+
"----异常---msg==="
+
e
.
getMessage
());
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
EXCEPTION_CODE
,
"出现异常"
);
return
JsonResultUtil
.
createFailedResult
(
ResultCode
.
EXCEPTION_CODE
,
"出现异常"
);
}
}
if
(
payWay
==
1
)
{
if
(
payWay
==
1
)
{
JSONObject
temp
=
JSON
.
parseObject
(
jsParam
);
JSONObject
temp
=
JSON
.
parseObject
(
jsParam
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
temp
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
temp
);
}
else
{
}
else
{
return
JsonResultUtil
.
createSuccessResultWithObj
(
jsParam
);
return
JsonResultUtil
.
createSuccessResultWithObj
(
jsParam
);
}
}
}
else
{
}
else
{
return
JsonResultUtil
.
createDefaultFail
();
return
JsonResultUtil
.
createDefaultFail
();
}
}
}
}
//支付回调
//支付回调
public
void
notice
(
String
orderNo
,
String
serialNumber
)
{
public
void
notice
(
String
orderNo
,
String
serialNumber
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----开始处理"
);
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----开始处理"
);
Example
example
=
new
Example
(
OrderPay
.
class
);
Example
example
=
new
Example
(
OrderPay
.
class
);
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
).
andEqualTo
(
"isDel"
,
0
).
andEqualTo
(
"status"
,
0
);
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
).
andEqualTo
(
"isDel"
,
0
).
andEqualTo
(
"status"
,
0
);
List
<
OrderPay
>
list
=
mapper
.
selectByExample
(
example
);
List
<
OrderPay
>
list
=
mapper
.
selectByExample
(
example
);
if
(
list
.
size
()==
0
)
{
if
(
list
.
size
()
==
0
)
{
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----订单不存在或已处理"
);
log
.
error
(
"---支付回调---trade_no====="
+
orderNo
+
"----订单不存在或已处理"
);
return
;
return
;
}
}
example
.
clear
();
example
.
clear
();
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
);
example
.
createCriteria
().
andEqualTo
(
"tradeNo"
,
orderNo
);
OrderPay
orderPay
=
new
OrderPay
();
OrderPay
orderPay
=
new
OrderPay
();
orderPay
.
setFinishTime
(
System
.
currentTimeMillis
());
orderPay
.
setFinishTime
(
System
.
currentTimeMillis
());
orderPay
.
setStatus
(
1
);
orderPay
.
setStatus
(
1
);
orderPay
.
setSerialNumber
(
serialNumber
);
orderPay
.
setSerialNumber
(
serialNumber
);
int
num
=
mapper
.
updateByExampleSelective
(
orderPay
,
example
);
int
num
=
mapper
.
updateByExampleSelective
(
orderPay
,
example
);
log
.
error
(
"---支付回调处理---num====="
+
num
+
"----orderNo======="
+
orderNo
);
log
.
error
(
"---支付回调处理---num====="
+
num
+
"----orderNo======="
+
orderNo
);
if
(
num
>
0
)
{
if
(
num
>
0
)
{
//支付成功,添加积分
//支付成功,添加积分
OrderPay
pay
=
list
.
get
(
0
);
OrderPay
pay
=
list
.
get
(
0
);
OrderPay
newValue
=
mapper
.
selectOne
(
orderPay
);
OrderPay
newValue
=
mapper
.
selectOne
(
orderPay
);
log
.
info
(
"支付回调信息:newValue = {}"
,
newValue
);
log
.
info
(
"支付回调信息:newValue = {}"
,
newValue
);
if
(
newValue
.
getStatus
()
==
1
)
{
if
(
newValue
.
getStatus
()
==
1
)
{
JSONObject
jsonObject
=
new
JSONObject
();
JSONObject
jsonObject
=
new
JSONObject
();
jsonObject
.
put
(
"userId"
,
newValue
.
getUserId
());
jsonObject
.
put
(
"userId"
,
newValue
.
getUserId
());
jsonObject
.
put
(
"amount"
,
newValue
.
getAmount
());
jsonObject
.
put
(
"amount"
,
newValue
.
getAmount
());
jsonObject
.
put
(
"channelId"
,
newValue
.
getOrderNo
());
jsonObject
.
put
(
"channelId"
,
newValue
.
getOrderNo
());
if
(
newValue
.
getChannel
()
==
1
)
{
//租车
if
(
newValue
.
getChannel
()
==
1
)
{
//租车
jsonObject
.
put
(
"integralRuleCode"
,
"RENTRV"
);
jsonObject
.
put
(
"integralRuleCode"
,
"RENTRV"
);
}
else
if
(
newValue
.
getChannel
()
==
2
)
{
//旅游
}
else
if
(
newValue
.
getChannel
()
==
2
)
{
//旅游
jsonObject
.
put
(
"integralRuleCode"
,
"BUYROUT"
);
jsonObject
.
put
(
"integralRuleCode"
,
"BUYROUT"
);
}
else
if
(
newValue
.
getChannel
()
==
3
)
{
//会员
}
else
if
(
newValue
.
getChannel
()
==
3
)
{
//会员
jsonObject
.
put
(
"integralRuleCode"
,
"BUYMEMBER"
);
jsonObject
.
put
(
"integralRuleCode"
,
"BUYMEMBER"
);
}
}
log
.
info
(
"支付订单号:orderNo = {}, orderType = {}"
,
newValue
.
getOrderNo
(),
newValue
.
getChannel
());
log
.
info
(
"支付订单号:orderNo = {}, orderType = {}"
,
newValue
.
getOrderNo
(),
newValue
.
getChannel
());
log
.
info
(
"支付成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}"
,
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
log
.
info
(
"支付成功获取积分:发送消息 exchange = {}, routingKey = {}, json = {}"
,
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
mqServiceBiZ
.
sendMessage
(
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
mqServiceBiZ
.
sendMessage
(
RabbitConstant
.
INTEGRAL_TOPIC
,
RabbitConstant
.
INTEGRAL_ROUTING_KEY
,
jsonObject
.
toJSONString
());
}
}
if
(
StringUtils
.
isNotBlank
(
pay
.
getNotifyUrl
()))
{
if
(
StringUtils
.
isNotBlank
(
pay
.
getNotifyUrl
()))
{
String
url
=
pay
.
getNotifyUrl
();
String
url
=
pay
.
getNotifyUrl
();
Integer
type
=
pay
.
getType
()==
null
?
1
:
pay
.
getType
();
Integer
type
=
pay
.
getType
()
==
null
?
1
:
pay
.
getType
();
url
+=
"&tradeNo="
+
orderNo
+
"&type="
+
type
;
url
+=
"&tradeNo="
+
orderNo
+
"&type="
+
type
;
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"----notifyUrl===="
+
url
);
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"----notifyUrl===="
+
url
);
String
result
=
""
;
String
result
=
""
;
if
(
url
.
contains
(
"https"
)||
url
.
contains
(
"HTTPS"
))
{
if
(
url
.
contains
(
"https"
)
||
url
.
contains
(
"HTTPS"
))
{
result
=
HTTPSUtils
.
httpRequest
(
url
,
"GET"
,
null
);
result
=
HTTPSUtils
.
httpRequest
(
url
,
"GET"
,
null
);
}
else
{
}
else
{
result
=
HTTPUtils
.
doGet
(
url
);
result
=
HTTPUtils
.
doGet
(
url
);
}
}
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"---result==="
+
result
);
log
.
error
(
"---支付回调处理---orderNo======="
+
orderNo
+
"---result==="
+
result
);
}
}
}
}
...
@@ -192,13 +193,14 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -192,13 +193,14 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/**
/**
* 支付宝回调接口
* 支付宝回调接口
*
* @return
* @return
*/
*/
public
String
alipayNotify
()
{
public
String
alipayNotify
()
{
//获取支付宝POST过来反馈信息
//获取支付宝POST过来反馈信息
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Map
<
String
,
String
>
params
=
new
HashMap
<>();
Map
requestParams
=
request
.
getParameterMap
();
Map
requestParams
=
request
.
getParameterMap
();
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();)
{
for
(
Iterator
iter
=
requestParams
.
keySet
().
iterator
();
iter
.
hasNext
();
)
{
String
name
=
(
String
)
iter
.
next
();
String
name
=
(
String
)
iter
.
next
();
String
[]
values
=
(
String
[])
requestParams
.
get
(
name
);
String
[]
values
=
(
String
[])
requestParams
.
get
(
name
);
String
valueStr
=
""
;
String
valueStr
=
""
;
...
@@ -260,7 +262,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -260,7 +262,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
String
tradeNo
=
params
.
get
(
"out_order_no"
);
String
tradeNo
=
params
.
get
(
"out_order_no"
);
String
operationId
=
params
.
get
(
"operation_id"
);
String
operationId
=
params
.
get
(
"operation_id"
);
notice
(
tradeNo
,
operationId
);
notice
(
tradeNo
,
operationId
);
return
ObjectRestResponse
.
succ
().
getMessage
();
return
ObjectRestResponse
.
succ
().
getMessage
();
}
catch
(
AlipayApiException
e
)
{
}
catch
(
AlipayApiException
e
)
{
log
.
error
(
""
,
e
);
log
.
error
(
""
,
e
);
...
@@ -270,25 +272,24 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -270,25 +272,24 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
/**
/**
* 支付宝生成支付信息
* 支付宝生成支付信息
*
* @return
* @return
*/
*/
@SuppressWarnings
(
"rawtypes"
)
private
String
generateAliPayment
(
OrderPayVo
orderPayVo
)
{
private
String
generateAliPayment
(
OrderPayVo
orderPayVo
)
{
//实例化客户端
//实例化客户端
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
SystemConfig
.
ALIPAY_PAY_BASE_URL
+
"/gateway.do"
,
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
SystemConfig
.
ALIPAY_PAY_BASE_URL
+
"/gateway.do"
,
SystemConfig
.
ALIPAY_APPID
,
SystemConfig
.
ALIPAY_PRIVATE_KEY
,
AlipayConstants
.
FORMAT_JSON
,
SystemConfig
.
ALIPAY_APPID
,
SystemConfig
.
ALIPAY_PRIVATE_KEY
,
AlipayConstants
.
FORMAT_JSON
,
"utf-8"
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
"utf-8"
,
SystemConfig
.
ALIPAY_PUBLIC_KEY
,
AlipayConstants
.
SIGN_TYPE_RSA2
);
//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
//
orderPayVo
.
setNotifyUrl
(
notifyUrl
);
orderPayVo
.
setNotifyUrl
(
notifyUrl
);
try
{
try
{
if
(
orderPayVo
.
getPayWay
()
==
2
)
{
//支付宝APP支付
return
appOrderPay
(
alipayClient
,
orderPayVo
);
}
else
{
//预授权
return
fundAuthOrderAppFreeze
(
alipayClient
,
orderPayVo
);
return
fundAuthOrderAppFreeze
(
alipayClient
,
orderPayVo
);
}
catch
(
Exception
e
){
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
//
return
null
;
return
null
;
}
}
...
@@ -309,7 +310,6 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -309,7 +310,6 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
//这里和普通的接口调用不同,使用的是sdkExecute
//这里和普通的接口调用不同,使用的是sdkExecute
AlipayTradeAppPayResponse
response
=
alipayClient
.
sdkExecute
(
request
);
AlipayTradeAppPayResponse
response
=
alipayClient
.
sdkExecute
(
request
);
log
.
info
(
response
.
getBody
());
//就是orderString 可以直接给客户端请求,无需再做处理。
log
.
info
(
response
.
getBody
());
//就是orderString 可以直接给客户端请求,无需再做处理。
return
response
.
getBody
();
return
response
.
getBody
();
}
catch
(
AlipayApiException
e
)
{
}
catch
(
AlipayApiException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
@@ -318,11 +318,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -318,11 +318,9 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
}
}
//预授权冻结
//预授权冻结
public
String
fundAuthOrderAppFreeze
(
AlipayClient
alipayClient
,
OrderPayVo
orderPayVo
)
throws
AlipayApiException
{
public
String
fundAuthOrderAppFreeze
(
AlipayClient
alipayClient
,
OrderPayVo
orderPayVo
)
throws
AlipayApiException
{
AlipayFundAuthOrderAppFreezeRequest
request
=
new
AlipayFundAuthOrderAppFreezeRequest
();
AlipayFundAuthOrderAppFreezeRequest
request
=
new
AlipayFundAuthOrderAppFreezeRequest
();
AlipayFundAuthOrderAppFreezeModel
model
=
new
AlipayFundAuthOrderAppFreezeModel
();
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
().
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
BigDecimal
realAmount
=
new
BigDecimal
(
orderPayVo
.
getAmount
().
toString
()).
divide
(
new
BigDecimal
(
"100"
),
2
,
BigDecimal
.
ROUND_UP
);
request
.
setBizContent
(
"{"
+
request
.
setBizContent
(
"{"
+
"\"auth_code\":\""
+
orderPayVo
.
getTradeNo
()
+
"\","
+
"\"auth_code\":\""
+
orderPayVo
.
getTradeNo
()
+
"\","
+
...
@@ -332,10 +330,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -332,10 +330,10 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
"\"order_title\":\""
+
orderPayVo
.
getSubject
()
+
"\","
+
"\"order_title\":\""
+
orderPayVo
.
getSubject
()
+
"\","
+
"\"product_code\":\"PRE_AUTH_ONLINE\","
+
"\"product_code\":\"PRE_AUTH_ONLINE\","
+
"\"pay_timeout\":\"1d\","
+
"\"pay_timeout\":\"1d\","
+
"\"amount\": \""
+
realAmount
.
toString
()
+
"\" }"
);
"\"amount\": \""
+
realAmount
.
toString
()
+
"\" }"
);
request
.
setNotifyUrl
(
orderPayVo
.
getNotifyUrl
());
//异步通知地址,必填,该接口只通过该参数进行异步通知
request
.
setNotifyUrl
(
orderPayVo
.
getNotifyUrl
());
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderAppFreezeResponse
response
=
alipayClient
.
sdkExecute
(
request
);
//注意这里是sdkExecute,可以获取签名参数
AlipayFundAuthOrderAppFreezeResponse
response
=
alipayClient
.
sdkExecute
(
request
);
//注意这里是sdkExecute,可以获取签名参数
if
(
response
.
isSuccess
())
{
if
(
response
.
isSuccess
())
{
log
.
info
(
"调用成功"
);
log
.
info
(
"调用成功"
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
//签名后的参数,直接入参到
log
.
info
(
"response: {}"
+
response
.
getBody
());
//签名后的参数,直接入参到
return
response
.
getBody
();
return
response
.
getBody
();
...
@@ -344,6 +342,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -344,6 +342,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
return
null
;
return
null
;
}
}
}
}
//解冻预授权
//解冻预授权
public
void
fundAuthOrderUnFreeze
(
AlipayClient
alipayClient
)
throws
AlipayApiException
{
public
void
fundAuthOrderUnFreeze
(
AlipayClient
alipayClient
)
throws
AlipayApiException
{
AlipayFundAuthOrderUnfreezeRequest
request
=
new
AlipayFundAuthOrderUnfreezeRequest
();
AlipayFundAuthOrderUnfreezeRequest
request
=
new
AlipayFundAuthOrderUnfreezeRequest
();
...
@@ -357,11 +356,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -357,11 +356,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setBizModel
(
model
);
request
.
setBizModel
(
model
);
request
.
setNotifyUrl
(
notifyUrl
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
request
.
setNotifyUrl
(
notifyUrl
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOrderUnfreezeResponse
response
=
alipayClient
.
execute
(
request
);
AlipayFundAuthOrderUnfreezeResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
}
//取消预授权
//取消预授权
public
void
fundAuthCancel
()
throws
AlipayApiException
{
public
void
fundAuthCancel
()
throws
AlipayApiException
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayFundAuthOperationCancelRequest
request
=
new
AlipayFundAuthOperationCancelRequest
();
AlipayFundAuthOperationCancelRequest
request
=
new
AlipayFundAuthOperationCancelRequest
();
AlipayFundAuthOperationCancelModel
model
=
new
AlipayFundAuthOperationCancelModel
();
AlipayFundAuthOperationCancelModel
model
=
new
AlipayFundAuthOperationCancelModel
();
//model.setAuthNo("2017120110002001390206804295"); // 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
//model.setAuthNo("2017120110002001390206804295"); // 支付宝资金授权订单号,在授权冻结成功时返回参数中获得
...
@@ -373,11 +373,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -373,11 +373,12 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayFundAuthOperationCancelResponse
response
=
alipayClient
.
execute
(
request
);
AlipayFundAuthOperationCancelResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
}
//预授权转支付
//预授权转支付
public
void
tradePay
()
throws
AlipayApiException
{
public
void
tradePay
()
throws
AlipayApiException
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"utf-8"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"utf-8"
,
"alipay_public_key"
,
"RSA2"
);
AlipayTradePayRequest
request
=
new
AlipayTradePayRequest
();
AlipayTradePayRequest
request
=
new
AlipayTradePayRequest
();
AlipayTradePayModel
model
=
new
AlipayTradePayModel
();
AlipayTradePayModel
model
=
new
AlipayTradePayModel
();
model
.
setOutTradeNo
(
"20180412100020088982"
);
// 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
model
.
setOutTradeNo
(
"20180412100020088982"
);
// 预授权转支付商户订单号,为新的商户交易流水号;如果重试发起扣款,商户订单号不要变;
...
@@ -395,16 +396,17 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -395,16 +396,17 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
request
.
setNotifyUrl
(
""
);
//异步通知地址,必填,该接口只通过该参数进行异步通知
AlipayTradePayResponse
response
=
alipayClient
.
execute
(
request
);
AlipayTradePayResponse
response
=
alipayClient
.
execute
(
request
);
if
(
response
.
isSuccess
())
{
if
(
response
.
isSuccess
())
{
System
.
out
.
println
(
"调用成功"
);
System
.
out
.
println
(
"调用成功"
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
else
{
}
else
{
System
.
out
.
println
(
"调用失败"
);
System
.
out
.
println
(
"调用失败"
);
}
}
}
}
//退款
//退款
public
void
testTradeRefund
()
throws
Exception
{
public
void
testTradeRefund
()
throws
Exception
{
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayClient
alipayClient
=
new
DefaultAlipayClient
(
"https://openapi.alipay.com/gateway.do"
,
"app_id"
,
"your private_key"
,
"json"
,
"GBK"
,
"alipay_public_key"
,
"RSA2"
);
AlipayTradeRefundModel
model
=
new
AlipayTradeRefundModel
();
AlipayTradeRefundModel
model
=
new
AlipayTradeRefundModel
();
model
.
setOutTradeNo
(
"tradePay000002"
);
//与预授权转支付商户订单号相同,代表对该笔交易退款
model
.
setOutTradeNo
(
"tradePay000002"
);
//与预授权转支付商户订单号相同,代表对该笔交易退款
model
.
setRefundAmount
(
"0.01"
);
model
.
setRefundAmount
(
"0.01"
);
...
@@ -413,7 +415,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -413,7 +415,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
AlipayTradeRefundRequest
request
=
new
AlipayTradeRefundRequest
();
AlipayTradeRefundRequest
request
=
new
AlipayTradeRefundRequest
();
request
.
setBizModel
(
model
);
request
.
setBizModel
(
model
);
AlipayTradeRefundResponse
response
=
alipayClient
.
execute
(
request
);
AlipayTradeRefundResponse
response
=
alipayClient
.
execute
(
request
);
log
.
info
(
"response: {}"
+
response
.
getBody
());
log
.
info
(
"response: {}"
+
response
.
getBody
());
}
}
...
@@ -443,7 +445,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
...
@@ -443,7 +445,7 @@ public class OrderPayBiz extends BaseBiz<OrderPayMapper,OrderPay> {
" }"
);
" }"
);
try
{
try
{
AlipayFundAuthOrderFreezeResponse
aresponse
=
alipayClient
.
execute
(
arequest
);
AlipayFundAuthOrderFreezeResponse
aresponse
=
alipayClient
.
execute
(
arequest
);
if
(
aresponse
.
isSuccess
())
{
if
(
aresponse
.
isSuccess
())
{
System
.
out
.
println
(
"调用成功"
);
System
.
out
.
println
(
"调用成功"
);
}
else
{
}
else
{
System
.
out
.
println
(
"调用失败"
);
System
.
out
.
println
(
"调用失败"
);
...
...
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