Skip to content

Commit a1185f1

Browse files
egzosn@gmail.comegzosn@gmail.com
authored andcommitted
条码付签名校验
1 parent 8c5fbb5 commit a1185f1

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

pay-java-ali/src/main/java/com/egzosn/pay/ali/api/AliPayService.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import com.egzosn.pay.common.util.sign.SignUtils;
1616
import org.apache.commons.logging.Log;
1717
import org.apache.commons.logging.LogFactory;
18+
1819
import java.awt.image.BufferedImage;
1920
import java.io.InputStream;
2021
import java.math.BigDecimal;
@@ -90,6 +91,20 @@ public boolean verify(Map<String, Object> params) {
9091
@Override
9192
public boolean signVerify(Map<String, Object> params, String sign) {
9293

94+
if (params instanceof JSONObject){
95+
for (String key : params.keySet()){
96+
if ("sign".equals(key)){
97+
continue;
98+
}
99+
TreeMap response = new TreeMap((Map) params.get(key));
100+
LinkedHashMap<Object, Object> linkedHashMap = new LinkedHashMap<>();
101+
linkedHashMap.put("code", response.remove("code") );
102+
linkedHashMap.put("msg", response.remove("msg") );
103+
linkedHashMap.putAll(response);
104+
return SignUtils.valueOf(payConfigStorage.getSignType()).verify(JSON.toJSONString(linkedHashMap), sign, payConfigStorage.getKeyPublic(), payConfigStorage.getInputCharset());
105+
}
106+
}
107+
93108
return SignUtils.valueOf(payConfigStorage.getSignType()).verify(params, sign, payConfigStorage.getKeyPublic(), payConfigStorage.getInputCharset());
94109
}
95110

0 commit comments

Comments
 (0)