Commit 8fc9051e authored by shangtx's avatar shangtx

feat: 去掉支付回调try/catch

parent a2a46aaa
......@@ -46,60 +46,53 @@ public class WechatNotifyController {
public void notify(HttpServletRequest request, HttpServletResponse response) throws Exception {
//WechatPayMyConfigMini config = new WechatPayMyConfigMini();
PrintWriter out = null;
try {
log.info("微信支付成功回调通知开始!");
StringBuffer sb = new StringBuffer();
InputStream is = request.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s);
}
log.info("微信支付成功回调通知内容:" + sb.toString());
if (StringUtils.isNotEmpty(sb.toString())) {
// 解析xml
Map<String, String> paramMap = ParseXmlUtil.parseXml2Map(sb.toString());
String returnCode = paramMap.get("return_code").toString();
log.info("微信支付成功返回result_code:" + returnCode);
String outTradeNo = paramMap.get("out_trade_no").toString();
log.info("微信支付成功回调通知开始!");
StringBuffer sb = new StringBuffer();
InputStream is = request.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String s = "";
while ((s = br.readLine()) != null) {
sb.append(s);
}
log.info("微信支付成功回调通知内容:" + sb.toString());
if (StringUtils.isNotEmpty(sb.toString())) {
// 解析xml
Map<String, String> paramMap = ParseXmlUtil.parseXml2Map(sb.toString());
String returnCode = paramMap.get("return_code").toString();
log.info("微信支付成功返回result_code:" + returnCode);
String outTradeNo = paramMap.get("out_trade_no").toString();
var payChannels = payChannelWechatMapper.selectAll();
if (payChannels.isEmpty()) {
throw new ServiceException("未配置商户信息");
}
var payChannel = payChannels.get(0);
String transactionId = paramMap.get("transaction_id").toString();
//支付响应记录日志
var payChannels = payChannelWechatMapper.selectAll();
if (payChannels.isEmpty()) {
throw new ServiceException("未配置商户信息");
}
var payChannel = payChannels.get(0);
String transactionId = paramMap.get("transaction_id").toString();
//支付响应记录日志
// savePayResponseLog(outTradeNo, transactionId, returnCode, sb.toString());
if (RETURN_CODE_SUCCESS.equals(returnCode)) {
if (validateSign(paramMap, payChannel.getWechatKey())) {
//更新支付凭证支付状态
orderBizService.paySuccess(outTradeNo, sb.toString());
out = response.getWriter();
// 通知微信,防止微信再通知
response.setContentType("application/xml");
out.write("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>");
out.flush();
out.close();
} else {
log.warn("微信支付成功回调通知签名校验失败,请检查!");
}
if (RETURN_CODE_SUCCESS.equals(returnCode)) {
if (validateSign(paramMap, payChannel.getWechatKey())) {
//更新支付凭证支付状态
orderBizService.paySuccess(outTradeNo, sb.toString());
out = response.getWriter();
// 通知微信,防止微信再通知
response.setContentType("application/xml");
out.write("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>");
out.flush();
out.close();
} else {
log.warn("微信支付成功回调通知返回码不成功(RETURN_CODE),请检查!");
log.warn("微信支付成功回调通知签名校验失败,请检查!");
}
} else {
log.warn("微信支付成功回调通知内容为空,请检查!");
log.warn("微信支付成功回调通知返回码不成功(RETURN_CODE),请检查!");
}
} catch (Exception e) {
log.error("notify() Exception exception:", e);
e.printStackTrace();
} else {
log.warn("微信支付成功回调通知内容为空,请检查!");
}
}
/**
* 微信通知签名校验
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment