mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 02:28:25 +08:00 
			
		
		
		
	增加公众号支付信息查询接口
修改部分注释
This commit is contained in:
		| @ -543,7 +543,7 @@ public interface WxMpService { | |||||||
|   void setMaxRetryTimes(int maxRetryTimes); |   void setMaxRetryTimes(int maxRetryTimes); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 统一下单(详见http://pay.weixin.qq.com/wiki/doc/api/index.php?chapter=9_1) |      * 统一下单(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1) | ||||||
|      * 在发起微信支付前,需要调用统一下单接口,获取"预支付交易会话标识" |      * 在发起微信支付前,需要调用统一下单接口,获取"预支付交易会话标识" | ||||||
|      * @param openId 支付人openId |      * @param openId 支付人openId | ||||||
|      * @param outTradeNo 商户端对应订单号 |      * @param outTradeNo 商户端对应订单号 | ||||||
| @ -570,4 +570,11 @@ public interface WxMpService { | |||||||
|      */ |      */ | ||||||
|     Map<String, String> getJSSDKPayInfo(String openId, String outTradeNo, double amt, String body, String tradeType, String ip, String notifyUrl); |     Map<String, String> getJSSDKPayInfo(String openId, String outTradeNo, double amt, String body, String tradeType, String ip, String notifyUrl); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 该接口提供所有微信支付订单的查询,当支付通知处理异常戒丢失的情冴,商户可以通过该接口查询订单支付状态。 | ||||||
|  |      * 详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2 | ||||||
|  |      * @param transactionId | ||||||
|  |      * @param outTradeNo | ||||||
|  |      */ | ||||||
|  |     WxMpPayResult getJSSDKPayResult(String transactionId, String outTradeNo); | ||||||
| } | } | ||||||
|  | |||||||
| @ -705,4 +705,48 @@ public class WxMpServiceImpl implements WxMpService { | |||||||
|     payInfo.put("sign", finalSign); |     payInfo.put("sign", finalSign); | ||||||
|     return payInfo; |     return payInfo; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   @Override | ||||||
|  |   public WxMpPayResult getJSSDKPayResult(String transactionId, String outTradeNo) { | ||||||
|  |       String nonce_str = System.currentTimeMillis() + ""; | ||||||
|  |  | ||||||
|  |       SortedMap<String, String> packageParams = new TreeMap<String, String>(); | ||||||
|  |       packageParams.put("appid", wxMpConfigStorage.getAppId()); | ||||||
|  |       packageParams.put("mch_id", wxMpConfigStorage.getPartnerId()); | ||||||
|  |       packageParams.put("transaction_id", transactionId); | ||||||
|  |       packageParams.put("out_trade_no", outTradeNo); | ||||||
|  |       packageParams.put("nonce_str", nonce_str); | ||||||
|  |  | ||||||
|  |       String sign = WxCryptUtil.createSign(packageParams, wxMpConfigStorage.getPartnerKey()); | ||||||
|  |       String xml = "<xml>" + | ||||||
|  |               "<appid>" + wxMpConfigStorage.getAppId() + "</appid>" + | ||||||
|  |               "<mch_id>" + wxMpConfigStorage.getPartnerId() + "</mch_id>" + | ||||||
|  |               "<transaction_id>" + transactionId + "</transaction_id>" + | ||||||
|  |               "<out_trade_no>" + outTradeNo + "</out_trade_no>" + | ||||||
|  |               "<nonce_str>" + nonce_str + "</nonce_str>" + | ||||||
|  |               "<sign>" + sign + "</sign>" + | ||||||
|  |               "</xml>"; | ||||||
|  |  | ||||||
|  |       HttpPost httpPost = new HttpPost("https://api.mch.weixin.qq.com/pay/orderquery"); | ||||||
|  |       if (httpProxy != null) { | ||||||
|  |         RequestConfig config = RequestConfig.custom().setProxy(httpProxy).build(); | ||||||
|  |         httpPost.setConfig(config); | ||||||
|  |       } | ||||||
|  |  | ||||||
|  |       StringEntity entity = new StringEntity(xml, Consts.UTF_8); | ||||||
|  |       httpPost.setEntity(entity); | ||||||
|  |       try { | ||||||
|  |         CloseableHttpResponse response = httpClient.execute(httpPost); | ||||||
|  |         String responseContent = Utf8ResponseHandler.INSTANCE.handleResponse(response); | ||||||
|  |         XStream xstream = XStreamInitializer.getInstance(); | ||||||
|  |         xstream.alias("xml", WxMpPayResult.class); | ||||||
|  |         WxMpPayResult wxMpPayResult = (WxMpPayResult) xstream.fromXML(responseContent); | ||||||
|  |         return wxMpPayResult; | ||||||
|  |       } catch (IOException e) { | ||||||
|  |         e.printStackTrace(); | ||||||
|  |       } | ||||||
|  |       return new WxMpPayResult(); | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |    | ||||||
| } | } | ||||||
|  | |||||||
| @ -0,0 +1,215 @@ | |||||||
|  | package me.chanjar.weixin.mp.bean.result; | ||||||
|  |  | ||||||
|  | import java.io.Serializable; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * <pre> | ||||||
|  |  * 查询订单支付状态返回的结果 | ||||||
|  |  *  | ||||||
|  |  * 查询订单(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_2) | ||||||
|  |  * | ||||||
|  |  * </pre> | ||||||
|  |  * | ||||||
|  |  * @author ukid | ||||||
|  |  */ | ||||||
|  | public class WxMpPayResult implements Serializable { | ||||||
|  |     private String return_code; | ||||||
|  |     private String return_msg; | ||||||
|  |     private String appid; | ||||||
|  |     private String mch_id; | ||||||
|  |     private String nonce_str; | ||||||
|  |     private String sign; | ||||||
|  |     private String result_code; | ||||||
|  |     private String err_code; | ||||||
|  |     private String err_code_des; | ||||||
|  |     private String trade_state; | ||||||
|  |     private String device_info; | ||||||
|  |     private String openid; | ||||||
|  |     private String is_subscribe; | ||||||
|  |     private String trade_type; | ||||||
|  |     private String bank_type; | ||||||
|  |     private String total_fee; | ||||||
|  |     private String coupon_fee; | ||||||
|  |     private String fee_type; | ||||||
|  |     private String transaction_id; | ||||||
|  |     private String out_trade_no; | ||||||
|  |     private String attach; | ||||||
|  |     private String time_end; | ||||||
|  |  | ||||||
|  |     public String getReturn_code() { | ||||||
|  |         return return_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getReturn_msg() { | ||||||
|  |         return return_msg; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getAppid() { | ||||||
|  |         return appid; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getMch_id() { | ||||||
|  |         return mch_id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getNonce_str() { | ||||||
|  |         return nonce_str; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getSign() { | ||||||
|  |         return sign; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getResult_code() { | ||||||
|  |         return result_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getErr_code() { | ||||||
|  |         return err_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getErr_code_des() { | ||||||
|  |         return err_code_des; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getTrade_state() { | ||||||
|  |         return trade_state; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getDevice_info() { | ||||||
|  |         return device_info; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getOpenid() { | ||||||
|  |         return openid; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getIs_subscribe() { | ||||||
|  |         return is_subscribe; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getTrade_type() { | ||||||
|  |         return trade_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getBank_type() { | ||||||
|  |         return bank_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getTotal_fee() { | ||||||
|  |         return total_fee; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getCoupon_fee() { | ||||||
|  |         return coupon_fee; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getFee_type() { | ||||||
|  |         return fee_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getTransaction_id() { | ||||||
|  |         return transaction_id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getOut_trade_no() { | ||||||
|  |         return out_trade_no; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getAttach() { | ||||||
|  |         return attach; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public String getTime_end() { | ||||||
|  |         return time_end; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setReturn_code(String return_code) { | ||||||
|  |         this.return_code = return_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setReturn_msg(String return_msg) { | ||||||
|  |         this.return_msg = return_msg; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAppid(String appid) { | ||||||
|  |         this.appid = appid; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setMch_id(String mch_id) { | ||||||
|  |         this.mch_id = mch_id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setNonce_str(String nonce_str) { | ||||||
|  |         this.nonce_str = nonce_str; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setSign(String sign) { | ||||||
|  |         this.sign = sign; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setResult_code(String result_code) { | ||||||
|  |         this.result_code = result_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setErr_code(String err_code) { | ||||||
|  |         this.err_code = err_code; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setErr_code_des(String err_code_des) { | ||||||
|  |         this.err_code_des = err_code_des; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTrade_state(String trade_state) { | ||||||
|  |         this.trade_state = trade_state; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setDevice_info(String device_info) { | ||||||
|  |         this.device_info = device_info; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOpenid(String openid) { | ||||||
|  |         this.openid = openid; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setIs_subscribe(String is_subscribe) { | ||||||
|  |         this.is_subscribe = is_subscribe; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTrade_type(String trade_type) { | ||||||
|  |         this.trade_type = trade_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setBank_type(String bank_type) { | ||||||
|  |         this.bank_type = bank_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTotal_fee(String total_fee) { | ||||||
|  |         this.total_fee = total_fee; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setCoupon_fee(String coupon_fee) { | ||||||
|  |         this.coupon_fee = coupon_fee; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setFee_type(String fee_type) { | ||||||
|  |         this.fee_type = fee_type; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTransaction_id(String transaction_id) { | ||||||
|  |         this.transaction_id = transaction_id; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setOut_trade_no(String out_trade_no) { | ||||||
|  |         this.out_trade_no = out_trade_no; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setAttach(String attach) { | ||||||
|  |         this.attach = attach; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     public void setTime_end(String time_end) { | ||||||
|  |         this.time_end = time_end; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -4,10 +4,9 @@ import java.io.Serializable; | |||||||
|  |  | ||||||
| /** | /** | ||||||
|  * <pre> |  * <pre> | ||||||
|  * 群发消息一发送就返回的结果 |  * 在发起微信支付前,需要调用统一下单接口,获取"预支付交易会话标识"返回的结果 | ||||||
|  * |  * | ||||||
|  * 真正的群发消息是否发送成功要看 |  * 统一下单(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1) | ||||||
|  * http://mp.weixin.qq.com/wiki/index.php?title=高级群发接口#.E4.BA.8B.E4.BB.B6.E6.8E.A8.E9.80.81.E7.BE.A4.E5.8F.91.E7.BB.93.E6.9E.9C |  | ||||||
|  * |  * | ||||||
|  * </pre> |  * </pre> | ||||||
|  * |  * | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 ukid
					ukid