
1package main
2
3import (
4 "bytes"
5 "demo/wxpay_utility"
6 "encoding/json"
7 "fmt"
8 "net/http"
9 "net/url"
10)
11
12func main() {
13
14 config, err := wxpay_utility.CreateMchConfig(
15 "19xxxxxxxx",
16 "1DDE55AD98Exxxxxxxxxx",
17 "/path/to/apiclient_key.pem",
18 "PUB_KEY_ID_xxxxxxxxxxxxx",
19 "/path/to/wxp_pub.pem",
20 )
21 if err != nil {
22 fmt.Println(err)
23 return
24 }
25
26 request := &SubmitApplymentRequest{
27 ChannelId: wxpay_utility.String("20001111"),
28 BusinessCode: wxpay_utility.String("1900013511_10000"),
29 ContactInfo: &ContactInfo{
30 Name: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3IdGdbDnuC4Eelw/wDa4SzfeespQO/0kjiwfqdfg=="),
31 Mobile: wxpay_utility.String("Oiw4DS+QVyZKC3eTd7CGvGQ1/sidmLm8mdsohkuR9jSiwXyHyVQD1OA1t+6Pb+Xn0q2HAJYLsNjh8O4S1iQgMrFohyaNms4IlDxJzujb9VA=="),
32 IdCardNumber: wxpay_utility.String("pVd1HJ6zmty7/mYNxLMpRSvMRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
33 ContactType: IDHOLDERTYPE_LEGAL.Ptr(),
34 ContactIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_IDCARD.Ptr(),
35 ContactIdDocCopy: wxpay_utility.String("jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
36 ContactIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
37 ContactPeriodBegin: wxpay_utility.String("2019-06-06"),
38 ContactPeriodEnd: wxpay_utility.String("2026-06-06"),
39 },
40 SubjectInfo: &SubjectInfo{
41 SubjectType: SUBJECTTYPE_SUBJECT_TYPE_ENTERPRISE.Ptr(),
42 IsFinanceInstitution: wxpay_utility.Bool(false),
43 BusinessLicenceInfo: &BusinessLicenceInfo{
44 LicenceNumber: wxpay_utility.String("914201123033363296"),
45 LicenceCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
46 MerchantName: wxpay_utility.String("李四网络有限公司"),
47 LegalPerson: wxpay_utility.String("李四"),
48 CompanyAddress: wxpay_utility.String("广东省深圳市南山区xx路xx号"),
49 LicenceValidDate: wxpay_utility.String("[\"2017-10-28\",\"2037-10-28\"]"),
50 },
51 CertificateInfo: &CertificateInfo{
52 CertType: CERTIFICATETYPE_CERTIFICATE_TYPE_2388.Ptr(),
53 CertNumber: wxpay_utility.String("111111111111"),
54 CertCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
55 MerchantName: wxpay_utility.String("xx公益团体"),
56 LegalPerson: wxpay_utility.String("李四"),
57 CompanyAddress: wxpay_utility.String("广东省深圳市南山区xx路xx号"),
58 CertValidDate: wxpay_utility.String("[\"2017-10-28\",\"2037-10-28\"]"),
59 },
60 CompanyProveCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
61 AssistProveInfo: &AssitProveInfo{
62 MicroBizType: MICROBIZTYPE_MICRO_TYPE_STORE.Ptr(),
63 StoreName: wxpay_utility.String("大郎烧饼"),
64 StoreAddressCode: wxpay_utility.String("440305"),
65 StoreAddress: wxpay_utility.String("广东省深圳市南山区xx大厦x层xxxx室"),
66 StoreHeaderCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
67 StoreIndoorCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
68 },
69 SpecialOperationList: []SpecialOperation{SpecialOperation{
70 CategoryId: wxpay_utility.Int64(100),
71 OperationCopyList: []string{"0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"},
72 }},
73 FinanceInstitutionInfo: &FinanceInstitutionInfo{
74 FinanceType: FINANCETYPE_BANK_AGENT.Ptr(),
75 FinanceLicensePics: []string{"0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"},
76 },
77 },
78 IdentificationInfo: &IdentificationInfo{
79 IdHolderType: IDHOLDERTYPE_LEGAL.Ptr(),
80 IdentificationType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_IDCARD.Ptr(),
81 IdentificationName: wxpay_utility.String("MZnwEx6zotwIz6ctW2/iQL5z94odwP9sKiF74RPCPztcJOScaXsaGs82HJNU3K+46ndk7pMrENiPDw=="),
82 IdentificationNumber: wxpay_utility.String("ZTnn5dKGCvP4csw4XTLug/+VLB+4R6nxSPQwqSpmPVZtXmye+/3s9O+y32w=="),
83 IdentificationValidDate: wxpay_utility.String("[\"2017-10-28\",\"2037-10-28\"]"),
84 IdentificationFrontCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
85 IdentificationBackCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
86 AuthorizeLetterCopy: wxpay_utility.String("0P3ng6KTIW4-Q_l2FjKLZuhHjBWoMAjmVtCz7ScmhEIThCaV-4BBgVwtNkCHO_XXqK5dE5YdOmFJBZR9FwczhJehHhAZN6BKXQPcs-VvdSo"),
87 Owner: wxpay_utility.Bool(false),
88 IdentificationAddress: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
89 },
90 UboInfo: &UboInfo{
91 UboIdType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_IDCARD.Ptr(),
92 UboIdCardCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
93 UboIdCardNational: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
94 UboIdDocCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
95 UboName: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
96 UboIdNumber: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
97 UboIdCardValidDate: wxpay_utility.String("[\"2017-10-28\",\"2037-10-28\"]"),
98 },
99 AdditionInfo: &AdditionInfo{
100 ConfirmMchidList: []string{"example_ConfirmMchidList"},
101 },
102 UboInfoList: []UboInfoList{UboInfoList{
103 UboIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_IDCARD.Ptr(),
104 UboIdDocCopy: wxpay_utility.String("jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
105 UboIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
106 UboIdDocName: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
107 UboIdDocNumber: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
108 UboIdDocAddress: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
109 UboPeriodBegin: wxpay_utility.String("2019-06-06"),
110 UboPeriodEnd: wxpay_utility.String("2026-06-06"),
111 }},
112 }
113
114 response, err := SubmitApplyment(config, request)
115 if err != nil {
116 fmt.Printf("请求失败: %+v\n", err)
117
118 return
119 }
120
121
122 fmt.Printf("请求成功: %+v\n", response)
123}
124
125func SubmitApplyment(config *wxpay_utility.MchConfig, request *SubmitApplymentRequest) (response *SubmitApplymentResponse, err error) {
126 const (
127 host = "https://api.mch.weixin.qq.com"
128 method = "POST"
129 path = "/v3/apply4subject/applyment"
130 )
131
132 reqUrl, err := url.Parse(fmt.Sprintf("%s%s", host, path))
133 if err != nil {
134 return nil, err
135 }
136 reqBody, err := json.Marshal(request)
137 if err != nil {
138 return nil, err
139 }
140 httpRequest, err := http.NewRequest(method, reqUrl.String(), bytes.NewReader(reqBody))
141 if err != nil {
142 return nil, err
143 }
144 httpRequest.Header.Set("Accept", "application/json")
145 httpRequest.Header.Set("Wechatpay-Serial", config.WechatPayPublicKeyId())
146 httpRequest.Header.Set("Content-Type", "application/json")
147 authorization, err := wxpay_utility.BuildAuthorization(config.MchId(), config.CertificateSerialNo(), config.PrivateKey(), method, reqUrl.RequestURI(), reqBody)
148 if err != nil {
149 return nil, err
150 }
151 httpRequest.Header.Set("Authorization", authorization)
152
153 client := &http.Client{}
154 httpResponse, err := client.Do(httpRequest)
155 if err != nil {
156 return nil, err
157 }
158 respBody, err := wxpay_utility.ExtractResponseBody(httpResponse)
159 if err != nil {
160 return nil, err
161 }
162 if httpResponse.StatusCode >= 200 && httpResponse.StatusCode < 300 {
163
164 err = wxpay_utility.ValidateResponse(
165 config.WechatPayPublicKeyId(),
166 config.WechatPayPublicKey(),
167 &httpResponse.Header,
168 respBody,
169 )
170 if err != nil {
171 return nil, err
172 }
173 response := &SubmitApplymentResponse{}
174 if err := json.Unmarshal(respBody, response); err != nil {
175 return nil, err
176 }
177
178 return response, nil
179 } else {
180 return nil, wxpay_utility.NewApiException(
181 httpResponse.StatusCode,
182 httpResponse.Header,
183 respBody,
184 )
185 }
186}
187
188type SubmitApplymentRequest struct {
189 ChannelId *string `json:"channel_id,omitempty"`
190 BusinessCode *string `json:"business_code,omitempty"`
191 ContactInfo *ContactInfo `json:"contact_info,omitempty"`
192 SubjectInfo *SubjectInfo `json:"subject_info,omitempty"`
193 IdentificationInfo *IdentificationInfo `json:"identification_info,omitempty"`
194 UboInfo *UboInfo `json:"ubo_info,omitempty"`
195 AdditionInfo *AdditionInfo `json:"addition_info,omitempty"`
196 UboInfoList []UboInfoList `json:"ubo_info_list,omitempty"`
197}
198
199type SubmitApplymentResponse struct {
200 ApplymentId *int64 `json:"applyment_id,omitempty"`
201}
202
203type ContactInfo struct {
204 Name *string `json:"name,omitempty"`
205 Mobile *string `json:"mobile,omitempty"`
206 IdCardNumber *string `json:"id_card_number,omitempty"`
207 ContactType *IdHolderType `json:"contact_type,omitempty"`
208 ContactIdDocType *IdentificationType `json:"contact_id_doc_type,omitempty"`
209 ContactIdDocCopy *string `json:"contact_id_doc_copy,omitempty"`
210 ContactIdDocCopyBack *string `json:"contact_id_doc_copy_back,omitempty"`
211 ContactPeriodBegin *string `json:"contact_period_begin,omitempty"`
212 ContactPeriodEnd *string `json:"contact_period_end,omitempty"`
213}
214
215type SubjectInfo struct {
216 SubjectType *SubjectType `json:"subject_type,omitempty"`
217 IsFinanceInstitution *bool `json:"is_finance_institution,omitempty"`
218 BusinessLicenceInfo *BusinessLicenceInfo `json:"business_licence_info,omitempty"`
219 CertificateInfo *CertificateInfo `json:"certificate_info,omitempty"`
220 CompanyProveCopy *string `json:"company_prove_copy,omitempty"`
221 AssistProveInfo *AssitProveInfo `json:"assist_prove_info,omitempty"`
222 SpecialOperationList []SpecialOperation `json:"special_operation_list,omitempty"`
223 FinanceInstitutionInfo *FinanceInstitutionInfo `json:"finance_institution_info,omitempty"`
224}
225
226type IdentificationInfo struct {
227 IdHolderType *IdHolderType `json:"id_holder_type,omitempty"`
228 IdentificationType *IdentificationType `json:"identification_type,omitempty"`
229 IdentificationName *string `json:"identification_name,omitempty"`
230 IdentificationNumber *string `json:"identification_number,omitempty"`
231 IdentificationValidDate *string `json:"identification_valid_date,omitempty"`
232 IdentificationFrontCopy *string `json:"identification_front_copy,omitempty"`
233 IdentificationBackCopy *string `json:"identification_back_copy,omitempty"`
234 AuthorizeLetterCopy *string `json:"authorize_letter_copy,omitempty"`
235 Owner *bool `json:"owner,omitempty"`
236 IdentificationAddress *string `json:"identification_address,omitempty"`
237}
238
239type UboInfo struct {
240 UboIdType *IdentificationType `json:"ubo_id_type,omitempty"`
241 UboIdCardCopy *string `json:"ubo_id_card_copy,omitempty"`
242 UboIdCardNational *string `json:"ubo_id_card_national,omitempty"`
243 UboIdDocCopy *string `json:"ubo_id_doc_copy,omitempty"`
244 UboName *string `json:"ubo_name,omitempty"`
245 UboIdNumber *string `json:"ubo_id_number,omitempty"`
246 UboIdCardValidDate *string `json:"ubo_id_card_valid_date,omitempty"`
247}
248
249type AdditionInfo struct {
250 ConfirmMchidList []string `json:"confirm_mchid_list,omitempty"`
251}
252
253type UboInfoList struct {
254 UboIdDocType *IdentificationType `json:"ubo_id_doc_type,omitempty"`
255 UboIdDocCopy *string `json:"ubo_id_doc_copy,omitempty"`
256 UboIdDocCopyBack *string `json:"ubo_id_doc_copy_back,omitempty"`
257 UboIdDocName *string `json:"ubo_id_doc_name,omitempty"`
258 UboIdDocNumber *string `json:"ubo_id_doc_number,omitempty"`
259 UboIdDocAddress *string `json:"ubo_id_doc_address,omitempty"`
260 UboPeriodBegin *string `json:"ubo_period_begin,omitempty"`
261 UboPeriodEnd *string `json:"ubo_period_end,omitempty"`
262}
263
264type IdHolderType string
265
266func (e IdHolderType) Ptr() *IdHolderType {
267 return &e
268}
269
270const (
271 IDHOLDERTYPE_LEGAL IdHolderType = "LEGAL"
272 IDHOLDERTYPE_SUPER IdHolderType = "SUPER"
273)
274
275type IdentificationType string
276
277func (e IdentificationType) Ptr() *IdentificationType {
278 return &e
279}
280
281const (
282 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_IDCARD IdentificationType = "IDENTIFICATION_TYPE_IDCARD"
283 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_OVERSEA_PASSPORT IdentificationType = "IDENTIFICATION_TYPE_OVERSEA_PASSPORT"
284 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_HONGKONG_PASSPORT IdentificationType = "IDENTIFICATION_TYPE_HONGKONG_PASSPORT"
285 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MACAO_PASSPORT IdentificationType = "IDENTIFICATION_TYPE_MACAO_PASSPORT"
286 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_TAIWAN_PASSPORT IdentificationType = "IDENTIFICATION_TYPE_TAIWAN_PASSPORT"
287 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_FOREIGN_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_FOREIGN_RESIDENT"
288 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT"
289 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_TAIWAN_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_TAIWAN_RESIDENT"
290)
291
292type SubjectType string
293
294func (e SubjectType) Ptr() *SubjectType {
295 return &e
296}
297
298const (
299 SUBJECTTYPE_SUBJECT_TYPE_ENTERPRISE SubjectType = "SUBJECT_TYPE_ENTERPRISE"
300 SUBJECTTYPE_SUBJECT_TYPE_INSTITUTIONS_CLONED SubjectType = "SUBJECT_TYPE_INSTITUTIONS_CLONED"
301 SUBJECTTYPE_SUBJECT_TYPE_INDIVIDUAL SubjectType = "SUBJECT_TYPE_INDIVIDUAL"
302 SUBJECTTYPE_SUBJECT_TYPE_OTHERS SubjectType = "SUBJECT_TYPE_OTHERS"
303 SUBJECTTYPE_SUBJECT_TYPE_MICRO SubjectType = "SUBJECT_TYPE_MICRO"
304 SUBJECTTYPE_SUBJECT_TYPE_GOVERNMENT SubjectType = "SUBJECT_TYPE_GOVERNMENT"
305)
306
307type BusinessLicenceInfo struct {
308 LicenceNumber *string `json:"licence_number,omitempty"`
309 LicenceCopy *string `json:"licence_copy,omitempty"`
310 MerchantName *string `json:"merchant_name,omitempty"`
311 LegalPerson *string `json:"legal_person,omitempty"`
312 CompanyAddress *string `json:"company_address,omitempty"`
313 LicenceValidDate *string `json:"licence_valid_date,omitempty"`
314}
315
316type CertificateInfo struct {
317 CertType *CertificateType `json:"cert_type,omitempty"`
318 CertNumber *string `json:"cert_number,omitempty"`
319 CertCopy *string `json:"cert_copy,omitempty"`
320 MerchantName *string `json:"merchant_name,omitempty"`
321 LegalPerson *string `json:"legal_person,omitempty"`
322 CompanyAddress *string `json:"company_address,omitempty"`
323 CertValidDate *string `json:"cert_valid_date,omitempty"`
324}
325
326type AssitProveInfo struct {
327 MicroBizType *MicroBizType `json:"micro_biz_type,omitempty"`
328 StoreName *string `json:"store_name,omitempty"`
329 StoreAddressCode *string `json:"store_address_code,omitempty"`
330 StoreAddress *string `json:"store_address,omitempty"`
331 StoreHeaderCopy *string `json:"store_header_copy,omitempty"`
332 StoreIndoorCopy *string `json:"store_indoor_copy,omitempty"`
333}
334
335type SpecialOperation struct {
336 CategoryId *int64 `json:"category_id,omitempty"`
337 OperationCopyList []string `json:"operation_copy_list,omitempty"`
338}
339
340type FinanceInstitutionInfo struct {
341 FinanceType *FinanceType `json:"finance_type,omitempty"`
342 FinanceLicensePics []string `json:"finance_license_pics,omitempty"`
343}
344
345type CertificateType string
346
347func (e CertificateType) Ptr() *CertificateType {
348 return &e
349}
350
351const (
352 CERTIFICATETYPE_CERTIFICATE_TYPE_2388 CertificateType = "CERTIFICATE_TYPE_2388"
353 CERTIFICATETYPE_CERTIFICATE_TYPE_2389 CertificateType = "CERTIFICATE_TYPE_2389"
354 CERTIFICATETYPE_CERTIFICATE_TYPE_2394 CertificateType = "CERTIFICATE_TYPE_2394"
355 CERTIFICATETYPE_CERTIFICATE_TYPE_2395 CertificateType = "CERTIFICATE_TYPE_2395"
356 CERTIFICATETYPE_CERTIFICATE_TYPE_2396 CertificateType = "CERTIFICATE_TYPE_2396"
357 CERTIFICATETYPE_CERTIFICATE_TYPE_2397 CertificateType = "CERTIFICATE_TYPE_2397"
358 CERTIFICATETYPE_CERTIFICATE_TYPE_2398 CertificateType = "CERTIFICATE_TYPE_2398"
359 CERTIFICATETYPE_CERTIFICATE_TYPE_2399 CertificateType = "CERTIFICATE_TYPE_2399"
360 CERTIFICATETYPE_CERTIFICATE_TYPE_2400 CertificateType = "CERTIFICATE_TYPE_2400"
361 CERTIFICATETYPE_CERTIFICATE_TYPE_2390 CertificateType = "CERTIFICATE_TYPE_2390"
362 CERTIFICATETYPE_CERTIFICATE_TYPE_2391 CertificateType = "CERTIFICATE_TYPE_2391"
363 CERTIFICATETYPE_CERTIFICATE_TYPE_2392 CertificateType = "CERTIFICATE_TYPE_2392"
364 CERTIFICATETYPE_CERTIFICATE_TYPE_2393 CertificateType = "CERTIFICATE_TYPE_2393"
365 CERTIFICATETYPE_CERTIFICATE_TYPE_2520 CertificateType = "CERTIFICATE_TYPE_2520"
366 CERTIFICATETYPE_CERTIFICATE_TYPE_2521 CertificateType = "CERTIFICATE_TYPE_2521"
367 CERTIFICATETYPE_CERTIFICATE_TYPE_2522 CertificateType = "CERTIFICATE_TYPE_2522"
368)
369
370type MicroBizType string
371
372func (e MicroBizType) Ptr() *MicroBizType {
373 return &e
374}
375
376const (
377 MICROBIZTYPE_MICRO_TYPE_STORE MicroBizType = "MICRO_TYPE_STORE"
378 MICROBIZTYPE_MICRO_TYPE_MOBILE MicroBizType = "MICRO_TYPE_MOBILE"
379 MICROBIZTYPE_MICRO_TYPE_ONLINE MicroBizType = "MICRO_TYPE_ONLINE"
380)
381
382type FinanceType string
383
384func (e FinanceType) Ptr() *FinanceType {
385 return &e
386}
387
388const (
389 FINANCETYPE_BANK_AGENT FinanceType = "BANK_AGENT"
390 FINANCETYPE_PAYMENT_AGENT FinanceType = "PAYMENT_AGENT"
391 FINANCETYPE_INSURANCE FinanceType = "INSURANCE"
392 FINANCETYPE_TRADE_AND_SETTLE FinanceType = "TRADE_AND_SETTLE"
393 FINANCETYPE_OTHER FinanceType = "OTHER"
394)
395