This commit is contained in:
jinyu
2016-12-01 23:16:59 +08:00
parent 8f0d53b84a
commit 102f37cc77
4 changed files with 29 additions and 8 deletions
@@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.payment.mch;
import com.foxinmy.weixin4j.model.WeixinPayAccount;
import com.foxinmy.weixin4j.payment.PayRequest;
import com.foxinmy.weixin4j.type.SignType;
import com.foxinmy.weixin4j.type.TradeType;
import com.foxinmy.weixin4j.util.DigestUtil;
import com.foxinmy.weixin4j.util.MapUtil;
@@ -37,16 +38,18 @@ public class APPPayRequest extends AbstractPayRequest {
"Sign=WXPay");
payRequest.setPartnerId(getPaymentAccount().getPartnerId());
payRequest.setPrepayId(getPrePayId());
String sign = DigestUtil.MD5(
String.format("%s&key=%s",
MapUtil.toJoinString(payRequest, false, true),
getPaymentAccount().getPaySignKey())).toUpperCase();
payRequest.setPaySign(sign);
payRequest.setSignType(SignType.MD5);
return payRequest;
}
@Override
public String toRequestString() {
PayRequest payRequest = toRequestObject();
String sign = DigestUtil.MD5(
String.format("%s&key=%s",
MapUtil.toJoinString(payRequest, false, true),
getPaymentAccount().getPaySignKey())).toUpperCase();
StringBuilder content = new StringBuilder();
content.append("<xml>");
content.append(String.format("<appid><![CDATA[%s]]></appid>",
@@ -61,7 +64,8 @@ public class APPPayRequest extends AbstractPayRequest {
payRequest.getNonceStr()));
content.append(String.format("<timestamp><![CDATA[%s]]></timestamp>",
payRequest.getTimeStamp()));
content.append(String.format("<sign><![CDATA[%s]]></sign>", sign));
content.append(String.format("<sign><![CDATA[%s]]></sign>",
payRequest.getPaySign()));
content.append("</xml>");
return content.toString();
}
@@ -29,13 +29,24 @@ public class OpenIdResult extends MerchantResult {
@JSONField(name = "openid")
private String openId;
/**
* 用户在商户appid下的唯一标识
*/
@XmlElement(name = "sub_openid")
@JSONField(name = "sub_openid")
private String subOpenId;
public String getOpenId() {
return openId;
}
public String getSubOpenId() {
return subOpenId;
}
@Override
public String toString() {
return "OpenIdResult [openId=" + openId + ", "
+ super.toString() + "]";
return "OpenIdResult [openId=" + openId + ", subOpenId=" + subOpenId
+ ", " + super.toString() + "]";
}
}
@@ -44,7 +44,7 @@ import com.foxinmy.weixin4j.util.StringUtil;
public final class XmlStream {
private final static String ROOT_ELEMENT_XML = "xml";
private final static String XML_VERSION = "1.0";
private final static ConcurrentHashMap<Class<?>, JAXBContext> jaxbContexts = new ConcurrentHashMap<Class<?>, JAXBContext>();;
private final static ConcurrentHashMap<Class<?>, JAXBContext> jaxbContexts = new ConcurrentHashMap<Class<?>, JAXBContext>();
/**
* Xml2Bean