@Action("/pay/alipayWAP") public void alipayWAP() { if (payment()) { try { LOG.info("alipayWAP request init data:" + alipayWAPPostData.getRequestParams()); // 获取授权令牌 AlipayWAPResponseResult resResult = getRequestToken(); log.info(StringUtil.printParam(resResult)); String businessResult = ""; if (resResult.isSuccess()) { businessResult = resResult.getBusinessResult(); } else { // 授权令牌错误 String errorMessage = "errorCode:" + resResult.getErrorMessage().getCode() + ",subErrorCode:" + resResult.getErrorMessage().getSubCode() + ",errorMsg:" + resResult.getErrorMessage().getMsg() + ",errorDetail:" + resResult.getErrorMessage().getDetail(); log.error(errorMessage); PayPayment payment = new PayPayment(); payment.setPaymentTradeNo(alipayWAPPostData.getOutTradeNo()); payment.setCallbackInfo(errorMessage); payment.setCallbackTime(new Date()); getPayPaymentService().callBackPayPayment(payment, false); return; } XMap xmap = new XMap(); xmap.register(AlipayWAPDirectTradeCreateRes.class); AlipayWAPDirectTradeCreateRes directTradeCreateRes = (AlipayWAPDirectTradeCreateRes) xmap.load( new ByteArrayInputStream( businessResult.getBytes(alipayWAPPostData.getCharset()))); String requestToken = directTradeCreateRes.getRequestToken(); // 封装交易参数 Map<String, String> authParams = alipayWAPPostData.initExecuteParams(requestToken); String redirectURL = alipayWAPPostData.getReqUrl() + "?" + AlipayUtil.mapToUrl(authParams); log.info("redirectURL:" + redirectURL); // sendAjaxMsg(redirectURL); // getRequest().getRequestDispatcher(redirectURL).forward(getRequest(), getResponse()); getResponse().sendRedirect(redirectURL); } catch (Exception e) { e.printStackTrace(); } } }