This commit is contained in:
鲨鱼
2024-12-13 09:53:13 +08:00
parent 554d86a3b1
commit e3b42216f1
4 changed files with 48 additions and 2 deletions

View File

@@ -326,4 +326,24 @@ public class PayController {
} }
} }
@PostMapping(value = "/trd/notify/v3")
@Operation(hidden = true)
@Log(title = "第三方支付回调V3", businessType = BusinessType.OTHER, isSaveDb = false)
@SaIgnore
public String trdNotifyUrlV3(HttpServletRequest request) {
try {
Map<String, String> params = AliPayApi.toMap(request);
log.info("第三方支付回调V3:{}",JSON.toJSONString(params));
String mchOrderNo = params.get("mchOrderNo");
String payOrderId = params.get("payOrderId");
String productId = params.get("productId");
payManager.callBack(mchOrderNo,payOrderId,params,"V3", PayTypeEnum.TRD);
return "success";
} catch (Exception e) {
log.error("第三方支付回调失败!",e);
return "failure";
}
}
} }

View File

@@ -25,6 +25,7 @@ public class EncryptionFilter implements Filter {
IGNORE_URL.add("/api/yx/im/check"); IGNORE_URL.add("/api/yx/im/check");
IGNORE_URL.add("/api/pay/trd/notify/v1"); IGNORE_URL.add("/api/pay/trd/notify/v1");
IGNORE_URL.add("/api/pay/trd/notify/v2"); IGNORE_URL.add("/api/pay/trd/notify/v2");
IGNORE_URL.add("/api/pay/trd/notify/v3");
} }
private static final AntPathMatcher ANT_PATH_MATCHER = new AntPathMatcher(); private static final AntPathMatcher ANT_PATH_MATCHER = new AntPathMatcher();

View File

@@ -71,6 +71,13 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
return PayReturnResp.createApp(appStr); return PayReturnResp.createApp(appStr);
} }
return PayReturnResp.createH5(JSON.toJSONString(jsonObject)); return PayReturnResp.createH5(JSON.toJSONString(jsonObject));
}else if(typeEnum == TrdPayTypeEnum.V3){
if(!"SUCCESS".equals(jsonObject.getString("retCode"))){
log.info("第三方支付失败 V3统一支付失败失败 dto={}, payTrdConfig={}, typeEnum={}", JSON.toJSONString(dto), JSON.toJSONString(payTrdConfig),JSON.toJSONString(jsonObject));
throw new ServiceException("调用支付失败");
}
String payUrl = jsonObject.getJSONObject("payParams").getString("payUrl");
return PayReturnResp.createH5(payUrl);
} }
return null; return null;
} }
@@ -137,7 +144,7 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
for (String key : jsonObject.keySet()) { for (String key : jsonObject.keySet()) {
objectJson.put(key, jsonObject.getString(key)); objectJson.put(key, jsonObject.getString(key));
} }
payManager.callBack(mchOrderNo,payOrderId,objectJson,productId, PayTypeEnum.TRD); payManager.callBack(mchOrderNo,payOrderId,objectJson,"V1", PayTypeEnum.TRD);
} }
return jsonObject; return jsonObject;
}else if(typeEnum == TrdPayTypeEnum.V2){ }else if(typeEnum == TrdPayTypeEnum.V2){
@@ -154,7 +161,24 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
for (String key : jsonObject.keySet()) { for (String key : jsonObject.keySet()) {
objectJson.put(key, jsonObject.getString(key)); objectJson.put(key, jsonObject.getString(key));
} }
payManager.callBack(mchOrderNo,payOrderId,objectJson,productId, PayTypeEnum.TRD); payManager.callBack(mchOrderNo,payOrderId,objectJson,"V2", PayTypeEnum.TRD);
}
return jsonObject;
}else if(typeEnum == TrdPayTypeEnum.V3){ // V1
if(!"SUCCESS".equals(jsonObject.getString("retCode"))){
log.info("第三方支付失败 V3统一支付失败失败 orderNo={}, payTrdConfig={}, typeEnum={}", orderNo, JSON.toJSONString(payTrdConfig),JSON.toJSONString(typeEnum));
throw new ServiceException("调用支付失败");
}
Integer status = jsonObject.getInteger("status");
if(status != null && status.equals(2)){
String mchOrderNo = jsonObject.getString("mchOrderNo");
String payOrderId = jsonObject.getString("payOrderId");
String productId = jsonObject.getString("productId");
Map<String,String> objectJson = new HashMap<>();
for (String key : jsonObject.keySet()) {
objectJson.put(key, jsonObject.getString(key));
}
payManager.callBack(mchOrderNo,payOrderId,objectJson,"V3", PayTypeEnum.TRD);
} }
return jsonObject; return jsonObject;
} }

View File

@@ -7,6 +7,7 @@ import lombok.Getter;
public enum TrdPayTypeEnum { public enum TrdPayTypeEnum {
V1("http://pay.jpay.one/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v1"), V1("http://pay.jpay.one/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v1"),
V2("http://121.40.24.67:56700/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v2"), V2("http://121.40.24.67:56700/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v2"),
V3("http://pay.linken.click/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v3"),
; ;
private final String gatewayUrl; private final String gatewayUrl;
private final String createOrderUrl; private final String createOrderUrl;