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/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();
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user