View Javadoc
1   package com.foxinmy.weixin4j.model;
2   
3   import com.alibaba.fastjson.annotation.JSONCreator;
4   import com.alibaba.fastjson.annotation.JSONField;
5   import com.foxinmy.weixin4j.util.StringUtil;
6   
7   /**
8    * 微信支付账户
9    *
10   * @className WeixinPayAccount
11   * @author jinyu(foxinmy@gmail.com)
12   * @date 2015年6月26日
13   * @since JDK 1.6
14   * @see
15   * @deprecated 支付相关的类现已迁移到weixin4j-pay子模块
16   */
17  @Deprecated
18  public class WeixinPayAccount extends WeixinAccount {
19  
20      private static final long serialVersionUID = -2791256176906048632L;
21      /**
22       * 公众号支付请求中用于加密的密钥
23       */
24      private final String paySignKey;
25      /**
26       * 微信支付分配的商户号
27       */
28      private final String mchId;
29      /**
30       * 加载支付证书文件的密码(默认为商户号)
31       */
32      private String certificateKey;
33      /**
34       * 商户证书文件(默认加载classpath:ca.p12)
35       */
36      private String certificateFile;
37      /**
38       * 微信支付分配的设备号
39       */
40      private String deviceInfo;
41      /**
42       * 财付通商户身份的标识
43       */
44      private String partnerId;
45  
46      /**
47       * 微信分配的子商户公众账号ID
48       */
49      private String subId;
50      /**
51       * 微信支付分配的子商户号
52       */
53      private String subMchId;
54  
55      /**
56       * 支付商户信息
57       *
58       * @param id
59       *            公众号唯一的身份ID(必填)
60       * @param paySignKey
61       *            支付密钥字符串(必填)
62       * @param mchId
63       *            微信支付分配的商户号(必填)
64       */
65      public WeixinPayAccount(String id, String paySignKey, String mchId) {
66          this(id, paySignKey, mchId, mchId, "classpath:ca.p12");
67      }
68  
69      /**
70       * 支付商户信息
71       *
72       * @param id
73       *            公众号唯一的身份ID(必填)
74       * @param paySignKey
75       *            支付密钥字符串(必填)
76       * @param mchId
77       *            微信支付分配的商户号(必填)
78       * @param certificateKey
79       *            加载支付证书文件的密码(默认为商户号)
80       * @param certificateFile
81       *            商户证书文件(默认加载classpath:ca.p12)
82       */
83      public WeixinPayAccount(String id, String paySignKey, String mchId, String certificateKey, String certificateFile) {
84          this(id, null, paySignKey, mchId, certificateKey, certificateFile, null, null, null, null);
85      }
86  
87      /**
88       * 支付商户信息
89       *
90       * @param id
91       *            公众号唯一的身份ID(必填)
92       * @param secret
93       *            公众号调用接口的凭证(最好填写)
94       * @param paySignKey
95       *            支付密钥字符串(必填)
96       * @param mchId
97       *            微信支付分配的商户号(必填)
98       * @param certificateKey
99       *            加载支付证书文件的密码(默认为商户号)
100      * @param certificateFile
101      *            商户证书文件(默认加载classpath:ca.p12)
102      * @param deviceInfo
103      *            微信支付分配的设备号(非必填)
104      * @param partnerId
105      *            财付通的商户号(非必填)
106      * @param subId
107      *            微信分配的子商户公众账号ID(非必填)
108      * @param subMchId
109      *            微信支付分配的子商户号(非必填)
110      */
111     @JSONCreator
112     public WeixinPayAccount(@JSONField(name = "id") String id, @JSONField(name = "secret") String secret,
113             @JSONField(name = "paySignKey") String paySignKey, @JSONField(name = "mchId") String mchId,
114             @JSONField(name = "certificateKey") String certificateKey,
115             @JSONField(name = "certificateFile") String certificateFile,
116             @JSONField(name = "deviceInfo") String deviceInfo, @JSONField(name = "partnerId") String partnerId,
117             @JSONField(name = "subId") String subId, @JSONField(name = "subMchId") String subMchId) {
118         super(id, secret);
119         this.paySignKey = paySignKey;
120         this.mchId = mchId;
121         this.certificateKey = certificateKey;
122         this.certificateFile = certificateFile;
123         this.deviceInfo = deviceInfo;
124         this.partnerId = partnerId;
125         this.subId = subId;
126         this.subMchId = subMchId;
127     }
128 
129     public String getPaySignKey() {
130         return paySignKey;
131     }
132 
133     public String getMchId() {
134         return mchId;
135     }
136 
137     public String getDeviceInfo() {
138         return deviceInfo;
139     }
140 
141     public String getCertificateKey() {
142         return StringUtil.isBlank(certificateKey) ? mchId : certificateKey;
143     }
144 
145     public String getPartnerId() {
146         return partnerId;
147     }
148 
149     public String getSubId() {
150         return subId;
151     }
152 
153     public String getSubMchId() {
154         return subMchId;
155     }
156 
157     public void setCertificateKey(String certificateKey) {
158         this.certificateKey = certificateKey;
159     }
160 
161     public String getCertificateFile() {
162         return certificateFile;
163     }
164 
165     public void setCertificateFile(String certificateFile) {
166         this.certificateFile = certificateFile;
167     }
168 
169     public void setDeviceInfo(String deviceInfo) {
170         this.deviceInfo = deviceInfo;
171     }
172 
173     public void setPartnerId(String partnerId) {
174         this.partnerId = partnerId;
175     }
176 
177     public void setSubId(String subId) {
178         this.subId = subId;
179     }
180 
181     public void setSubMchId(String subMchId) {
182         this.subMchId = subMchId;
183     }
184 
185     @Override
186     public String toString() {
187         return "WeixinPayAccount [" + super.toString() + ", paySignKey=" + paySignKey + ", mchId=" + mchId
188                 + ", certificateKey=" + certificateKey + ",certificateFile =" + certificateFile + ", deviceInfo="
189                 + deviceInfo + ", partnerId=" + partnerId + ", subId=" + subId + ", subMchId=" + subMchId + "]";
190     }
191 }