service-acct/src/main/java/com/java110/acct/smo/impl/OnlinePayV1InnerServiceSMOImpl.java
@@ -17,6 +17,7 @@ import com.java110.acct.dao.IOnlinePayV1ServiceDao; import com.java110.core.annotation.Java110Transactional; import com.java110.intf.acct.IOnlinePayV1InnerServiceSMO; import com.java110.dto.onlinePay.OnlinePayDto; import com.java110.po.onlinePay.OnlinePayPo; @@ -53,6 +54,7 @@ } @Override @Java110Transactional public int updateOnlinePay(@RequestBody OnlinePayPo onlinePayPo) { int saveFlag = onlinePayV1ServiceDaoImpl.updateOnlinePayInfo(BeanConvertUtil.beanCovertMap(onlinePayPo)); return saveFlag; service-acct/src/main/java/com/java110/acct/smo/impl/QrCodePlutusPaymentAdapt.java
@@ -106,7 +106,7 @@ throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword()); //服务器返回内容 String paramOut = new String(bb); @@ -162,7 +162,7 @@ throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword()); //服务器返回内容 String paramOut = new String(bb); service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusOweFeeToNotifyAdapt.java
@@ -24,6 +24,7 @@ import com.java110.core.factory.CommunitySettingFactory; import com.java110.core.factory.PlutusFactory; import com.java110.core.factory.WechatFactory; import com.java110.core.log.LoggerFactory; import com.java110.dto.fee.FeeDto; import com.java110.dto.smallWeChat.SmallWeChatDto; import com.java110.utils.cache.CommonCache; @@ -34,7 +35,6 @@ import com.java110.utils.util.StringUtil; import org.bouncycastle.util.encoders.Base64; import org.slf4j.Logger; import com.java110.core.log.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; @@ -43,7 +43,10 @@ import org.springframework.web.client.RestTemplate; import java.io.UnsupportedEncodingException; import java.util.*; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.UUID; /** * 富友 支付 通知实现 @@ -92,15 +95,15 @@ if (smallWeChatDto == null) { throw new IllegalArgumentException("未配置公众号或者小程序信息"); } String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(),"PLUTUS_PUBLIC_KEY"); String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(), "PLUTUS_PUBLIC_KEY"); //验签 Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey); Boolean verify = PlutusFactory.verify256(content, org.bouncycastle.util.encoders.Base64.decode(signature), publicKey); //验签成功 if (!verify) { throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword()); //服务器返回内容 String paramOut = new String(bb); try { @@ -135,16 +138,9 @@ smallWeChatDto.setMchId(wechatAuthProperties.getMchId()); smallWeChatDto.setPayPassword(wechatAuthProperties.getKey()); } TreeMap<String, String> paramMap = new TreeMap<String, String>(); for (String key : map.keySet()) { // if ("wId".equals(key)) { // continue; // } paramMap.put(key, map.get(key).toString()); } //String sign = PayUtil.createChinaUmsSign(paramMap, smallWeChatDto.getPayPassword()); //JSONObject billPayment = JSONObject.parseObject(map.getString("billPayment")); String outTradeNo = map.get("outTransId").toString(); String outTradeNo = map.getString("outTransId"); String orderId = outTradeNo; String order = CommonCache.getAndRemoveValue(FeeDto.REDIS_PAY_OWE_FEE + orderId); service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayAdapt.java
@@ -22,6 +22,7 @@ import com.java110.core.factory.CommunitySettingFactory; import com.java110.core.factory.PlutusFactory; import com.java110.core.factory.WechatFactory; import com.java110.core.log.LoggerFactory; import com.java110.dto.owner.OwnerAppUserDto; import com.java110.dto.smallWeChat.SmallWeChatDto; import com.java110.utils.cache.MappingCache; @@ -30,7 +31,6 @@ import com.java110.utils.util.StringUtil; import org.bouncycastle.util.encoders.Base64; import org.slf4j.Logger; import com.java110.core.log.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; @@ -186,14 +186,14 @@ throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword()); //服务器返回内容 String paramOut = new String(bb); JSONObject paramObj = JSONObject.parseObject(paramOut); logger.debug("统一下单返回" + paramOut); if (paramObj.getString("paramObj") != "00") { if (!"00".equals(paramObj.getString("status"))) { throw new IllegalArgumentException("支付失败" + paramObj.getString("error")); } service-api/src/main/java/com/java110/api/smo/payment/adapt/plutuspay/PlutusPayNotifyAdapt.java
@@ -93,13 +93,13 @@ } String publicKey = CommunitySettingFactory.getRemark(smallWeChatDto.getObjId(),"PLUTUS_PUBLIC_KEY"); //验签 Boolean verify = PlutusFactory.verify256(param, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey); Boolean verify = PlutusFactory.verify256(content, org.bouncycastle.util.encoders.Base64.decode(signature),publicKey); //验签成功 if (!verify) { throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDto.getPayPassword()); //服务器返回内容 String paramOut = new String(bb); try { @@ -134,16 +134,10 @@ smallWeChatDto.setMchId(wechatAuthProperties.getMchId()); smallWeChatDto.setPayPassword(wechatAuthProperties.getKey()); } TreeMap<String, String> paramMap = new TreeMap<String, String>(); for (String key : map.keySet()) { // if ("wId".equals(key)) { // continue; // } paramMap.put(key, map.get(key).toString()); } //String sign = PayUtil.createChinaUmsSign(paramMap, smallWeChatDto.getPayPassword()); //JSONObject billPayment = JSONObject.parseObject(map.getString("billPayment")); String outTradeNo = map.get("outTransId").toString(); String outTradeNo = map.getString("outTransId"); //查询用户ID JSONObject paramIn = new JSONObject(); service-job/src/main/java/com/java110/job/adapt/fee/ReturnPayFeeToPlutusAdapt.java
@@ -64,7 +64,7 @@ @Autowired private RestTemplate outRestTemplate; public static final String wechatReturnUrl = "https://api.mch.weixin.qq.com/secapi/pay/refund"; public static final String wechatReturnUrl = "https://api.plutuspay.com/open/v2/refund"; private static Logger logger = LoggerFactory.getLogger(ReturnPayFeeMoneyAdapt.class); @@ -149,7 +149,7 @@ throw new IllegalArgumentException("支付失败签名失败"); } //解密 byte[] bb = PlutusFactory.decrypt(Base64.decode(content), PlutusFactory.SECRET_KEY); byte[] bb = PlutusFactory.decrypt(Base64.decode(content), smallWeChatDtos.get(0).getPayPassword()); //服务器返回内容 String paramOut = new String(bb);