- JSAPI支付成功,但是回调的xml内容为1,解析报错,怎么处理?
@ResponseBody @SneakyThrows @ApiLog("微信渠道支付回调") @PostMapping("/wechat/payNotify") public String payNotify(HttpServletRequest request) { String xmlMsg = HttpKit.readData(request); log.info("微信渠道支付回调的xmlMsg ------------- " + xmlMsg); Map<String, String> params = WxPayKit.xmlToMap(xmlMsg); // 注意重复通知的情况,同一订单号可能收到多次通知,请注意一定先判断订单状态 // 注意此处签名方式需与统一下单的签名类型一致 if (WxPayKit.verifyNotify(params, WxPayApiConfigKit.getWxPayApiConfig().getPartnerKey(), SignType.HMACSHA256)) { log.info("微信渠道支付回调的param-------" + JsonUtil.toJson(params)); String returnCode = params.get("return_code"); if (WxPayKit.codeIsOk(returnCode)) { //此处区分订单类型 String orderType = params.get("attach"); String orderId = params.get("out_trade_no"); //处理具体业务数据 this.notifyDealBusiness(orderType, orderId); // 返回接收信号 Map<String, String> xml = new HashMap<String, String>(2); xml.put("return_code", "SUCCESS"); xml.put("return_msg", "OK"); return WxPayKit.toXml(xml); } } return null; }
08-12 - 支付成功后,回调解释xml内容为1,怎么回事?
Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 29; 前言中不允许有内容。 String xmlMsg = HttpKit.readData(request); log.info("微信渠道支付回调的xmlMsg ------------- " + xmlMsg); Map<String, String> params = WxPayKit.xmlToMap(xmlMsg); 我用jdom手动解析,或者ijpay去解析都是报这个错 交易单号 4200002352202408125391307575
08-12