收藏
回答

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;
}


回答关注问题邀请回答
收藏

1 个回答

  • 支付社区运营
    支付社区运营
    08-13

    原始报文日志信息打印确认下

    08-13
    有用
    回复
登录 后发表内容