You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					84 lines
				
				3.0 KiB
			
		
		
			
		
	
	
					84 lines
				
				3.0 KiB
			| 
											3 years ago
										 | package com.ynxbd.wx.servlet.test;
 | ||
|  | 
 | ||
|  | import com.ynxbd.common.bean.pay.Order;
 | ||
|  | import com.ynxbd.wx.config.WeChatConfig;
 | ||
|  | import com.ynxbd.common.helper.common.CodeHelper;
 | ||
|  | import com.ynxbd.common.helper.common.ErrorHelper;
 | ||
|  | import org.apache.commons.codec.digest.DigestUtils;
 | ||
|  | import weixin.popular.api.PayMchAPI;
 | ||
|  | import weixin.popular.bean.paymch.MchOrderInfoResult;
 | ||
|  | import weixin.popular.bean.paymch.MchOrderquery;
 | ||
|  | 
 | ||
|  | import java.math.BigDecimal;
 | ||
|  | 
 | ||
|  | /**
 | ||
|  |  * @Author wsq
 | ||
|  |  * @Date 2021/6/28 16:10
 | ||
|  |  * @Copyright @ 2020 云南新八达科技有限公司 All rights reserved.
 | ||
|  |  */
 | ||
|  | public class OrderTest {
 | ||
|  | 
 | ||
|  | //    public static void main(String[] args) {
 | ||
|  | //        Pay pay = queryOrder("WX560aae435d5940a677044b52df27");
 | ||
|  | //        System.out.println(JsonHelper.toJsonString(pay));
 | ||
|  | //    }
 | ||
|  | 
 | ||
|  |     /**
 | ||
|  |      * 查询订单
 | ||
|  |      *
 | ||
|  |      * @param outTradeNo 订单号
 | ||
|  |      * @return 订单信息
 | ||
|  |      */
 | ||
|  |     public static Order queryOrder(String outTradeNo) {
 | ||
|  |         Order order = new Order();
 | ||
|  |         try {
 | ||
|  |             MchOrderquery mchOrderquery = new MchOrderquery();
 | ||
|  |             String appId = WeChatConfig.APP_ID;
 | ||
|  |             String mchId = WeChatConfig.MCH_ID;
 | ||
|  |             String mchKey = WeChatConfig.MCH_KEY;
 | ||
|  | 
 | ||
|  |             mchOrderquery.setAppid(appId);
 | ||
|  |             mchOrderquery.setMch_id(mchId);
 | ||
|  |             mchOrderquery.setOut_trade_no(outTradeNo);
 | ||
|  |             mchOrderquery.setNonce_str(CodeHelper.get32UUID());
 | ||
|  | 
 | ||
|  |             MchOrderInfoResult mchOrderInfoResult = PayMchAPI.payOrderquery(mchOrderquery, mchKey);
 | ||
|  |             if (!"SUCCESS".equals(mchOrderInfoResult.getReturn_code())) {
 | ||
|  |                 order.setErrorCode(mchOrderInfoResult.getReturn_code());
 | ||
|  |                 order.setErrorMsg(mchOrderInfoResult.getReturn_msg());
 | ||
|  |                 return order;
 | ||
|  |             }
 | ||
|  | 
 | ||
|  |             // 业务发生错误
 | ||
|  |             if (!"SUCCESS".equals(mchOrderInfoResult.getResult_code())) {
 | ||
|  |                 order.setErrorCode(mchOrderInfoResult.getErr_code());
 | ||
|  |                 order.setErrorMsg(mchOrderInfoResult.getErr_code_des());
 | ||
|  |                 return order;
 | ||
|  |             }
 | ||
|  | 
 | ||
|  |             // 交易成功
 | ||
|  |             if ("SUCCESS".equals(mchOrderInfoResult.getTrade_state())) {
 | ||
|  |                 order.setSuccess(true);
 | ||
|  |                 order.setBankTransNo(mchOrderInfoResult.getTransaction_id());
 | ||
|  |             } else {
 | ||
|  |                 order.setErrorCode(mchOrderInfoResult.getTrade_state());
 | ||
|  |                 order.setErrorMsg(mchOrderInfoResult.getTrade_state_desc());
 | ||
|  |             }
 | ||
|  | 
 | ||
|  |             order.setOutTradeNo(outTradeNo);
 | ||
|  |             order.setTotalFee(new BigDecimal(mchOrderInfoResult.getTotal_fee()).movePointLeft(2));
 | ||
|  |         } catch (Exception e) {
 | ||
|  |             ErrorHelper.println(e);
 | ||
|  |             order.setErrorMsg(e.getMessage());
 | ||
|  |         }
 | ||
|  |         return order;
 | ||
|  |     }
 | ||
|  | 
 | ||
|  |     public static void main(String[] args){
 | ||
|  |         String piMd5 = "9444144" + "T2001" + "xbd";
 | ||
|  |         piMd5 = DigestUtils.md5Hex(piMd5).toUpperCase();
 | ||
|  |         System.out.println(piMd5);
 | ||
|  | 
 | ||
|  |     }
 | ||
|  | }
 |