支付完成后,微信会把相关支付结果及用户信息通过数据流的形式发送给商户,商户需要接收处理,并按文档规范返回应答,官方说明如下:
编码思路:通过流获取微信官方传过来的数据,再根据官方提示进行验签以及业务校验
代码如下:此代码仅供思路参考,具体需因个人不同的业务稍作修改
/**
* 返回成功xml
*/
private String resSuccessXml = "<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>";
/**
* 返回失败xml
*/
private String resFailXml = "<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[报文为空]]></return_msg></xml>";
/**
* 微信支付反馈
*
* @param request
* @throws Exception
*/
@RequestMapping(value = "notifyWxPay", method = RequestMethod.POST)
public String notifyWxPay(HttpServletRequest request) throws Exception {
MyConfig config = new MyConfig();
WXPay wxpay = new WXPay(config);
InputStream inputStream = request