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

View File

@ -2,6 +2,7 @@ package com.foxinmy.weixin4j.payment.mch;
import com.foxinmy.weixin4j.model.WeixinPayAccount; import com.foxinmy.weixin4j.model.WeixinPayAccount;
import com.foxinmy.weixin4j.payment.PayRequest; import com.foxinmy.weixin4j.payment.PayRequest;
import com.foxinmy.weixin4j.type.SignType;
import com.foxinmy.weixin4j.type.TradeType; import com.foxinmy.weixin4j.type.TradeType;
import com.foxinmy.weixin4j.util.DigestUtil; import com.foxinmy.weixin4j.util.DigestUtil;
import com.foxinmy.weixin4j.util.MapUtil; import com.foxinmy.weixin4j.util.MapUtil;
@ -37,16 +38,18 @@ public class APPPayRequest extends AbstractPayRequest {
"Sign=WXPay"); "Sign=WXPay");
payRequest.setPartnerId(getPaymentAccount().getPartnerId()); payRequest.setPartnerId(getPaymentAccount().getPartnerId());
payRequest.setPrepayId(getPrePayId()); 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; return payRequest;
} }
@Override @Override
public String toRequestString() { public String toRequestString() {
PayRequest payRequest = toRequestObject(); PayRequest payRequest = toRequestObject();
String sign = DigestUtil.MD5(
String.format("%s&key=%s",
MapUtil.toJoinString(payRequest, false, true),
getPaymentAccount().getPaySignKey())).toUpperCase();
StringBuilder content = new StringBuilder(); StringBuilder content = new StringBuilder();
content.append("<xml>"); content.append("<xml>");
content.append(String.format("<appid><![CDATA[%s]]></appid>", content.append(String.format("<appid><![CDATA[%s]]></appid>",
@ -61,7 +64,8 @@ public class APPPayRequest extends AbstractPayRequest {
payRequest.getNonceStr())); payRequest.getNonceStr()));
content.append(String.format("<timestamp><![CDATA[%s]]></timestamp>", content.append(String.format("<timestamp><![CDATA[%s]]></timestamp>",
payRequest.getTimeStamp())); payRequest.getTimeStamp()));
content.append(String.format("<sign><![CDATA[%s]]></sign>", sign)); content.append(String.format("<sign><![CDATA[%s]]></sign>",
payRequest.getPaySign()));
content.append("</xml>"); content.append("</xml>");
return content.toString(); return content.toString();
} }

View File

@ -29,13 +29,24 @@ public class OpenIdResult extends MerchantResult {
@JSONField(name = "openid") @JSONField(name = "openid")
private String openId; private String openId;
/**
* 用户在商户appid下的唯一标识
*/
@XmlElement(name = "sub_openid")
@JSONField(name = "sub_openid")
private String subOpenId;
public String getOpenId() { public String getOpenId() {
return openId; return openId;
} }
public String getSubOpenId() {
return subOpenId;
}
@Override @Override
public String toString() { public String toString() {
return "OpenIdResult [openId=" + openId + ", " return "OpenIdResult [openId=" + openId + ", subOpenId=" + subOpenId
+ super.toString() + "]"; + ", " + super.toString() + "]";
} }
} }

View File

@ -44,7 +44,7 @@ import com.foxinmy.weixin4j.util.StringUtil;
public final class XmlStream { public final class XmlStream {
private final static String ROOT_ELEMENT_XML = "xml"; private final static String ROOT_ELEMENT_XML = "xml";
private final static String XML_VERSION = "1.0"; 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 * Xml2Bean

View File

@ -190,6 +190,12 @@ tag_untagging_uri={api_cgi_url}/tags/members/batchuntagging?access_token=%s
tag_userids_uri={api_cgi_url}/tags/getidlist?access_token=%s tag_userids_uri={api_cgi_url}/tags/getidlist?access_token=%s
# \u83b7\u53d6\u6807\u7b7e\u4e0b\u7c89\u4e1d\u5217\u8868 # \u83b7\u53d6\u6807\u7b7e\u4e0b\u7c89\u4e1d\u5217\u8868
tag_user_uri={api_cgi_url}/user/tag/get?access_token=%s tag_user_uri={api_cgi_url}/user/tag/get?access_token=%s
# \u83b7\u53d6\u9ed1\u540d\u5355\u5217\u8868
getblacklist_uri={api_cgi_url}/tags/members/getblacklist?access_token=%s
# \u62c9\u9ed1\u7528\u6237
batchblacklist_uri={api_cgi_url}/tags/members/batchblacklist?access_token=%s
# \u53d6\u6d88\u62c9\u9ed1\u7528\u6237
batchunblacklist_uri={api_cgi_url}/tags/members/batchunblacklist?access_token=%s
# \u521b\u5efa\u5361\u5238 # \u521b\u5efa\u5361\u5238
card_create_uri={api_base_url}/card/create?access_token=%s card_create_uri={api_base_url}/card/create?access_token=%s