微信支付代码


支付成功后去再次验证支付状态
try {
							   // 到微信查询支付状态
							   Map<String, String> accountParamsMap =accountsMap.get(SalesOrder.PAY_ACCOUNT_KEY_WECHAT);
							   
							   OrderQueryResponseCommand queryResult = wechatPaymentService.orderQuery(accountParamsMap.get(PaymentAccountCommand.Wechat.appid.name()), 
									   accountParamsMap.get(PaymentAccountCommand.Wechat.partnerId.name()), 
									   accountParamsMap.get(PaymentAccountCommand.Wechat.paySignKey.name()), paymentInfo.getSerialNumber());
							   if(queryResult != null) {
							       if(OrderQueryResponseCommand.TRADE_STATE_SUCCESS.equals(queryResult.getTrade_state()) ||
								       OrderQueryResponseCommand.TRADE_STATE_USERPAYING.equals(queryResult.getTrade_state())) {
								      // 支付成功和支付中不允许取消
							       throw new OrderException("Orders canceled Exception : order code : " 
							      		   + orderCommand.getCode() + " , order payment status: " 
								   		   + queryResult.getTrade_state() + " ; reason: already paid! ",
								   		       OrderExceptionType.ALREADY_PAY_BY_THIRDPART, orderCommand);
								    }else if(OrderQueryResponseCommand.TRADE_STATE_CLOSED.equals(queryResult.getTrade_state())) 
								    	isNotNeedClose =true;
						        }
							} catch (WechatException e) {
								// 订单查询的异常不做额外处理,只记录日志
								LOGGER.error("warn: validateCancel exception: orderCode:" + orderCommand.getCode() + "," + e.getMessage(), e);
							}

猜你喜欢

转载自572327713.iteye.com/blog/2380227
今日推荐