支付宝支付回调

/**

* 支付宝支付回调

*

* @param request

* @param response

*/

@RequestMapping(value ="/alipay_callback",produces ="text/html;charset=UTF-8")

public String aliReturnPay(HttpServletRequest request, HttpServletResponse response) {

String merchantKey ="SHDD1SCASFH4VRDBBRCS3HE6BYL97ERN";

Map params =convertRequestParamsToMap(request);// 将异步通知中收到的待验证所有参数都存放到map中

    JSONObject jsonObject = JSONUtil.parseObj(params);

try {

log.info("支付宝回调签名认证成功");

String merBillNo = jsonObject.getStr("out_trade_no");

//判断订单是否存在

executorService.execute(new Runnable() {

@Override

                public void run() {

String tradeStatus =jsonObject.getStr("trade_status");

if (StrUtil.equals(tradeStatus,"TRADE_SUCCESS") || StrUtil.equals(tradeStatus,"TRADE_FINISHED")) {

//支付成功逻辑

try {

//回调业务处理

}catch (Exception e) {

log.error("支付宝回调业务处理报错,params:" +jsonObject, e);

}

}else {

//支付失败

                        log.error("没有处理支付宝回调业务,支付宝交易状态{},params:{}", tradeStatus,jsonObject);

}

}

});

return "success";

}catch (Exception e) {

e.printStackTrace();

return "failure";

}

}

你可能感兴趣的:(支付宝支付回调)