记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
1a008a15
Commit
1a008a15
authored
Dec 02, 2021
by
zhengfuxin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改抖音支付回调。
parent
ce1f2675
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
35 additions
and
18 deletions
+35
-18
PayChannelStrategyDouYinImpl.java
...n/channel/strategy/impl/PayChannelStrategyDouYinImpl.java
+4
-2
PayDouYinpayUtils.java
...com/liquidnet/service/dragon/utils/PayDouYinpayUtils.java
+31
-16
No files found.
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/channel/strategy/impl/PayChannelStrategyDouYinImpl.java
View file @
1a008a15
...
...
@@ -84,7 +84,7 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl
if
(
DragonConstant
.
PayStatusEnum
.
STATUS_PAID
.
getCode
().
equals
(
dragonOrdersDto
.
getStatus
()))
{
throw
new
LiquidnetServiceException
(
DragonErrorCodeEnum
.
TRADE_ERROR_HAS_PAID
.
getCode
(),
DragonErrorCodeEnum
.
TRADE_ERROR_HAS_PAID
.
getMessage
());
}
String
sign
=
msg
.
get
(
"msg_signature"
).
toString
();
String
sign
=
jsonObject
.
get
(
"msg_signature"
).
toString
();
boolean
notifyResult
=
false
;
if
(
PayDouYinpayUtils
.
getInstance
().
notifySign
(
sign
,
jsonObject
))
{
// 根据配置信息验证签名
//抖音回调 就代表成功了
...
...
@@ -98,8 +98,10 @@ public class PayChannelStrategyDouYinImpl extends AbstractPayChannelStrategyImpl
if(notifyResult){
returnStr = "<xml>\n" + " <return_code><![CDATA[SUCCESS]]></return_code>\n" + " <return_msg><![CDATA[OK]]></return_msg>\n" + "</xml>";
}*/
return
"{\"err_no\": 0,\"err_tips\": \"success\"}"
;
}
else
{
log
.
error
(
"wepay notify fail code:{} msg:{} "
,
DragonErrorCodeEnum
.
TRADE_DOUYINPAY_SIGN_ERROR
.
getCode
(),
DragonErrorCodeEnum
.
TRADE_DOUYINPAY_SIGN_ERROR
.
getMessage
());
log
.
error
(
"touyin notify fail code:{} msg:{} "
,
DragonErrorCodeEnum
.
TRADE_DOUYINPAY_SIGN_ERROR
.
getCode
(),
DragonErrorCodeEnum
.
TRADE_DOUYINPAY_SIGN_ERROR
.
getMessage
());
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
...
...
liquidnet-bus-service/liquidnet-service-dragon/liquidnet-service-dragon-impl/src/main/java/com/liquidnet/service/dragon/utils/PayDouYinpayUtils.java
View file @
1a008a15
...
...
@@ -5,6 +5,7 @@ import com.alipay.api.internal.util.file.IOUtils;
import
com.google.gson.JsonElement
;
import
com.google.gson.JsonObject
;
import
com.liquidnet.commons.lang.util.MD5Utils
;
import
org.apache.commons.codec.digest.DigestUtils
;
import
org.apache.http.client.config.RequestConfig
;
import
org.apache.http.config.Registry
;
import
org.apache.http.config.RegistryBuilder
;
...
...
@@ -49,6 +50,7 @@ public class PayDouYinpayUtils {
private
final
String
APP_ID
=
"tt0d647bd9925c076801"
;
private
final
String
TOKEN
=
"NdUpRqpXmDfddigojFzIxzXNVg1SffdA"
;
...
...
@@ -155,6 +157,8 @@ public class PayDouYinpayUtils {
}
return
hexValue
.
toString
();
}
public
String
createSign
(
Map
<
String
,
Object
>
paramsMap
)
{
List
<
String
>
paramsArr
=
new
ArrayList
<>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
paramsMap
.
entrySet
())
{
...
...
@@ -196,13 +200,20 @@ public class PayDouYinpayUtils {
return
this
.
partnerKey
;
}
public
boolean
notifySign
(
String
sign
,
JSONObject
jsonObject
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
//循环转换
public
boolean
notifySign
(
String
sign
,
JSONObject
jsonObject
)
throws
Exception
{
jsonObject
.
remove
(
"msg_signature"
);
jsonObject
.
remove
(
"type"
);
jsonObject
.
put
(
"token"
,
TOKEN
);
SortedMap
<
String
,
String
>
sortedMap
=
new
TreeMap
<
String
,
String
>();
for
(
Map
.
Entry
<
String
,
Object
>
entry
:
jsonObject
.
entrySet
())
{
map
.
put
(
entry
.
getKey
(),
entry
.
getValue
());
sortedMap
.
put
(
entry
.
getValue
().
toString
(),
entry
.
getValue
().
toString
());
}
StringBuffer
sb
=
new
StringBuffer
();
for
(
String
key:
sortedMap
.
keySet
()){
sb
.
append
(
sortedMap
.
get
(
key
));
}
String
signBack
=
PayDouYinpayUtils
.
getInstance
().
createSign
(
map
);
String
signBack
=
DigestUtils
.
sha1Hex
(
sb
.
toString
());
//PayDouYinpayUtils.getInstance().createSign(map);
if
(
sign
.
equals
(
signBack
))
return
true
;
else
...
...
@@ -236,17 +247,21 @@ public class PayDouYinpayUtils {
public
static
void
main
(
String
[]
args
)
{
String
s
=
"{\n"
+
" \"timestamp\":1602507471,\n"
+
" \"nonce\":\"797\",\n"
+
" \"msg\":\"{\\\"appid\\\":\\\"tt07e3715e98c9aac0\\\",\\\"cp_orderno\\\":\\\"out_order_no_1\\\",\\\"cp_extra\\\":\\\"\\\",\\\"way\\\":\\\"2\\\",\\\"payment_order_no\\\":\\\"2021070722001450071438803941\\\",\\\"total_amount\\\":9980,\\\"status\\\":\\\"SUCCESS\\\",\\\"seller_uid\\\":\\\"69631798443938962290\\\",\\\"extra\\\":\\\"null\\\",\\\"item_id\\\":\\\"\\\"}\",\n"
+
" \"msg_signature\":\"52fff5f7a4bf4a921c2daf83c75cf0e716432c73\",\n"
+
" \"type\":\"payment\"\n"
+
"}"
;
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
s
);
System
.
out
.
println
(
jsonObject
.
getString
(
"type"
));
JSONObject
msg
=
jsonObject
.
getJSONObject
(
"msg"
);
System
.
out
.
println
(
msg
.
getString
(
"cp_orderno"
));
SortedMap
<
String
,
String
>
sortedMap
=
new
TreeMap
<
String
,
String
>();
sortedMap
.
put
(
"timestamp"
,
"1602507471"
);
sortedMap
.
put
(
"nonce"
,
"797"
);
sortedMap
.
put
(
"msg"
,
"{\"appid\":\"tt07e3715e98c9aac0\",\"cp_orderno\":\"out_order_no_1\",\"cp_extra\":\"\",\"way\":\"2\",\"payment_order_no\":\"2021070722001450071438803941\",\"total_amount\":9980,\"status\":\"SUCCESS\",\"seller_uid\":\"69631798443938962290\",\"extra\":\"null\",\"item_id\":\"\"}"
);
sortedMap
.
remove
(
"msg_signature"
);
sortedMap
.
remove
(
"type"
);
sortedMap
.
put
(
"token"
,
"NdUpRqpXmDfddigojFzIxzXNVg1SffdA"
);
StringBuffer
sb
=
new
StringBuffer
();
for
(
String
key:
sortedMap
.
keySet
()){
sb
.
append
(
sortedMap
.
get
(
key
));
}
System
.
out
.
println
(
sortedMap
.
toString
());
System
.
out
.
println
(
sb
.
toString
());
String
signBack
=
DigestUtils
.
sha1Hex
(
sb
.
toString
());
System
.
out
.
println
(
signBack
);
}
}
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