新零售支付全家桶


商户平台接受支付结果

我们已经写好了商户系统接收微信平台支付通知的WEB接口,通过模拟测试,这个接口接收到通知消息之后,真的能修改订单的状态。如果将来咱们的项目正式上线以后,那么创建微信支付订单的时候,我们就可以写这个WEB接口的网址,于是WEB接口就能收到微信平台的支付通知了。

@ApiOperation("接收消息通知")
@RequestMapping("/recieveMessage")
public void recieveMessage(HttpServletRequest request, HttpServletResponse response) throws Exception {
    request.setCharacterEncoding("utf-8");
    Reader reader = request.getReader();
    BufferedReader buffer = new BufferedReader(reader);
    String line = buffer.readLine();
    StringBuffer temp = new StringBuffer();
    while (line != null) {
    temp.append(line);
        line = buffer.readLine();
    }
    buffer.close();
    reader.close();
    Map<String, String> map = WXPayUtil.xmlToMap(temp.toString());
    String resultCode = map.get("result_code");
    String returnCode = map.get("return_code");
    if ("SUCCESS".equals(resultCode) && "SUCCESS".equals(returnCode)) {
        String outTradeNo = map.get("out_trade_no");
        UpdateWrapper wrapper = new UpdateWrapper();
        wrapper.eq("code", outTradeNo);
        wrapper.set("status", 2);
        orderService.update(wrapper);
        response.setCharacterEncoding("utf-8");
        response.setContentType("application/xml");
        Writer writer = response.getWriter();
        BufferedWriter bufferedWriter = new BufferedWriter(writer);
        bufferedWriter.write("<xml><return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg></xml>");
        bufferedWriter.close();
        writer.close();
    }
}

页面列表

ITEM_HTML