微信的支付回調爲xml格式。支付寶回調爲json格式。返回的格式如何處理
首先看下回調的入參通過處理後長啥樣。
微信的支付回調:
支付寶的支付回調:
微信的支付回調處理:web
StringBuilder sb = new StringBuilder(); String inputLine; while ((inputLine = request.getReader().readLine()) != null) { sb.append(inputLine); } request.getReader().close(); String jsonStr = JSON.toJSONString(sb.toString()).replace("<![CDATA[", "").replace("]]>", "").replace("\"", ""); LOGGER.info("微信支付回調參數:"+jsonStr);
支付寶:json
Map<String, String> map = new HashMap<>(); Map<String, String[]> requestParams = request.getParameterMap(); for (Iterator<String> iter = requestParams.keySet().iterator(); iter.hasNext(); ) { String name = iter.next(); String[] values = requestParams.get(name); String valueStr = ""; for (int i = 0; i < values.length; i++) { valueStr = (i == values.length - 1) ? valueStr + values[i] : valueStr + values[i] + ","; } map.put(name, valueStr); } JSONObject requestObject = JSONObject.parseObject(JSONObject.toJSONString(map)); LOGGER.info("阿里支付回調參數:"+ requestObject);