@@ -1,7 +1,11 @@ | |||||
package me.chanjar.weixin.mp.api; | package me.chanjar.weixin.mp.api; | ||||
import me.chanjar.weixin.common.exception.WxErrorException; | import me.chanjar.weixin.common.exception.WxErrorException; | ||||
import me.chanjar.weixin.mp.bean.pay.*; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPayUnifiedOrderRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.result.*; | |||||
import java.io.File; | import java.io.File; | ||||
import java.util.Map; | import java.util.Map; | ||||
@@ -47,13 +51,6 @@ public interface WxMpPayService { | |||||
*/ | */ | ||||
Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException; | Map<String, String> getPayInfo(WxPayUnifiedOrderRequest request) throws WxErrorException; | ||||
/** | |||||
* 读取支付结果通知 | |||||
* 详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7 | |||||
* | |||||
*/ | |||||
WxPayJsSDKCallback getJSSDKCallbackData(String xmlData); | |||||
/** | /** | ||||
* <pre> | * <pre> | ||||
* 微信支付-申请退款 | * 微信支付-申请退款 | ||||
@@ -7,7 +7,8 @@ import me.chanjar.weixin.common.util.BeanUtils; | |||||
import me.chanjar.weixin.common.util.xml.XStreamInitializer; | import me.chanjar.weixin.common.util.xml.XStreamInitializer; | ||||
import me.chanjar.weixin.mp.api.WxMpPayService; | import me.chanjar.weixin.mp.api.WxMpPayService; | ||||
import me.chanjar.weixin.mp.api.WxMpService; | import me.chanjar.weixin.mp.api.WxMpService; | ||||
import me.chanjar.weixin.mp.bean.pay.*; | |||||
import me.chanjar.weixin.mp.bean.pay.request.*; | |||||
import me.chanjar.weixin.mp.bean.pay.result.*; | |||||
import org.apache.commons.codec.digest.DigestUtils; | import org.apache.commons.codec.digest.DigestUtils; | ||||
import org.apache.commons.lang3.ArrayUtils; | import org.apache.commons.lang3.ArrayUtils; | ||||
import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||
@@ -45,19 +46,6 @@ public class WxMpPayServiceImpl implements WxMpPayService { | |||||
this.wxMpService = wxMpService; | this.wxMpService = wxMpService; | ||||
} | } | ||||
@Override | |||||
public WxPayJsSDKCallback getJSSDKCallbackData(String xmlData) { | |||||
try { | |||||
XStream xstream = XStreamInitializer.getInstance(); | |||||
xstream.alias("xml", WxPayJsSDKCallback.class); | |||||
return (WxPayJsSDKCallback) xstream.fromXML(xmlData); | |||||
} catch (Exception e) { | |||||
e.printStackTrace(); | |||||
} | |||||
return new WxPayJsSDKCallback(); | |||||
} | |||||
@Override | @Override | ||||
public WxPayRefundResult refund(WxPayRefundRequest request, File keyFile) | public WxPayRefundResult refund(WxPayRefundRequest request, File keyFile) | ||||
throws WxErrorException { | throws WxErrorException { | ||||
@@ -3,281 +3,277 @@ package me.chanjar.weixin.mp.bean.pay; | |||||
import java.io.Serializable; | import java.io.Serializable; | ||||
/** | /** | ||||
* pre> 订单支付状态回调 | |||||
* | |||||
* <pre> | |||||
* 订单支付状态回调 | |||||
* 支付结果通知(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7) | * 支付结果通知(详见http://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_7) | ||||
* | |||||
* /pre> | * /pre> | ||||
* | * | ||||
* @author ukid | * @author ukid | ||||
*/ | */ | ||||
public class WxPayJsSDKCallback implements Serializable { | public class WxPayJsSDKCallback implements Serializable { | ||||
/** | |||||
* | |||||
*/ | |||||
private static final long serialVersionUID = -4143804055690843641L; | private static final long serialVersionUID = -4143804055690843641L; | ||||
private String return_code; | |||||
private String return_msg; | |||||
private String appid; | |||||
private String mch_id; | |||||
private String device_info; | |||||
private String nonce_str; | |||||
private String sign; | |||||
private String result_code; | |||||
private String err_code; | |||||
private String err_code_des; | |||||
private String openid; | |||||
private String is_subscribe; | |||||
private String trade_type; | |||||
private String bank_type; | |||||
private String total_fee; | |||||
private String fee_type; | |||||
private String cash_fee; | |||||
private String cash_fee_type; | |||||
private String coupon_fee; | |||||
private String coupon_count; | |||||
private String coupon_batch_id_$n; | |||||
private String coupon_id_$n; | |||||
private String coupon_fee_$n; | |||||
private String transaction_id; | |||||
private String out_trade_no; | |||||
private String attach; | |||||
private String time_end; | |||||
public String getReturn_code() { | |||||
return this.return_code; | |||||
} | |||||
public String getReturn_msg() { | |||||
return this.return_msg; | |||||
} | |||||
public String getAppid() { | |||||
return this.appid; | |||||
} | |||||
public String getMch_id() { | |||||
return this.mch_id; | |||||
} | |||||
public String getDevice_info() { | |||||
return this.device_info; | |||||
} | |||||
public String getNonce_str() { | |||||
return this.nonce_str; | |||||
} | |||||
public String getSign() { | |||||
return this.sign; | |||||
} | |||||
public String getResult_code() { | |||||
return this.result_code; | |||||
} | |||||
public String getErr_code() { | |||||
return this.err_code; | |||||
} | |||||
public String getErr_code_des() { | |||||
return this.err_code_des; | |||||
} | |||||
public String getOpenid() { | |||||
return this.openid; | |||||
} | |||||
public String getIs_subscribe() { | |||||
return this.is_subscribe; | |||||
} | |||||
public String getTrade_type() { | |||||
return this.trade_type; | |||||
} | |||||
public String getBank_type() { | |||||
return this.bank_type; | |||||
} | |||||
public String getTotal_fee() { | |||||
return this.total_fee; | |||||
} | |||||
public String getFee_type() { | |||||
return this.fee_type; | |||||
} | |||||
public String getCash_fee() { | |||||
return this.cash_fee; | |||||
} | |||||
public String getCash_fee_type() { | |||||
return this.cash_fee_type; | |||||
} | |||||
public String getCoupon_fee() { | |||||
return this.coupon_fee; | |||||
} | |||||
public String getCoupon_count() { | |||||
return this.coupon_count; | |||||
} | |||||
public String getCoupon_batch_id_$n() { | |||||
return this.coupon_batch_id_$n; | |||||
} | |||||
public String getCoupon_id_$n() { | |||||
return this.coupon_id_$n; | |||||
} | |||||
public String getCoupon_fee_$n() { | |||||
return this.coupon_fee_$n; | |||||
} | |||||
public String getTransaction_id() { | |||||
return this.transaction_id; | |||||
} | |||||
private String return_code; | |||||
private String return_msg; | |||||
private String appid; | |||||
private String mch_id; | |||||
private String device_info; | |||||
private String nonce_str; | |||||
private String sign; | |||||
private String result_code; | |||||
private String err_code; | |||||
private String err_code_des; | |||||
private String openid; | |||||
private String is_subscribe; | |||||
private String trade_type; | |||||
private String bank_type; | |||||
private String total_fee; | |||||
private String fee_type; | |||||
private String cash_fee; | |||||
private String cash_fee_type; | |||||
private String coupon_fee; | |||||
private String coupon_count; | |||||
private String coupon_batch_id_$n; | |||||
private String coupon_id_$n; | |||||
private String coupon_fee_$n; | |||||
private String transaction_id; | |||||
private String out_trade_no; | |||||
private String attach; | |||||
private String time_end; | |||||
public String getReturn_code() { | |||||
return this.return_code; | |||||
} | |||||
public void setReturn_code(String return_code) { | |||||
this.return_code = return_code; | |||||
} | |||||
public String getReturn_msg() { | |||||
return this.return_msg; | |||||
} | |||||
public void setReturn_msg(String return_msg) { | |||||
this.return_msg = return_msg; | |||||
} | |||||
public String getAppid() { | |||||
return this.appid; | |||||
} | |||||
public void setAppid(String appid) { | |||||
this.appid = appid; | |||||
} | |||||
public String getMch_id() { | |||||
return this.mch_id; | |||||
} | |||||
public void setMch_id(String mch_id) { | |||||
this.mch_id = mch_id; | |||||
} | |||||
public String getDevice_info() { | |||||
return this.device_info; | |||||
} | |||||
public void setDevice_info(String device_info) { | |||||
this.device_info = device_info; | |||||
} | |||||
public String getNonce_str() { | |||||
return this.nonce_str; | |||||
} | |||||
public void setNonce_str(String nonce_str) { | |||||
this.nonce_str = nonce_str; | |||||
} | |||||
public String getSign() { | |||||
return this.sign; | |||||
} | |||||
public void setSign(String sign) { | |||||
this.sign = sign; | |||||
} | |||||
public String getResult_code() { | |||||
return this.result_code; | |||||
} | |||||
public void setResult_code(String result_code) { | |||||
this.result_code = result_code; | |||||
} | |||||
public String getErr_code() { | |||||
return this.err_code; | |||||
} | |||||
public void setErr_code(String err_code) { | |||||
this.err_code = err_code; | |||||
} | |||||
public String getErr_code_des() { | |||||
return this.err_code_des; | |||||
} | |||||
public void setErr_code_des(String err_code_des) { | |||||
this.err_code_des = err_code_des; | |||||
} | |||||
public String getOpenid() { | |||||
return this.openid; | |||||
} | |||||
public void setOpenid(String openid) { | |||||
this.openid = openid; | |||||
} | |||||
public String getIs_subscribe() { | |||||
return this.is_subscribe; | |||||
} | |||||
public void setIs_subscribe(String is_subscribe) { | |||||
this.is_subscribe = is_subscribe; | |||||
} | |||||
public String getOut_trade_no() { | |||||
return this.out_trade_no; | |||||
} | |||||
public String getTrade_type() { | |||||
return this.trade_type; | |||||
} | |||||
public String getAttach() { | |||||
return this.attach; | |||||
} | |||||
public void setTrade_type(String trade_type) { | |||||
this.trade_type = trade_type; | |||||
} | |||||
public String getTime_end() { | |||||
return this.time_end; | |||||
} | |||||
public String getBank_type() { | |||||
return this.bank_type; | |||||
} | |||||
public void setReturn_code(String return_code) { | |||||
this.return_code = return_code; | |||||
} | |||||
public void setBank_type(String bank_type) { | |||||
this.bank_type = bank_type; | |||||
} | |||||
public void setReturn_msg(String return_msg) { | |||||
this.return_msg = return_msg; | |||||
} | |||||
public String getTotal_fee() { | |||||
return this.total_fee; | |||||
} | |||||
public void setAppid(String appid) { | |||||
this.appid = appid; | |||||
} | |||||
public void setTotal_fee(String total_fee) { | |||||
this.total_fee = total_fee; | |||||
} | |||||
public void setMch_id(String mch_id) { | |||||
this.mch_id = mch_id; | |||||
} | |||||
public void setDevice_info(String device_info) { | |||||
this.device_info = device_info; | |||||
} | |||||
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 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 setFee_type(String fee_type) { | |||||
this.fee_type = fee_type; | |||||
} | |||||
public void setCash_fee(String cash_fee) { | |||||
this.cash_fee = cash_fee; | |||||
} | |||||
public void setCash_fee_type(String cash_fee_type) { | |||||
this.cash_fee_type = cash_fee_type; | |||||
} | |||||
public void setCoupon_fee(String coupon_fee) { | |||||
this.coupon_fee = coupon_fee; | |||||
} | |||||
public void setCoupon_count(String coupon_count) { | |||||
this.coupon_count = coupon_count; | |||||
} | |||||
public void setCoupon_batch_id_$n(String coupon_batch_id_$n) { | |||||
this.coupon_batch_id_$n = coupon_batch_id_$n; | |||||
} | |||||
public void setCoupon_id_$n(String coupon_id_$n) { | |||||
this.coupon_id_$n = coupon_id_$n; | |||||
} | |||||
public void setCoupon_fee_$n(String coupon_fee_$n) { | |||||
this.coupon_fee_$n = coupon_fee_$n; | |||||
} | |||||
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; | |||||
} | |||||
@Override | |||||
public String toString() { | |||||
return "WxPayJsSDKCallback [return_code=" + this.return_code + ", return_msg=" | |||||
+ this.return_msg + ", appid=" + this.appid + ", mch_id=" + this.mch_id | |||||
+ ", device_info=" + this.device_info + ", nonce_str=" + this.nonce_str | |||||
+ ", sign=" + this.sign + ", result_code=" + this.result_code | |||||
+ ", err_code=" + this.err_code + ", err_code_des=" + this.err_code_des | |||||
+ ", openid=" + this.openid + ", is_subscribe=" + this.is_subscribe | |||||
+ ", trade_type=" + this.trade_type + ", bank_type=" + this.bank_type | |||||
+ ", total_fee=" + this.total_fee + ", fee_type=" + this.fee_type | |||||
+ ", cash_fee=" + this.cash_fee + ", cash_fee_type=" + this.cash_fee_type | |||||
+ ", coupon_fee=" + this.coupon_fee + ", coupon_count=" | |||||
+ this.coupon_count + ", coupon_batch_id_$n=" + this.coupon_batch_id_$n | |||||
+ ", coupon_id_$n=" + this.coupon_id_$n + ", coupon_fee_$n=" | |||||
+ this.coupon_fee_$n + ", transaction_id=" + this.transaction_id | |||||
+ ", out_trade_no=" + this.out_trade_no + ", attach=" + this.attach | |||||
+ ", time_end=" + this.time_end + "]"; | |||||
} | |||||
public String getFee_type() { | |||||
return this.fee_type; | |||||
} | |||||
public void setFee_type(String fee_type) { | |||||
this.fee_type = fee_type; | |||||
} | |||||
public String getCash_fee() { | |||||
return this.cash_fee; | |||||
} | |||||
public void setCash_fee(String cash_fee) { | |||||
this.cash_fee = cash_fee; | |||||
} | |||||
public String getCash_fee_type() { | |||||
return this.cash_fee_type; | |||||
} | |||||
public void setCash_fee_type(String cash_fee_type) { | |||||
this.cash_fee_type = cash_fee_type; | |||||
} | |||||
public String getCoupon_fee() { | |||||
return this.coupon_fee; | |||||
} | |||||
public void setCoupon_fee(String coupon_fee) { | |||||
this.coupon_fee = coupon_fee; | |||||
} | |||||
public String getCoupon_count() { | |||||
return this.coupon_count; | |||||
} | |||||
public void setCoupon_count(String coupon_count) { | |||||
this.coupon_count = coupon_count; | |||||
} | |||||
public String getCoupon_batch_id_$n() { | |||||
return this.coupon_batch_id_$n; | |||||
} | |||||
public void setCoupon_batch_id_$n(String coupon_batch_id_$n) { | |||||
this.coupon_batch_id_$n = coupon_batch_id_$n; | |||||
} | |||||
public String getCoupon_id_$n() { | |||||
return this.coupon_id_$n; | |||||
} | |||||
public void setCoupon_id_$n(String coupon_id_$n) { | |||||
this.coupon_id_$n = coupon_id_$n; | |||||
} | |||||
public String getCoupon_fee_$n() { | |||||
return this.coupon_fee_$n; | |||||
} | |||||
public void setCoupon_fee_$n(String coupon_fee_$n) { | |||||
this.coupon_fee_$n = coupon_fee_$n; | |||||
} | |||||
public String getTransaction_id() { | |||||
return this.transaction_id; | |||||
} | |||||
public void setTransaction_id(String transaction_id) { | |||||
this.transaction_id = transaction_id; | |||||
} | |||||
public String getOut_trade_no() { | |||||
return this.out_trade_no; | |||||
} | |||||
public void setOut_trade_no(String out_trade_no) { | |||||
this.out_trade_no = out_trade_no; | |||||
} | |||||
public String getAttach() { | |||||
return this.attach; | |||||
} | |||||
public void setAttach(String attach) { | |||||
this.attach = attach; | |||||
} | |||||
public String getTime_end() { | |||||
return this.time_end; | |||||
} | |||||
public void setTime_end(String time_end) { | |||||
this.time_end = time_end; | |||||
} | |||||
@Override | |||||
public String toString() { | |||||
return "WxPayJsSDKCallback [return_code=" + this.return_code + ", return_msg=" | |||||
+ this.return_msg + ", appid=" + this.appid + ", mch_id=" + this.mch_id | |||||
+ ", device_info=" + this.device_info + ", nonce_str=" + this.nonce_str | |||||
+ ", sign=" + this.sign + ", result_code=" + this.result_code | |||||
+ ", err_code=" + this.err_code + ", err_code_des=" + this.err_code_des | |||||
+ ", openid=" + this.openid + ", is_subscribe=" + this.is_subscribe | |||||
+ ", trade_type=" + this.trade_type + ", bank_type=" + this.bank_type | |||||
+ ", total_fee=" + this.total_fee + ", fee_type=" + this.fee_type | |||||
+ ", cash_fee=" + this.cash_fee + ", cash_fee_type=" + this.cash_fee_type | |||||
+ ", coupon_fee=" + this.coupon_fee + ", coupon_count=" | |||||
+ this.coupon_count + ", coupon_batch_id_$n=" + this.coupon_batch_id_$n | |||||
+ ", coupon_id_$n=" + this.coupon_id_$n + ", coupon_fee_$n=" | |||||
+ this.coupon_fee_$n + ", transaction_id=" + this.transaction_id | |||||
+ ", out_trade_no=" + this.out_trade_no + ", attach=" + this.attach | |||||
+ ", time_end=" + this.time_end + "]"; | |||||
} | |||||
} | } |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
import me.chanjar.weixin.common.annotation.Required; | import me.chanjar.weixin.common.annotation.Required; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import org.apache.commons.lang3.builder.ToStringBuilder; | import org.apache.commons.lang3.builder.ToStringBuilder; | ||||
import org.apache.commons.lang3.builder.ToStringStyle; | import org.apache.commons.lang3.builder.ToStringStyle; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
import org.apache.commons.lang3.builder.ToStringBuilder; | import org.apache.commons.lang3.builder.ToStringBuilder; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
import me.chanjar.weixin.common.annotation.Required; | import me.chanjar.weixin.common.annotation.Required; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.request; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
import me.chanjar.weixin.common.annotation.Required; | import me.chanjar.weixin.common.annotation.Required; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
import org.apache.commons.lang3.builder.ToStringBuilder; | import org.apache.commons.lang3.builder.ToStringBuilder; |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.google.common.collect.Lists; | import com.google.common.collect.Lists; | ||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -436,7 +436,7 @@ public class WxPayOrderQueryResult extends WxPayBaseResult { | |||||
} | } | ||||
public void composeCoupons(String xmlString){ | public void composeCoupons(String xmlString){ | ||||
if(this.couponCount > 0 ){ | |||||
if(this.couponCount != null && this.couponCount > 0 ){ | |||||
this.coupons = Lists.newArrayList(); | this.coupons = Lists.newArrayList(); | ||||
//TODO 暂时待实现 | //TODO 暂时待实现 | ||||
} | } |
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -1,4 +1,4 @@ | |||||
package me.chanjar.weixin.mp.bean.pay; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.annotations.XStreamAlias; | import com.thoughtworks.xstream.annotations.XStreamAlias; | ||||
@@ -4,7 +4,13 @@ import com.google.inject.Inject; | |||||
import me.chanjar.weixin.common.exception.WxErrorException; | import me.chanjar.weixin.common.exception.WxErrorException; | ||||
import me.chanjar.weixin.mp.api.ApiTestModule; | import me.chanjar.weixin.mp.api.ApiTestModule; | ||||
import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage; | import me.chanjar.weixin.mp.api.WxXmlMpInMemoryConfigStorage; | ||||
import me.chanjar.weixin.mp.bean.pay.*; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxEntPayRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPayRefundRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPaySendRedpackRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.request.WxPayUnifiedOrderRequest; | |||||
import me.chanjar.weixin.mp.bean.pay.result.WxPayRefundResult; | |||||
import me.chanjar.weixin.mp.bean.pay.result.WxPaySendRedpackResult; | |||||
import me.chanjar.weixin.mp.bean.pay.result.WxPayUnifiedOrderResult; | |||||
import org.testng.annotations.Guice; | import org.testng.annotations.Guice; | ||||
import org.testng.annotations.Test; | import org.testng.annotations.Test; | ||||
@@ -27,11 +33,6 @@ public class WxMpPayServiceImplTest { | |||||
} | } | ||||
@Test | |||||
public void testGetJSSDKCallbackData() throws Exception { | |||||
} | |||||
@Test | @Test | ||||
public void testRefund() throws Exception { | public void testRefund() throws Exception { | ||||
WxPayRefundRequest request = new WxPayRefundRequest(); | WxPayRefundRequest request = new WxPayRefundRequest(); | ||||
@@ -1,26 +1,23 @@ | |||||
package me.chanjar.weixin.mp.bean; | |||||
import static org.junit.Assert.assertEquals; | |||||
import org.junit.Before; | |||||
import org.junit.Test; | |||||
package me.chanjar.weixin.mp.bean.pay.result; | |||||
import com.thoughtworks.xstream.XStream; | import com.thoughtworks.xstream.XStream; | ||||
import me.chanjar.weixin.common.util.xml.XStreamInitializer; | import me.chanjar.weixin.common.util.xml.XStreamInitializer; | ||||
import me.chanjar.weixin.mp.bean.pay.WxPaySendRedpackResult; | |||||
import org.testng.Assert; | |||||
import org.testng.annotations.BeforeTest; | |||||
import org.testng.annotations.Test; | |||||
public class WxRedpackResultTest { | |||||
public class WxPaySendRedpackResultTest { | |||||
private XStream xstream; | private XStream xstream; | ||||
@Before | |||||
@BeforeTest | |||||
public void setup() { | public void setup() { | ||||
this.xstream = XStreamInitializer.getInstance(); | this.xstream = XStreamInitializer.getInstance(); | ||||
this.xstream.processAnnotations(WxPaySendRedpackResult.class); | this.xstream.processAnnotations(WxPaySendRedpackResult.class); | ||||
} | } | ||||
@Test public void loadSuccessResult() { | |||||
@Test | |||||
public void loadSuccessResult() { | |||||
final String successSample = "<xml>\n" + | final String successSample = "<xml>\n" + | ||||
"<return_code><![CDATA[SUCCESS]]></return_code>\n" + | "<return_code><![CDATA[SUCCESS]]></return_code>\n" + | ||||
"<return_msg><![CDATA[发放成功.]]></return_msg>\n" + | "<return_msg><![CDATA[发放成功.]]></return_msg>\n" + | ||||
@@ -36,12 +33,13 @@ public class WxRedpackResultTest { | |||||
"<send_time>20150520102602</send_time>\n" + | "<send_time>20150520102602</send_time>\n" + | ||||
"</xml>"; | "</xml>"; | ||||
WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(successSample); | WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(successSample); | ||||
assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode()); | |||||
assertEquals("SUCCESS", wxMpRedpackResult.getResultCode()); | |||||
assertEquals("20150520102602", wxMpRedpackResult.getSendTime()); | |||||
Assert.assertEquals("SUCCESS", wxMpRedpackResult.getReturnCode()); | |||||
Assert.assertEquals("SUCCESS", wxMpRedpackResult.getResultCode()); | |||||
Assert.assertEquals("20150520102602", wxMpRedpackResult.getSendTime()); | |||||
} | } | ||||
@Test public void loadFailureResult() { | |||||
@Test | |||||
public void loadFailureResult() { | |||||
final String failureSample = "<xml>\n" + | final String failureSample = "<xml>\n" + | ||||
"<return_code><![CDATA[FAIL]]></return_code>\n" + | "<return_code><![CDATA[FAIL]]></return_code>\n" + | ||||
"<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>\n" + | "<return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg>\n" + | ||||
@@ -55,9 +53,9 @@ public class WxRedpackResultTest { | |||||
"<total_amount>1</total_amount>\n" + | "<total_amount>1</total_amount>\n" + | ||||
"</xml>"; | "</xml>"; | ||||
WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(failureSample); | WxPaySendRedpackResult wxMpRedpackResult = (WxPaySendRedpackResult) this.xstream.fromXML(failureSample); | ||||
assertEquals("FAIL", wxMpRedpackResult.getReturnCode()); | |||||
assertEquals("FAIL", wxMpRedpackResult.getResultCode()); | |||||
assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid()); | |||||
assertEquals(1, wxMpRedpackResult.getTotalAmount()); | |||||
Assert.assertEquals("FAIL", wxMpRedpackResult.getReturnCode()); | |||||
Assert.assertEquals("FAIL", wxMpRedpackResult.getResultCode()); | |||||
Assert.assertEquals("onqOjjmM1tad-3ROpncN-yUfa6uI", wxMpRedpackResult.getReOpenid()); | |||||
Assert.assertEquals(1, wxMpRedpackResult.getTotalAmount()); | |||||
} | } | ||||
} | } |