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); } }