Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Jeepay
Commits
708aa64b
Unverified
Commit
708aa64b
authored
Apr 13, 2018
by
dingzhiwei
Committed by
GitHub
Apr 13, 2018
Browse files
Merge pull request #8 from cbwleft/feature/application_json
Feature/application json
parents
8a195cab
e187c590
Changes
5
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
708aa64b
/.idea/
*.iml
/log/
target/
\ No newline at end of file
target/
*.project
xxpay-common/src/main/java/org/xxpay/common/util/PayDigestUtil.java
View file @
708aa64b
...
...
@@ -142,7 +142,7 @@ public class PayDigestUtil {
Field
[]
fields
=
cls
.
getDeclaredFields
();
for
(
Field
f
:
fields
)
{
f
.
setAccessible
(
true
);
if
(
f
.
get
(
o
)
!=
null
&&
f
.
get
(
o
)
!=
""
)
{
if
(
f
.
get
(
o
)
!=
null
&&
!
""
.
equals
(
f
.
get
(
o
)
)
)
{
list
.
add
(
f
.
getName
()
+
"="
+
f
.
get
(
o
)
+
"&"
);
}
}
...
...
@@ -164,7 +164,7 @@ public class PayDigestUtil {
public
static
String
getSign
(
Map
<
String
,
Object
>
map
,
String
key
){
ArrayList
<
String
>
list
=
new
ArrayList
<
String
>();
for
(
Map
.
Entry
<
String
,
Object
>
entry:
map
.
entrySet
()){
if
(!
""
.
equals
(
entry
.
getValue
())){
if
(!
""
.
equals
(
entry
.
getValue
())
&&
null
!=
entry
.
getValue
()
){
list
.
add
(
entry
.
getKey
()
+
"="
+
entry
.
getValue
()
+
"&"
);
}
}
...
...
xxpay4spring-boot/src/main/java/org/xxpay/boot/ctrl/PayOrderController.java
View file @
708aa64b
...
...
@@ -5,6 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.math.NumberUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -48,14 +50,19 @@ public class PayOrderController {
*/
@RequestMapping
(
value
=
"/api/pay/create_order"
)
public
String
payOrder
(
@RequestParam
String
params
)
{
_log
.
info
(
"###### 开始接收商户统一下单请求 ######"
);
JSONObject
po
=
JSONObject
.
parseObject
(
params
);
return
payOrder
(
po
);
}
@RequestMapping
(
value
=
"/api/pay/create_order"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
String
payOrder
(
@RequestBody
JSONObject
params
)
{
_log
.
info
(
"###### 开始接收商户统一下单请求 ######"
);
String
logPrefix
=
"【商户统一下单】"
;
try
{
JSONObject
po
=
JSONObject
.
parseObject
(
params
);
JSONObject
payContext
=
new
JSONObject
();
JSONObject
payOrder
=
null
;
// 验证参数有效性
Object
object
=
validateParams
(
p
o
,
payContext
);
Object
object
=
validateParams
(
p
arams
,
payContext
);
if
(
object
instanceof
String
)
{
_log
.
info
(
"{}参数校验不通过:{}"
,
logPrefix
,
object
);
return
XXPayUtil
.
makeRetFail
(
XXPayUtil
.
makeRetMap
(
PayConstant
.
RETURN_VALUE_FAIL
,
object
.
toString
(),
null
,
null
));
...
...
xxpay4spring-boot/src/main/java/org/xxpay/boot/ctrl/QueryPayOrderController.java
View file @
708aa64b
...
...
@@ -3,6 +3,8 @@ package org.xxpay.boot.ctrl;
import
com.alibaba.fastjson.JSONObject
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -42,22 +44,27 @@ public class QueryPayOrderController {
*/
@RequestMapping
(
value
=
"/api/pay/query_order"
)
public
String
queryPayOrder
(
@RequestParam
String
params
)
{
JSONObject
po
=
JSONObject
.
parseObject
(
params
);
return
queryPayOrder
(
po
);
}
@RequestMapping
(
value
=
"/api/pay/query_order"
,
consumes
=
MediaType
.
APPLICATION_JSON_VALUE
,
produces
=
MediaType
.
APPLICATION_JSON_VALUE
)
public
String
queryPayOrder
(
@RequestBody
JSONObject
params
)
{
_log
.
info
(
"###### 开始接收商户查询支付订单请求 ######"
);
String
logPrefix
=
"【商户支付订单查询】"
;
try
{
JSONObject
po
=
JSONObject
.
parseObject
(
params
);
JSONObject
payContext
=
new
JSONObject
();
// 验证参数有效性
String
errorMessage
=
validateParams
(
p
o
,
payContext
);
String
errorMessage
=
validateParams
(
p
arams
,
payContext
);
if
(!
"success"
.
equalsIgnoreCase
(
errorMessage
))
{
_log
.
warn
(
errorMessage
);
return
XXPayUtil
.
makeRetFail
(
XXPayUtil
.
makeRetMap
(
PayConstant
.
RETURN_VALUE_FAIL
,
errorMessage
,
null
,
null
));
}
_log
.
debug
(
"请求参数及签名校验通过"
);
String
mchId
=
p
o
.
getString
(
"mchId"
);
// 商户ID
String
mchOrderNo
=
p
o
.
getString
(
"mchOrderNo"
);
// 商户订单号
String
payOrderId
=
p
o
.
getString
(
"payOrderId"
);
// 支付订单号
String
executeNotify
=
p
o
.
getString
(
"executeNotify"
);
// 是否执行回调
String
mchId
=
p
arams
.
getString
(
"mchId"
);
// 商户ID
String
mchOrderNo
=
p
arams
.
getString
(
"mchOrderNo"
);
// 商户订单号
String
payOrderId
=
p
arams
.
getString
(
"payOrderId"
);
// 支付订单号
String
executeNotify
=
p
arams
.
getString
(
"executeNotify"
);
// 是否执行回调
JSONObject
payOrder
=
payOrderService
.
queryPayOrder
(
mchId
,
payOrderId
,
mchOrderNo
,
executeNotify
);
_log
.
info
(
"{}查询支付订单,结果:{}"
,
logPrefix
,
payOrder
);
if
(
payOrder
==
null
)
{
...
...
xxpay4spring-boot/src/main/java/org/xxpay/boot/service/impl/PayChannel4WxServiceImpl.java
View file @
708aa64b
...
...
@@ -97,12 +97,12 @@ public class PayChannel4WxServiceImpl extends BaseService implements IPayChannel
configMap
.
put
(
"appid"
,
appId
);
// 此map用于客户端与微信服务器交互
payInfo
.
put
(
"sign"
,
SignUtils
.
createSign
(
configMap
,
wxPayConfig
.
getMchKey
(),
null
));
payInfo
.
put
(
"prepay
I
d"
,
wxPayUnifiedOrderResult
.
getPrepayId
());
payInfo
.
put
(
"partner
I
d"
,
partnerId
);
payInfo
.
put
(
"app
I
d"
,
appId
);
payInfo
.
put
(
"package
Value
"
,
packageValue
);
payInfo
.
put
(
"time
S
tamp"
,
timestamp
);
payInfo
.
put
(
"nonce
S
tr"
,
nonceStr
);
payInfo
.
put
(
"prepay
i
d"
,
wxPayUnifiedOrderResult
.
getPrepayId
());
payInfo
.
put
(
"partner
i
d"
,
partnerId
);
payInfo
.
put
(
"app
i
d"
,
appId
);
payInfo
.
put
(
"package"
,
packageValue
);
payInfo
.
put
(
"time
s
tamp"
,
timestamp
);
payInfo
.
put
(
"nonce
s
tr"
,
nonceStr
);
map
.
put
(
"payParams"
,
payInfo
);
break
;
}
...
...
Write
Preview
Supports
Markdown
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