疯体游戏支付sign问题解决

master
duhui 2023-05-19 17:06:47 +08:00
parent 6fa6ea67a0
commit 490cc1a7c5
2 changed files with 9 additions and 11 deletions

View File

@ -50,7 +50,7 @@ public class ChengfengRechargeController {
String decode = FengTiDesUtil.decode(ntData, Callback_Key); String decode = FengTiDesUtil.decode(ntData, Callback_Key);
HashMap<String, String> data = (HashMap<String, String>) XmlUtil.readStringXmlOut(decode); HashMap<String, String> data = (HashMap<String, String>) XmlUtil.readStringXmlOut(decode);
String orderno = data.get("out_order_no"); // 支付订单号 String orderno = data.get("order_no"); // 支付订单号
double amount = Double.parseDouble(data.get("amount")) * 100; //充值金额(单位:元)(需要换算成分) double amount = Double.parseDouble(data.get("amount")) * 100; //充值金额(单位:元)(需要换算成分)
String gameExt = data.get("extras_params"); //透传参数如CP下单有值提交则会原样回传不得超过255个字符 String gameExt = data.get("extras_params"); //透传参数如CP下单有值提交则会原样回传不得超过255个字符
String[] callback = gameExt.split("_"); String[] callback = gameExt.split("_");
@ -68,14 +68,13 @@ public class ChengfengRechargeController {
String sign = map.get("sign"); String sign = map.get("sign");
String decodeSign = FengTiDesUtil.decode(sign, Callback_Key); String decodeSign = FengTiDesUtil.decode(sign, Callback_Key);
String md5Sign = map.get("md5Sign"); String md5Sign = map.get("md5Sign");
String decodeMd5Sign = FengTiDesUtil.decode(md5Sign, Callback_Key);
StringBuilder localSign = new StringBuilder(); String mySign = MD5Util.encrypByMd5(decodeNtData + decodeSign + Md5_Key);
localSign.append(decodeNtData).append(decodeSign).append(Md5_Key); if (mySign.equals(decodeMd5Sign)) {
String mySign = MD5Util.encrypByMd5(localSign.toString());
if (mySign.equals(md5Sign)) {
return true; return true;
} }
LOGGER.error("疯体==>,sign fail, localSign={}md5Sign={}map={}", localSign, md5Sign, map); LOGGER.error("疯体乘风==>sign验证异常, localSign={}md5Sign={}map={}", mySign, decodeMd5Sign, map);
return false; return false;
} }
} }

View File

@ -66,14 +66,13 @@ public class FengtiIOSRechargeController {
String sign = map.get("sign"); String sign = map.get("sign");
String decodeSign = FengTiDesUtil.decode(sign, Callback_Key); String decodeSign = FengTiDesUtil.decode(sign, Callback_Key);
String md5Sign = map.get("md5Sign"); String md5Sign = map.get("md5Sign");
String decodeMd5Sign = FengTiDesUtil.decode(md5Sign, Callback_Key);
StringBuilder localSign = new StringBuilder(); String mySign = MD5Util.encrypByMd5(decodeNtData + decodeSign + Md5_Key);
localSign.append(decodeNtData).append(decodeSign).append(Md5_Key); if (mySign.equals(decodeMd5Sign)) {
String mySign = MD5Util.encrypByMd5(localSign.toString());
if (mySign.equals(md5Sign)) {
return true; return true;
} }
LOGGER.error("疯体==>,sign fail, localSign={}md5Sign={}map={}", localSign, md5Sign, map); LOGGER.error("疯体ios==>sign验证异常, localSign={}md5Sign={}map={}", mySign, decodeMd5Sign, map);
return false; return false;
} }
} }