NutzCN Logo
问答 微信支付通知,使用@ok("raw") 返回 xml 格式问题
发布于 2422天前 作者 xiejibiao 1748 次浏览 复制 上一个帖子 下一个帖子
标签:

微信支付通知,使用@ok("raw") ,将xml 格式String 串返回给微信,可是微信端好像没收到似的

2 回复

返回的内容不对吧

这是回调的方法

@At("/payCallBack")
	@Ok("raw")
	public String payCallBack (HttpServletRequest req) throws Exception {

		log.info("\n\n\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>微信回调开始>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n\n\n\n");
        
		String xmlStr = WxUtil.getXmlString(req);
		Map<String, Object> map = WxUtil.xmlToMap(xmlStr);
		
		// 验证返回是否成功
		if (map.get("return_code").equals("SUCCESS")) {
			log.info("通信成功>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
			// 验证签名是否正确
			if (WxPaySign.createSign(PropertiesUtil.readProperty("wxpay_key"), map).equals(map.get("sign"))) {
				// 修改订单支付状态
				wbWalletService.updateOrderStatus(map.get("out_trade_no").toString());
				
//				// 修改赞赏状态
				wbAppreciateService.updatePayStatus(map.get("out_trade_no").toString());
				
			}
		}
		log.info("\n\n\n\n\n>>>>>>>>>>>>>>>>>>>>>>>>微信回调结束>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>\n\n\n\n\n");
		String str = WxUtil.returnXML(map.get("return_code").toString());
		return str;
	}

这是组成的xml

/**
     * 返回给微信服务端的xml
     * @param return_code
     * @return
     */
    public static String returnXML(String return_code) {

        return "<xml><return_code><![CDATA["

                + return_code

                + "]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
    }
添加回复
请先登陆
回到顶部