
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 := &SubmitReq{
27 OutRequestNo: wxpay_utility.String("APPLYMENT_00000000001"),
28 OrganizationType: wxpay_utility.String("2"),
29 FinanceInstitution: wxpay_utility.Bool(true),
30 BusinessLicenseInfo: &BusinessLicense{
31 CertType: CERTIFICATETYPE_CERTIFICATE_TYPE_2388.Ptr(),
32 BusinessLicenseCopy: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
33 BusinessLicenseNumber: wxpay_utility.String("123456789012345678"),
34 MerchantName: wxpay_utility.String("腾讯科技有限公司"),
35 LegalPerson: wxpay_utility.String("张三"),
36 CompanyAddress: wxpay_utility.String("深圳南山区科苑路"),
37 BusinessTime: wxpay_utility.String("[\"2014-01-01\",\"长期\"]"),
38 },
39 FinanceInstitutionInfo: &FinanceInstitutionInfo{
40 FinanceType: FINANCETYPE_BANK_AGENT.Ptr(),
41 FinanceLicensePics: []string{"example_FinanceLicensePics"},
42 },
43 IdHolderType: IDHOLDERTYPE_LEGAL.Ptr(),
44 IdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MACAO.Ptr(),
45 AuthorizeLetterCopy: wxpay_utility.String("47ZC6GC-vnrbEny_Ie_An5-tCpqxucuxi-vByf3Gjm7KEIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
46 IdCardInfo: &IdCardInfo{
47 IdCardCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
48 IdCardNational: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
49 IdCardName: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
50 IdCardNumber: wxpay_utility.String("AOZdYGISxo4y44/UgZ69bdu9X+tfMUJ9dl+LetjM45/zMbrYu+wWZ8gn4CTdo+D/m9MrPg+V4sm73oxqdQu/hj7aWyDl4GQtPXVdaztB9jVbVZh3QFzV+BEmytMNQp9dt1uWJktlfdDdLR3AMWyMB377xd+m9bSr/ioDTzagEcGe+vLYiKrzcroQv3OR0p3ppFYoQ3IfYeU/04S4t9rNFL+kyblK2FCCqQ11NdbbHoCrJc7NV4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
51 IdCardValidTimeBegin: wxpay_utility.String("2019-06-06"),
52 IdCardValidTime: wxpay_utility.String("2026-06-06"),
53 },
54 IdDocInfo: &IdDocInfo{
55 IdDocName: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
56 IdDocNumber: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
57 IdDocCopy: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
58 IdDocCopyBack: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
59 DocPeriodBegin: wxpay_utility.String("2019-06-06"),
60 DocPeriodEnd: wxpay_utility.String("2020-01-02"),
61 },
62 Owner: wxpay_utility.Bool(true),
63 AccountInfo: &AccountInfo{
64 BankAccountType: wxpay_utility.String("75"),
65 AccountBank: wxpay_utility.String("工商银行"),
66 AccountName: wxpay_utility.String("AOZdYGISxo4y44/UgZ69bdu9X+tfMUJ9dl+LetjM45/zMbrYu+wWZ8gn4CTdo+D/m9MrPg+V4sm73oxqdQu/hj7aWyDl4GQtPXVdaztB9jVbVZh3QFzV+BEmytMNQp9dt1uWJktlfdDdLR3AMWyMB377xd+m9bSr/ioDTzagEcGe+vLYiKrzcroQv3OR0p3ppFYoQ3IfYeU/04S4t9rNFL+kyblK2FCCqQ11NdbbHoCrJc7NV4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
67 BankAddressCode: wxpay_utility.String("110000"),
68 BankBranchId: wxpay_utility.String("402713354941"),
69 BankName: wxpay_utility.String("施秉县农村信用合作联社城关信用社"),
70 AccountNumber: wxpay_utility.String("d+xT+MQCvrLHUVDWv/8MR/dB7TkXM2YYZlokmXzFsWs35NXUot7C0NcxIrUF5FnxqCJHkNgKtxa6RxEYyba1+VBRLnqKG2fSy/Y5qDN08Ej9zHCwJjq52Wg1VG8MRugli9YMI1fI83KGBxhuXyemgS/hqFKsfYGiOkJqjTUpgY5VqjtL2N4l4z11T0ECB/aSyVXUysOFGLVfSrUxMPZy6jWWYGvT1+4P633f+R+ki1gT4WF/2KxZOYmli385ZgVhcR30mr4/G3HBcxi13zp7FnEeOsLlvBmI1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w=="),
71 },
72 ContactInfo: &ContactInfo{
73 ContactType: wxpay_utility.String("65"),
74 ContactName: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
75 ContactIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MACAO.Ptr(),
76 ContactIdCardNumber: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
77 ContactIdDocCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
78 ContactIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
79 ContactIdDocPeriodBegin: wxpay_utility.String("2019-06-06"),
80 ContactIdDocPeriodEnd: wxpay_utility.String("2026-06-06"),
81 BusinessAuthorizationLetter: wxpay_utility.String("47ZC6GC-vnrbEny_Ie_An5-tCpqxucuxi-vByf3Gjm7KEIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
82 MobilePhone: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
83 },
84 SalesSceneInfo: &SalesSceneInfo{
85 StoreName: wxpay_utility.String("爱烧烤"),
86 StoreUrl: wxpay_utility.String("http://www.qq.com"),
87 StoreQrCode: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
88 MiniProgramSubAppid: wxpay_utility.String("wxa123344545577"),
89 },
90 SettlementInfo: &SettlementInfo{
91 SettlementId: wxpay_utility.Int64(719),
92 QualificationType: wxpay_utility.String("零售批发/生活娱乐/其他"),
93 },
94 MerchantShortname: wxpay_utility.String("腾讯"),
95 Qualifications: wxpay_utility.String("[\"jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ\",\"47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4\"]"),
96 BusinessAdditionPics: wxpay_utility.String("[\"jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ\",\"47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4\"]"),
97 BusinessAdditionDesc: wxpay_utility.String("特殊情况,说明原因"),
98 UboInfoList: []UboInfo{UboInfo{
99 UboIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MAINLAND_IDCARD.Ptr(),
100 UboIdDocCopy: wxpay_utility.String("jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
101 UboIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
102 UboIdDocName: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
103 UboIdDocNumber: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
104 UboIdDocAddress: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
105 UboIdDocPeriodBegin: wxpay_utility.String("2019-06-06"),
106 UboIdDocPeriodEnd: wxpay_utility.String("2026-06-06"),
107 }},
108 }
109
110 response, err := SubmitApplyment(config, request)
111 if err != nil {
112 fmt.Printf("请求失败: %+v\n", err)
113
114 return
115 }
116
117
118 fmt.Printf("请求成功: %+v\n", response)
119}
120
121func SubmitApplyment(config *wxpay_utility.MchConfig, request *SubmitReq) (response *SubmitResp, err error) {
122 const (
123 host = "https://api.mch.weixin.qq.com"
124 method = "POST"
125 path = "/v3/ecommerce/applyments/"
126 )
127
128 reqUrl, err := url.Parse(fmt.Sprintf("%s%s", host, path))
129 if err != nil {
130 return nil, err
131 }
132 reqBody, err := json.Marshal(request)
133 if err != nil {
134 return nil, err
135 }
136 httpRequest, err := http.NewRequest(method, reqUrl.String(), bytes.NewReader(reqBody))
137 if err != nil {
138 return nil, err
139 }
140 httpRequest.Header.Set("Accept", "application/json")
141 httpRequest.Header.Set("Wechatpay-Serial", config.WechatPayPublicKeyId())
142 httpRequest.Header.Set("Content-Type", "application/json")
143 authorization, err := wxpay_utility.BuildAuthorization(config.MchId(), config.CertificateSerialNo(), config.PrivateKey(), method, reqUrl.RequestURI(), reqBody)
144 if err != nil {
145 return nil, err
146 }
147 httpRequest.Header.Set("Authorization", authorization)
148
149 client := &http.Client{}
150 httpResponse, err := client.Do(httpRequest)
151 if err != nil {
152 return nil, err
153 }
154 respBody, err := wxpay_utility.ExtractResponseBody(httpResponse)
155 if err != nil {
156 return nil, err
157 }
158 if httpResponse.StatusCode >= 200 && httpResponse.StatusCode < 300 {
159
160 err = wxpay_utility.ValidateResponse(
161 config.WechatPayPublicKeyId(),
162 config.WechatPayPublicKey(),
163 &httpResponse.Header,
164 respBody,
165 )
166 if err != nil {
167 return nil, err
168 }
169 response := &SubmitResp{}
170 if err := json.Unmarshal(respBody, response); err != nil {
171 return nil, err
172 }
173
174 return response, nil
175 } else {
176 return nil, wxpay_utility.NewApiException(
177 httpResponse.StatusCode,
178 httpResponse.Header,
179 respBody,
180 )
181 }
182}
183
184type SubmitReq struct {
185 OutRequestNo *string `json:"out_request_no,omitempty"`
186 OrganizationType *string `json:"organization_type,omitempty"`
187 FinanceInstitution *bool `json:"finance_institution,omitempty"`
188 BusinessLicenseInfo *BusinessLicense `json:"business_license_info,omitempty"`
189 FinanceInstitutionInfo *FinanceInstitutionInfo `json:"finance_institution_info,omitempty"`
190 IdHolderType *IdHolderType `json:"id_holder_type,omitempty"`
191 IdDocType *IdentificationType `json:"id_doc_type,omitempty"`
192 AuthorizeLetterCopy *string `json:"authorize_letter_copy,omitempty"`
193 IdCardInfo *IdCardInfo `json:"id_card_info,omitempty"`
194 IdDocInfo *IdDocInfo `json:"id_doc_info,omitempty"`
195 Owner *bool `json:"owner,omitempty"`
196 AccountInfo *AccountInfo `json:"account_info,omitempty"`
197 ContactInfo *ContactInfo `json:"contact_info,omitempty"`
198 SalesSceneInfo *SalesSceneInfo `json:"sales_scene_info,omitempty"`
199 SettlementInfo *SettlementInfo `json:"settlement_info,omitempty"`
200 MerchantShortname *string `json:"merchant_shortname,omitempty"`
201 Qualifications *string `json:"qualifications,omitempty"`
202 BusinessAdditionPics *string `json:"business_addition_pics,omitempty"`
203 BusinessAdditionDesc *string `json:"business_addition_desc,omitempty"`
204 UboInfoList []UboInfo `json:"ubo_info_list,omitempty"`
205}
206
207type SubmitResp struct {
208 ApplymentId *int64 `json:"applyment_id,omitempty"`
209 OutRequestNo *string `json:"out_request_no,omitempty"`
210}
211
212type BusinessLicense struct {
213 CertType *CertificateType `json:"cert_type,omitempty"`
214 BusinessLicenseCopy *string `json:"business_license_copy,omitempty"`
215 BusinessLicenseNumber *string `json:"business_license_number,omitempty"`
216 MerchantName *string `json:"merchant_name,omitempty"`
217 LegalPerson *string `json:"legal_person,omitempty"`
218 CompanyAddress *string `json:"company_address,omitempty"`
219 BusinessTime *string `json:"business_time,omitempty"`
220}
221
222type FinanceInstitutionInfo struct {
223 FinanceType *FinanceType `json:"finance_type,omitempty"`
224 FinanceLicensePics []string `json:"finance_license_pics,omitempty"`
225}
226
227type IdHolderType string
228
229func (e IdHolderType) Ptr() *IdHolderType {
230 return &e
231}
232
233const (
234 IDHOLDERTYPE_LEGAL IdHolderType = "LEGAL"
235 IDHOLDERTYPE_SUPER IdHolderType = "SUPER"
236)
237
238type IdentificationType string
239
240func (e IdentificationType) Ptr() *IdentificationType {
241 return &e
242}
243
244const (
245 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MAINLAND_IDCARD IdentificationType = "IDENTIFICATION_TYPE_MAINLAND_IDCARD"
246 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_OVERSEA_PASSPORT IdentificationType = "IDENTIFICATION_TYPE_OVERSEA_PASSPORT"
247 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_HONGKONG IdentificationType = "IDENTIFICATION_TYPE_HONGKONG"
248 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MACAO IdentificationType = "IDENTIFICATION_TYPE_MACAO"
249 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_TAIWAN IdentificationType = "IDENTIFICATION_TYPE_TAIWAN"
250 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_FOREIGN_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_FOREIGN_RESIDENT"
251 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_HONGKONG_MACAO_RESIDENT"
252 IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_TAIWAN_RESIDENT IdentificationType = "IDENTIFICATION_TYPE_TAIWAN_RESIDENT"
253)
254
255type IdCardInfo struct {
256 IdCardCopy *string `json:"id_card_copy,omitempty"`
257 IdCardNational *string `json:"id_card_national,omitempty"`
258 IdCardName *string `json:"id_card_name,omitempty"`
259 IdCardNumber *string `json:"id_card_number,omitempty"`
260 IdCardValidTimeBegin *string `json:"id_card_valid_time_begin,omitempty"`
261 IdCardValidTime *string `json:"id_card_valid_time,omitempty"`
262}
263
264type IdDocInfo struct {
265 IdDocName *string `json:"id_doc_name,omitempty"`
266 IdDocNumber *string `json:"id_doc_number,omitempty"`
267 IdDocCopy *string `json:"id_doc_copy,omitempty"`
268 IdDocCopyBack *string `json:"id_doc_copy_back,omitempty"`
269 DocPeriodBegin *string `json:"doc_period_begin,omitempty"`
270 DocPeriodEnd *string `json:"doc_period_end,omitempty"`
271}
272
273type AccountInfo struct {
274 BankAccountType *string `json:"bank_account_type,omitempty"`
275 AccountBank *string `json:"account_bank,omitempty"`
276 AccountName *string `json:"account_name,omitempty"`
277 BankAddressCode *string `json:"bank_address_code,omitempty"`
278 BankBranchId *string `json:"bank_branch_id,omitempty"`
279 BankName *string `json:"bank_name,omitempty"`
280 AccountNumber *string `json:"account_number,omitempty"`
281}
282
283type ContactInfo struct {
284 ContactType *string `json:"contact_type,omitempty"`
285 ContactName *string `json:"contact_name,omitempty"`
286 ContactIdDocType *IdentificationType `json:"contact_id_doc_type,omitempty"`
287 ContactIdCardNumber *string `json:"contact_id_card_number,omitempty"`
288 ContactIdDocCopy *string `json:"contact_id_doc_copy,omitempty"`
289 ContactIdDocCopyBack *string `json:"contact_id_doc_copy_back,omitempty"`
290 ContactIdDocPeriodBegin *string `json:"contact_id_doc_period_begin,omitempty"`
291 ContactIdDocPeriodEnd *string `json:"contact_id_doc_period_end,omitempty"`
292 BusinessAuthorizationLetter *string `json:"business_authorization_letter,omitempty"`
293 MobilePhone *string `json:"mobile_phone,omitempty"`
294}
295
296type SalesSceneInfo struct {
297 StoreName *string `json:"store_name,omitempty"`
298 StoreUrl *string `json:"store_url,omitempty"`
299 StoreQrCode *string `json:"store_qr_code,omitempty"`
300 MiniProgramSubAppid *string `json:"mini_program_sub_appid,omitempty"`
301}
302
303type SettlementInfo struct {
304 SettlementId *int64 `json:"settlement_id,omitempty"`
305 QualificationType *string `json:"qualification_type,omitempty"`
306}
307
308type UboInfo struct {
309 UboIdDocType *IdentificationType `json:"ubo_id_doc_type,omitempty"`
310 UboIdDocCopy *string `json:"ubo_id_doc_copy,omitempty"`
311 UboIdDocCopyBack *string `json:"ubo_id_doc_copy_back,omitempty"`
312 UboIdDocName *string `json:"ubo_id_doc_name,omitempty"`
313 UboIdDocNumber *string `json:"ubo_id_doc_number,omitempty"`
314 UboIdDocAddress *string `json:"ubo_id_doc_address,omitempty"`
315 UboIdDocPeriodBegin *string `json:"ubo_id_doc_period_begin,omitempty"`
316 UboIdDocPeriodEnd *string `json:"ubo_id_doc_period_end,omitempty"`
317}
318
319type CertificateType string
320
321func (e CertificateType) Ptr() *CertificateType {
322 return &e
323}
324
325const (
326 CERTIFICATETYPE_CERTIFICATE_TYPE_2388 CertificateType = "CERTIFICATE_TYPE_2388"
327 CERTIFICATETYPE_CERTIFICATE_TYPE_2389 CertificateType = "CERTIFICATE_TYPE_2389"
328 CERTIFICATETYPE_CERTIFICATE_TYPE_2394 CertificateType = "CERTIFICATE_TYPE_2394"
329 CERTIFICATETYPE_CERTIFICATE_TYPE_2395 CertificateType = "CERTIFICATE_TYPE_2395"
330 CERTIFICATETYPE_CERTIFICATE_TYPE_2396 CertificateType = "CERTIFICATE_TYPE_2396"
331 CERTIFICATETYPE_CERTIFICATE_TYPE_2399 CertificateType = "CERTIFICATE_TYPE_2399"
332 CERTIFICATETYPE_CERTIFICATE_TYPE_2400 CertificateType = "CERTIFICATE_TYPE_2400"
333 CERTIFICATETYPE_CERTIFICATE_TYPE_2520 CertificateType = "CERTIFICATE_TYPE_2520"
334 CERTIFICATETYPE_CERTIFICATE_TYPE_2521 CertificateType = "CERTIFICATE_TYPE_2521"
335 CERTIFICATETYPE_CERTIFICATE_TYPE_2522 CertificateType = "CERTIFICATE_TYPE_2522"
336)
337
338type FinanceType string
339
340func (e FinanceType) Ptr() *FinanceType {
341 return &e
342}
343
344const (
345 FINANCETYPE_BANK_AGENT FinanceType = "BANK_AGENT"
346 FINANCETYPE_PAYMENT_AGENT FinanceType = "PAYMENT_AGENT"
347 FINANCETYPE_INSURANCE FinanceType = "INSURANCE"
348 FINANCETYPE_TRADE_AND_SETTLE FinanceType = "TRADE_AND_SETTLE"
349 FINANCETYPE_OTHER FinanceType = "OTHER"
350)
351