123
This commit is contained in:
@@ -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";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ public class EncryptionFilter implements Filter {
|
||||
IGNORE_URL.add("/api/yx/im/check");
|
||||
IGNORE_URL.add("/api/pay/trd/notify/v1");
|
||||
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();
|
||||
|
||||
|
||||
@@ -71,6 +71,13 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
|
||||
return PayReturnResp.createApp(appStr);
|
||||
}
|
||||
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;
|
||||
}
|
||||
@@ -137,7 +144,7 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
|
||||
for (String key : jsonObject.keySet()) {
|
||||
objectJson.put(key, jsonObject.getString(key));
|
||||
}
|
||||
payManager.callBack(mchOrderNo,payOrderId,objectJson,productId, PayTypeEnum.TRD);
|
||||
payManager.callBack(mchOrderNo,payOrderId,objectJson,"V1", PayTypeEnum.TRD);
|
||||
}
|
||||
return jsonObject;
|
||||
}else if(typeEnum == TrdPayTypeEnum.V2){
|
||||
@@ -154,7 +161,24 @@ public class PayTrdConfigServiceImpl extends ServiceImpl<PayTrdConfigMapper, Pay
|
||||
for (String key : jsonObject.keySet()) {
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import lombok.Getter;
|
||||
public enum TrdPayTypeEnum {
|
||||
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"),
|
||||
V3("http://pay.linken.click/api","/pay/create_order","/pay/query_order","/api/pay/trd/notify/v3"),
|
||||
;
|
||||
private final String gatewayUrl;
|
||||
private final String createOrderUrl;
|
||||
|
||||
Reference in New Issue
Block a user