//统一回调FROM请求
@PostMapping( value = "/callback/{payCode}", consumes = { MediaType.APPLICATION_FORM_URLENCODED_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE } )
public String callbackForm( HttpServletRequest request,@PathVariable("payCode") String payCode ) throws Exception {
String realIp = ServletUtil.getIp( request );
Map<String, String[]> requestMap = request.getParameterMap();
Map<String, Object> map = new HashMap<>();
requestMap.forEach( ( k, v ) -> map.put( k, v[ 0 ] ) );
BasePay basePay = payProcessorFactoryUtil.createPayProcessor( payCode );
log.warn( "{}充值回调 - realIp:{};bodyMap:{}", basePay.getName(), realIp, JsonUtil.object2Json( requestMap ) );
return basePay.callbackPay( map, realIp );
}
//统一回调JSON请求
@PostMapping( value = "/callback/{payCode}", consumes = { MediaType.APPLICATION_JSON_VALUE } )
public String callbackJson( HttpServletRequest request, @RequestBody Map<String, Object> requestMap,@PathVariable("payCode") String payCode ) {
String realIp = ServletUtil.getIp( request );
BasePay basePay = payProcessorFactoryUtil.createPayProcessor( payCode );
log.warn( "{}充值回调 - realIp:{};bodyMap:{}", basePay.getName(), realIp, JsonUtil.object2Json( requestMap ) );
return basePay.callbackPay( requestMap, realIp );
}
//统一回调GET请求
@GetMapping( value = "/callback/{payCode}" )
public String callbackGet( HttpServletRequest request, @PathVariable("payCode") String payCode ) throws Exception {
String realIp = ServletUtil.getIp( request );
Map<String, String[]> requestMap = request.getParameterMap();
Map<String, Object> map = new HashMap<>();
requestMap.forEach( ( k, v ) -> map.put( k, v[ 0 ] ) );
BasePay basePay = payProcessorFactoryUtil.createPayProcessor( payCode );
log.warn( "{}充值回调 - realIp:{};bodyMap:{}", basePay.getName(), realIp, JsonUtil.object2Json( requestMap ) );
return basePay.callbackPay( map, realIp );
}
//统一回调TEXT请求
@PostMapping( value = "/callback/{payCode}", consumes = { MediaType.TEXT_PLAIN_VALUE } )
public String callbackText( HttpServletRequest request, @RequestBody String body, @PathVariable("payCode") String payCode ) throws Exception {
String realIp = ServletUtil.getIp( request );
Map<String, Object> map = new HashMap<>();
map.put( "data", body );
BasePay basePay = payProcessorFactoryUtil.createPayProcessor( payCode );
log.warn( "{}充值回调 - realIp:{};bodyMap:{}", basePay.getName(), realIp, body );
return basePay.callbackPay( map, realIp );
}
支付代付回调请求接收
最新推荐文章于 2024-09-06 19:44:14 发布
本文介绍了如何通过单一接口处理不同请求方式(form, json, get, text)的充值回调,包括参数映射、IP获取和调用支付处理模块。展示了Spring Boot中处理四种回调请求的代码片段。
2525

被折叠的 条评论
为什么被折叠?



