
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 := &SubmitAccountHostingApplymentReq{
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 IdCardCompleteStatement: wxpay_utility.String("example_id_card_complete_statement"),
47 IdCardInfo: &AccountHostingIdCardInfo{
48 IdCardCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
49 IdCardNational: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
50 IdCardName: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
51 IdCardNumber: wxpay_utility.String("AOZdYGISxo4y44/UgZ69bdu9X+tfMUJ9dl+LetjM45/zMbrYu+wWZ8gn4CTdo+D/m9MrPg+V4sm73oxqdQu/hj7aWyDl4GQtPXVdaztB9jVbVZh3QFzV+BEmytMNQp9dt1uWJktlfdDdLR3AMWyMB377xd+m9bSr/ioDTzagEcGe+vLYiKrzcroQv3OR0p3ppFYoQ3IfYeU/04S4t9rNFL+kyblK2FCCqQ11NdbbHoCrJc7NV4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
52 IdCardValidTimeBegin: wxpay_utility.String("2019-06-06"),
53 IdCardValidTime: wxpay_utility.String("2026-06-06"),
54 },
55 IdDocInfo: &AccountHostingIdDocInfo{
56 IdDocCopy: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
57 IdDocCopyBack: wxpay_utility.String("47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4"),
58 IdDocName: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
59 IdDocNumber: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
60 DocPeriodBegin: wxpay_utility.String("2019-06-06"),
61 DocPeriodEnd: wxpay_utility.String("2020-01-02"),
62 },
63 UboInfoList: []UboInfo{UboInfo{
64 UboIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MAINLAND_IDCARD.Ptr(),
65 UboIdDocCopy: wxpay_utility.String("jTpGmxUXqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
66 UboIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
67 UboIdDocName: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
68 UboIdDocNumber: wxpay_utility.String("AOZdYGISxo4y44/Ug4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
69 UboIdDocAddress: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
70 UboIdDocPeriodBegin: wxpay_utility.String("2019-06-06"),
71 UboIdDocPeriodEnd: wxpay_utility.String("2026-06-06"),
72 }},
73 AccountInfo: &AccountHostingAccountInfo{
74 BankAccountType: wxpay_utility.String("75"),
75 AccountBank: wxpay_utility.String("工商银行"),
76 AccountName: wxpay_utility.String("AOZdYGISxo4y44/UgZ69bdu9X+tfMUJ9dl+LetjM45/zMbrYu+wWZ8gn4CTdo+D/m9MrPg+V4sm73oxqdQu/hj7aWyDl4GQtPXVdaztB9jVbVZh3QFzV+BEmytMNQp9dt1uWJktlfdDdLR3AMWyMB377xd+m9bSr/ioDTzagEcGe+vLYiKrzcroQv3OR0p3ppFYoQ3IfYeU/04S4t9rNFL+kyblK2FCCqQ11NdbbHoCrJc7NV4oASq6ZFonjTtgjjgKsadIKHXtb3JZKGZjduGdtkRJJp0/0eow96uY1Pk7Rq79Jtt7+I8juwEc4P4TG5xzchG/5IL9DBd+Z0zZXkw=="),
77 BankBranchId: wxpay_utility.String("402713354941"),
78 BankName: wxpay_utility.String("施秉县农村信用合作联社城关信用社"),
79 AccountNumber: wxpay_utility.String("d+xT+MQCvrLHUVDWv/8MR/dB7TkXM2YYZlokmXzFsWs35NXUot7C0NcxIrUF5FnxqCJHkNgKtxa6RxEYyba1+VBRLnqKG2fSy/Y5qDN08Ej9zHCwJjq52Wg1VG8MRugli9YMI1fI83KGBxhuXyemgS/hqFKsfYGiOkJqjTUpgY5VqjtL2N4l4z11T0ECB/aSyVXUysOFGLVfSrUxMPZy6jWWYGvT1+4P633f+R+ki1gT4WF/2KxZOYmli385ZgVhcR30mr4/G3HBcxi13zp7FnEeOsLlvBmI1PHN4C7Rsu3WL8sPndjXTd75kPkyjqnoMRrEEaYQE8ZRGYoeorwC+w=="),
80 },
81 ContactInfo: &AccountHostingContactInfo{
82 ContactType: wxpay_utility.String("65"),
83 ContactName: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
84 ContactIdDocType: IDENTIFICATIONTYPE_IDENTIFICATION_TYPE_MACAO.Ptr(),
85 ContactIdCardNumber: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
86 ContactIdDocCopy: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
87 ContactIdDocCopyBack: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvvDujqhThn4ReFxikqJ5YW6zFQ"),
88 ContactIdDocPeriodBegin: wxpay_utility.String("2019-06-06"),
89 ContactIdDocPeriodEnd: wxpay_utility.String("2026-06-06"),
90 MobilePhone: wxpay_utility.String("pVd1HJ6zyvPedzGaV+X3qtmrq9bb9tPROvwia4ibL+F6mfjbzQIzfb3HHLEjZ4YiR/cJiCrZxnAqi+pjeKIEdkwzXRAI7FUhrfPK3SNjaBTEu9GmsugMIA9r3x887Q+ODuC8HH2nzAn7NGpE/e3yiHgWhk0ps5k5DP/2qIdGdONoDzZelrxCl/NWWNUyB93K9F+jC1JX2IMttdY+aQ6zBlw0xnOiNW6Hzy7UtC+xriudjD5APomty7/mYNxLMpRSvWKIjOv/69bDnuC4EL5Kz4jBHLiCyOb+tI0m2qhZ9evAM+Jv1z0NVa8MRtelw/wDa4SzfeespQO/0kjiwfqdfg=="),
91 },
92 SalesSceneInfo: &SalesSceneInfo{
93 StoreName: wxpay_utility.String("爱烧烤"),
94 StoreUrl: wxpay_utility.String("http://www.qq.com"),
95 StoreQrCode: wxpay_utility.String("jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ"),
96 MiniProgramSubAppid: wxpay_utility.String("wxa123344545577"),
97 },
98 SettlementInfo: &SettlementInfo{
99 SettlementId: wxpay_utility.Int64(719),
100 QualificationType: wxpay_utility.String("零售批发/生活娱乐/其他"),
101 },
102 MerchantShortname: wxpay_utility.String("腾讯"),
103 Qualifications: wxpay_utility.String("[\"jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ\",\"47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4\"]"),
104 BusinessAdditionPics: wxpay_utility.String("[\"jTpGmxUX3FBWVQ5NJTZvlKX_gdU4cRz7z5NxpnFuAxhBTEO_PvWkfSCJ3zVIn001D8daLC-ehEuo0BJqRTvDujqhThn4ReFxikqJ5YW6zFQ\",\"47ZC6GC-vnrbEny__Ie_An5-tCpqxucuxi-vByf3Gjm7KE53JXvGy9tqZm2XAUf-4KGprrKhpVBDIUv0OF4wFNIO4kqg05InE4d2I6_H7I4\"]"),
105 BusinessAdditionDesc: wxpay_utility.String("特殊情况,说明原因"),
106 ProxySignVerifyMode: wxpay_utility.Bool(true),
107 }
108
109 response, err := SubmitAccountHostingApplyment(config, request)
110 if err != nil {
111 fmt.Printf("请求失败: %+v\n", err)
112
113 return
114 }
115
116
117 fmt.Printf("请求成功: %+v\n", response)
118}
119
120func SubmitAccountHostingApplyment(config *wxpay_utility.MchConfig, request *SubmitAccountHostingApplymentReq) (response *SubmitAccountHostingApplymentResp, err error) {
121 const (
122 host = "https://api.mch.weixin.qq.com"
123 method = "POST"
124 path = "/v3/ecommerce/applyments/submit-account-hosting-applyment"
125 )
126
127 reqUrl, err := url.Parse(fmt.Sprintf("%s%s", host, path))
128 if err != nil {
129 return nil, err
130 }
131 reqBody, err := json.Marshal(request)
132 if err != nil {
133 return nil, err
134 }
135 httpRequest, err := http.NewRequest(method, reqUrl.String(), bytes.NewReader(reqBody))
136 if err != nil {
137 return nil, err
138 }
139 httpRequest.Header.Set("Accept", "application/json")
140 httpRequest.Header.Set("Wechatpay-Serial", config.WechatPayPublicKeyId())
141 httpRequest.Header.Set("Content-Type", "application/json")
142 authorization, err := wxpay_utility.BuildAuthorization(config.MchId(), config.CertificateSerialNo(), config.PrivateKey(), method, reqUrl.RequestURI(), reqBody)
143 if err != nil {
144 return nil, err
145 }
146 httpRequest.Header.Set("Authorization", authorization)
147
148 client := &http.Client{}
149 httpResponse, err := client.Do(httpRequest)
150 if err != nil {
151 return nil, err
152 }
153 respBody, err := wxpay_utility.ExtractResponseBody(httpResponse)
154 if err != nil {
155 return nil, err
156 }
157 if httpResponse.StatusCode >= 200 && httpResponse.StatusCode < 300 {
158
159 err = wxpay_utility.ValidateResponse(
160 config.WechatPayPublicKeyId(),
161 config.WechatPayPublicKey(),
162 &httpResponse.Header,
163 respBody,
164 )
165 if err != nil {
166 return nil, err
167 }
168 response := &SubmitAccountHostingApplymentResp{}
169 if err := json.Unmarshal(respBody, response); err != nil {
170 return nil, err
171 }
172
173 return response, nil
174 } else {
175 return nil, wxpay_utility.NewApiException(
176 httpResponse.StatusCode,
177 httpResponse.Header,
178 respBody,
179 )
180 }
181}
182
183type SubmitAccountHostingApplymentReq struct {
184 OutRequestNo *string `json:"out_request_no,omitempty"`
185 OrganizationType *string `json:"organization_type,omitempty"`
186 FinanceInstitution *bool `json:"finance_institution,omitempty"`
187 BusinessLicenseInfo *BusinessLicense `json:"business_license_info,omitempty"`
188 FinanceInstitutionInfo *FinanceInstitutionInfo `json:"finance_institution_info,omitempty"`
189 IdHolderType *IdHolderType `json:"id_holder_type,omitempty"`
190 IdDocType *IdentificationType `json:"id_doc_type,omitempty"`
191 AuthorizeLetterCopy *string `json:"authorize_letter_copy,omitempty"`
192 IdCardCompleteStatement *string `json:"id_card_complete_statement,omitempty"`
193 IdCardInfo *AccountHostingIdCardInfo `json:"id_card_info,omitempty"`
194 IdDocInfo *AccountHostingIdDocInfo `json:"id_doc_info,omitempty"`
195 UboInfoList []UboInfo `json:"ubo_info_list,omitempty"`
196 AccountInfo *AccountHostingAccountInfo `json:"account_info,omitempty"`
197 ContactInfo *AccountHostingContactInfo `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 ProxySignVerifyMode *bool `json:"proxy_sign_verify_mode,omitempty"`
205}
206
207type SubmitAccountHostingApplymentResp 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 AccountHostingIdCardInfo 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 AccountHostingIdDocInfo struct {
265 IdDocCopy *string `json:"id_doc_copy,omitempty"`
266 IdDocCopyBack *string `json:"id_doc_copy_back,omitempty"`
267 IdDocName *string `json:"id_doc_name,omitempty"`
268 IdDocNumber *string `json:"id_doc_number,omitempty"`
269 DocPeriodBegin *string `json:"doc_period_begin,omitempty"`
270 DocPeriodEnd *string `json:"doc_period_end,omitempty"`
271}
272
273type UboInfo struct {
274 UboIdDocType *IdentificationType `json:"ubo_id_doc_type,omitempty"`
275 UboIdDocCopy *string `json:"ubo_id_doc_copy,omitempty"`
276 UboIdDocCopyBack *string `json:"ubo_id_doc_copy_back,omitempty"`
277 UboIdDocName *string `json:"ubo_id_doc_name,omitempty"`
278 UboIdDocNumber *string `json:"ubo_id_doc_number,omitempty"`
279 UboIdDocAddress *string `json:"ubo_id_doc_address,omitempty"`
280 UboIdDocPeriodBegin *string `json:"ubo_id_doc_period_begin,omitempty"`
281 UboIdDocPeriodEnd *string `json:"ubo_id_doc_period_end,omitempty"`
282}
283
284type AccountHostingAccountInfo struct {
285 BankAccountType *string `json:"bank_account_type,omitempty"`
286 AccountBank *string `json:"account_bank,omitempty"`
287 AccountName *string `json:"account_name,omitempty"`
288 BankBranchId *string `json:"bank_branch_id,omitempty"`
289 BankName *string `json:"bank_name,omitempty"`
290 AccountNumber *string `json:"account_number,omitempty"`
291}
292
293type AccountHostingContactInfo struct {
294 ContactType *string `json:"contact_type,omitempty"`
295 ContactName *string `json:"contact_name,omitempty"`
296 ContactIdDocType *IdentificationType `json:"contact_id_doc_type,omitempty"`
297 ContactIdCardNumber *string `json:"contact_id_card_number,omitempty"`
298 ContactIdDocCopy *string `json:"contact_id_doc_copy,omitempty"`
299 ContactIdDocCopyBack *string `json:"contact_id_doc_copy_back,omitempty"`
300 ContactIdDocPeriodBegin *string `json:"contact_id_doc_period_begin,omitempty"`
301 ContactIdDocPeriodEnd *string `json:"contact_id_doc_period_end,omitempty"`
302 MobilePhone *string `json:"mobile_phone,omitempty"`
303}
304
305type SalesSceneInfo struct {
306 StoreName *string `json:"store_name,omitempty"`
307 StoreUrl *string `json:"store_url,omitempty"`
308 StoreQrCode *string `json:"store_qr_code,omitempty"`
309 MiniProgramSubAppid *string `json:"mini_program_sub_appid,omitempty"`
310}
311
312type SettlementInfo struct {
313 SettlementId *int64 `json:"settlement_id,omitempty"`
314 QualificationType *string `json:"qualification_type,omitempty"`
315}
316
317type CertificateType string
318
319func (e CertificateType) Ptr() *CertificateType {
320 return &e
321}
322
323const (
324 CERTIFICATETYPE_CERTIFICATE_TYPE_2388 CertificateType = "CERTIFICATE_TYPE_2388"
325 CERTIFICATETYPE_CERTIFICATE_TYPE_2389 CertificateType = "CERTIFICATE_TYPE_2389"
326 CERTIFICATETYPE_CERTIFICATE_TYPE_2394 CertificateType = "CERTIFICATE_TYPE_2394"
327 CERTIFICATETYPE_CERTIFICATE_TYPE_2395 CertificateType = "CERTIFICATE_TYPE_2395"
328 CERTIFICATETYPE_CERTIFICATE_TYPE_2396 CertificateType = "CERTIFICATE_TYPE_2396"
329 CERTIFICATETYPE_CERTIFICATE_TYPE_2399 CertificateType = "CERTIFICATE_TYPE_2399"
330 CERTIFICATETYPE_CERTIFICATE_TYPE_2400 CertificateType = "CERTIFICATE_TYPE_2400"
331 CERTIFICATETYPE_CERTIFICATE_TYPE_2520 CertificateType = "CERTIFICATE_TYPE_2520"
332 CERTIFICATETYPE_CERTIFICATE_TYPE_2521 CertificateType = "CERTIFICATE_TYPE_2521"
333 CERTIFICATETYPE_CERTIFICATE_TYPE_2522 CertificateType = "CERTIFICATE_TYPE_2522"
334)
335
336type FinanceType string
337
338func (e FinanceType) Ptr() *FinanceType {
339 return &e
340}
341
342const (
343 FINANCETYPE_BANK_AGENT FinanceType = "BANK_AGENT"
344 FINANCETYPE_PAYMENT_AGENT FinanceType = "PAYMENT_AGENT"
345 FINANCETYPE_INSURANCE FinanceType = "INSURANCE"
346 FINANCETYPE_TRADE_AND_SETTLE FinanceType = "TRADE_AND_SETTLE"
347 FINANCETYPE_OTHER FinanceType = "OTHER"
348)
349