• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stripe / stripe-go / 11296113556

11 Oct 2024 04:42PM UTC coverage: 62.991% (-0.02%) from 63.015%
11296113556

Pull #1934

github

stripe-openapi[bot]
Update generated code for v1291
Pull Request #1934: Update generated code for beta

0 of 8 new or added lines in 2 files covered. (0.0%)

469 existing lines in 20 files now uncovered.

6209 of 9857 relevant lines covered (62.99%)

15.67 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

56.67
/account.go
1
//
2
//
3
// File generated from our OpenAPI spec
4
//
5
//
6

7
package stripe
8

9
import (
10
        "encoding/json"
11
        "github.com/stripe/stripe-go/v80/form"
12
)
13

14
// The business type. After you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property is only returned for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
15
type AccountBusinessType string
16

17
// List of values that AccountBusinessType can take
18
const (
19
        AccountBusinessTypeCompany          AccountBusinessType = "company"
20
        AccountBusinessTypeGovernmentEntity AccountBusinessType = "government_entity"
21
        AccountBusinessTypeIndividual       AccountBusinessType = "individual"
22
        AccountBusinessTypeNonProfit        AccountBusinessType = "non_profit"
23
)
24

25
// The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges.
26
type AccountCapabilityStatus string
27

28
// List of values that AccountCapabilityStatus can take
29
const (
30
        AccountCapabilityStatusActive   AccountCapabilityStatus = "active"
31
        AccountCapabilityStatusInactive AccountCapabilityStatus = "inactive"
32
        AccountCapabilityStatusPending  AccountCapabilityStatus = "pending"
33
)
34

35
// The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.
36
type AccountCompanyStructure string
37

38
// List of values that AccountCompanyStructure can take
39
const (
40
        AccountCompanyStructureFreeZoneEstablishment              AccountCompanyStructure = "free_zone_establishment"
41
        AccountCompanyStructureFreeZoneLLC                        AccountCompanyStructure = "free_zone_llc"
42
        AccountCompanyStructureGovernmentInstrumentality          AccountCompanyStructure = "government_instrumentality"
43
        AccountCompanyStructureGovernmentalUnit                   AccountCompanyStructure = "governmental_unit"
44
        AccountCompanyStructureIncorporatedNonProfit              AccountCompanyStructure = "incorporated_non_profit"
45
        AccountCompanyStructureIncorporatedPartnership            AccountCompanyStructure = "incorporated_partnership"
46
        AccountCompanyStructureLimitedLiabilityPartnership        AccountCompanyStructure = "limited_liability_partnership"
47
        AccountCompanyStructureLLC                                AccountCompanyStructure = "llc"
48
        AccountCompanyStructureMultiMemberLLC                     AccountCompanyStructure = "multi_member_llc"
49
        AccountCompanyStructurePrivateCompany                     AccountCompanyStructure = "private_company"
50
        AccountCompanyStructurePrivateCorporation                 AccountCompanyStructure = "private_corporation"
51
        AccountCompanyStructurePrivatePartnership                 AccountCompanyStructure = "private_partnership"
52
        AccountCompanyStructurePublicCompany                      AccountCompanyStructure = "public_company"
53
        AccountCompanyStructurePublicCorporation                  AccountCompanyStructure = "public_corporation"
54
        AccountCompanyStructurePublicPartnership                  AccountCompanyStructure = "public_partnership"
55
        AccountCompanyStructureRegisteredCharity                  AccountCompanyStructure = "registered_charity"
56
        AccountCompanyStructureSingleMemberLLC                    AccountCompanyStructure = "single_member_llc"
57
        AccountCompanyStructureSoleEstablishment                  AccountCompanyStructure = "sole_establishment"
58
        AccountCompanyStructureSoleProprietorship                 AccountCompanyStructure = "sole_proprietorship"
59
        AccountCompanyStructureTaxExemptGovernmentInstrumentality AccountCompanyStructure = "tax_exempt_government_instrumentality"
60
        AccountCompanyStructureUnincorporatedAssociation          AccountCompanyStructure = "unincorporated_association"
61
        AccountCompanyStructureUnincorporatedNonProfit            AccountCompanyStructure = "unincorporated_non_profit"
62
        AccountCompanyStructureUnincorporatedPartnership          AccountCompanyStructure = "unincorporated_partnership"
63
)
64

65
// One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document.
66
type AccountCompanyVerificationDocumentDetailsCode string
67

68
// List of values that AccountCompanyVerificationDocumentDetailsCode can take
69
const (
70
        AccountCompanyVerificationDocumentDetailsCodeDocumentCorrupt          AccountCompanyVerificationDocumentDetailsCode = "document_corrupt"
71
        AccountCompanyVerificationDocumentDetailsCodeDocumentExpired          AccountCompanyVerificationDocumentDetailsCode = "document_expired"
72
        AccountCompanyVerificationDocumentDetailsCodeDocumentFailedCopy       AccountCompanyVerificationDocumentDetailsCode = "document_failed_copy"
73
        AccountCompanyVerificationDocumentDetailsCodeDocumentFailedOther      AccountCompanyVerificationDocumentDetailsCode = "document_failed_other"
74
        AccountCompanyVerificationDocumentDetailsCodeDocumentFailedTestMode   AccountCompanyVerificationDocumentDetailsCode = "document_failed_test_mode"
75
        AccountCompanyVerificationDocumentDetailsCodeDocumentFailedGreyscale  AccountCompanyVerificationDocumentDetailsCode = "document_failed_greyscale"
76
        AccountCompanyVerificationDocumentDetailsCodeDocumentFraudulent       AccountCompanyVerificationDocumentDetailsCode = "document_fraudulent"
77
        AccountCompanyVerificationDocumentDetailsCodeDocumentInvalid          AccountCompanyVerificationDocumentDetailsCode = "document_invalid"
78
        AccountCompanyVerificationDocumentDetailsCodeDocumentIncomplete       AccountCompanyVerificationDocumentDetailsCode = "document_incomplete"
79
        AccountCompanyVerificationDocumentDetailsCodeDocumentManipulated      AccountCompanyVerificationDocumentDetailsCode = "document_manipulated"
80
        AccountCompanyVerificationDocumentDetailsCodeDocumentNotReadable      AccountCompanyVerificationDocumentDetailsCode = "document_not_readable"
81
        AccountCompanyVerificationDocumentDetailsCodeDocumentNotUploaded      AccountCompanyVerificationDocumentDetailsCode = "document_not_uploaded"
82
        AccountCompanyVerificationDocumentDetailsCodeDocumentTooLarge         AccountCompanyVerificationDocumentDetailsCode = "document_too_large"
83
        AccountCompanyVerificationDocumentDetailsCodeDocumentTypeNotSupported AccountCompanyVerificationDocumentDetailsCode = "document_type_not_supported"
84
)
85

86
// Whether this account has access to the full Stripe dashboard (`full`), to the Express dashboard (`express`), or to no dashboard (`none`).
87
type AccountControllerDashboardType string
88

89
// List of values that AccountControllerDashboardType can take
90
const (
91
        AccountControllerDashboardTypeExpress AccountControllerDashboardType = "express"
92
        AccountControllerDashboardTypeFull    AccountControllerDashboardType = "full"
93
        AccountControllerDashboardTypeNone    AccountControllerDashboardType = "none"
94
)
95

96
// A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior).
97
type AccountControllerFeesPayer string
98

99
// List of values that AccountControllerFeesPayer can take
100
const (
101
        AccountControllerFeesPayerAccount                        AccountControllerFeesPayer = "account"
102
        AccountControllerFeesPayerApplication                    AccountControllerFeesPayer = "application"
103
        AccountControllerFeesPayerApplicationCustom              AccountControllerFeesPayer = "application_custom"
104
        AccountControllerFeesPayerApplicationExpress             AccountControllerFeesPayer = "application_express"
105
        AccountControllerFeesPayerApplicationUnifiedAccountsBeta AccountControllerFeesPayer = "application_unified_accounts_beta"
106
)
107

108
// A value indicating who is liable when this account can't pay back negative balances from payments.
109
type AccountControllerLossesPayments string
110

111
// List of values that AccountControllerLossesPayments can take
112
const (
113
        AccountControllerLossesPaymentsApplication AccountControllerLossesPayments = "application"
114
        AccountControllerLossesPaymentsStripe      AccountControllerLossesPayments = "stripe"
115
)
116

117
// A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account.
118
type AccountControllerRequirementCollection string
119

120
// List of values that AccountControllerRequirementCollection can take
121
const (
122
        AccountControllerRequirementCollectionApplication AccountControllerRequirementCollection = "application"
123
        AccountControllerRequirementCollectionStripe      AccountControllerRequirementCollection = "stripe"
124
)
125

126
// A value indicating the Stripe dashboard this account has access to independent of the Connect application.
127
type AccountControllerStripeDashboardType string
128

129
// List of values that AccountControllerStripeDashboardType can take
130
const (
131
        AccountControllerStripeDashboardTypeExpress AccountControllerStripeDashboardType = "express"
132
        AccountControllerStripeDashboardTypeFull    AccountControllerStripeDashboardType = "full"
133
        AccountControllerStripeDashboardTypeNone    AccountControllerStripeDashboardType = "none"
134
)
135

136
// The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself.
137
type AccountControllerType string
138

139
// List of values that AccountControllerType can take
140
const (
141
        AccountControllerTypeAccount     AccountControllerType = "account"
142
        AccountControllerTypeApplication AccountControllerType = "application"
143
)
144

145
type AccountExternalAccountType string
146

147
// List of values that AccountExternalAccountType can take
148
const (
149
        AccountExternalAccountTypeBankAccount AccountExternalAccountType = "bank_account"
150
        AccountExternalAccountTypeCard        AccountExternalAccountType = "card"
151
)
152

153
// If the account is disabled, this string describes why. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). Can be `action_required.requested_capabilities`, `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.incomplete_verification`, `rejected.listed`, `rejected.other`, `rejected.terms_of_service`, `under_review`, or `other`.
154
type AccountRequirementsDisabledReason string
155

156
// List of values that AccountRequirementsDisabledReason can take
157
const (
158
        AccountRequirementsDisabledReasonFieldsNeeded           AccountRequirementsDisabledReason = "fields_needed"
159
        AccountRequirementsDisabledReasonListed                 AccountRequirementsDisabledReason = "listed"
160
        AccountRequirementsDisabledReasonOther                  AccountRequirementsDisabledReason = "other"
161
        AccountRequirementsDisabledReasonRejectedFraud          AccountRequirementsDisabledReason = "rejected.fraud"
162
        AccountRequirementsDisabledReasonRejectedListed         AccountRequirementsDisabledReason = "rejected.listed"
163
        AccountRequirementsDisabledReasonRejectedOther          AccountRequirementsDisabledReason = "rejected.other"
164
        AccountRequirementsDisabledReasonRejectedTermsOfService AccountRequirementsDisabledReason = "rejected.terms_of_service"
165
        AccountRequirementsDisabledReasonUnderReview            AccountRequirementsDisabledReason = "under_review"
166
)
167

168
// How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`.
169
type AccountSettingsPayoutsScheduleInterval string
170

171
// List of values that AccountSettingsPayoutsScheduleInterval can take
172
const (
173
        AccountSettingsPayoutsScheduleIntervalDaily   AccountSettingsPayoutsScheduleInterval = "daily"
174
        AccountSettingsPayoutsScheduleIntervalManual  AccountSettingsPayoutsScheduleInterval = "manual"
175
        AccountSettingsPayoutsScheduleIntervalMonthly AccountSettingsPayoutsScheduleInterval = "monthly"
176
        AccountSettingsPayoutsScheduleIntervalWeekly  AccountSettingsPayoutsScheduleInterval = "weekly"
177
)
178

179
// The user's service agreement type
180
type AccountTOSAcceptanceServiceAgreement string
181

182
// List of values that AccountTOSAcceptanceServiceAgreement can take
183
const (
184
        AccountTOSAcceptanceServiceAgreementFull      AccountTOSAcceptanceServiceAgreement = "full"
185
        AccountTOSAcceptanceServiceAgreementRecipient AccountTOSAcceptanceServiceAgreement = "recipient"
186
)
187

188
// The Stripe account type. Can be `standard`, `express`, `custom`, or `none`.
189
type AccountType string
190

191
// List of values that AccountType can take
192
const (
193
        AccountTypeCustom   AccountType = "custom"
194
        AccountTypeExpress  AccountType = "express"
195
        AccountTypeNone     AccountType = "none"
196
        AccountTypeStandard AccountType = "standard"
197
)
198

199
// With [Connect](https://stripe.com/connect), you can delete accounts you manage.
200
//
201
// Test-mode accounts can be deleted at any time.
202
//
203
// Live-mode accounts where Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be deleted when all [balances](https://stripe.com/api/balance/balance_object) are zero.
204
//
205
// If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead.
206
type AccountParams struct {
207
        Params `form:"*"`
208
        // An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.
209
        AccountToken *string `form:"account_token"`
210
        // Business information about the account.
211
        BusinessProfile *AccountBusinessProfileParams `form:"business_profile"`
212
        // The business type. Once you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
213
        BusinessType *string `form:"business_type"`
214
        // Each key of the dictionary represents a capability, and each capability
215
        // maps to its settings (for example, whether it has been requested or not). Each
216
        // capability is inactive until you have provided its specific
217
        // requirements and Stripe has verified them. An account might have some
218
        // of its requested capabilities be active and some be inactive.
219
        //
220
        // Required when [account.controller.stripe_dashboard.type](https://stripe.com/api/accounts/create#create_account-controller-dashboard-type)
221
        // is `none`, which includes Custom accounts.
222
        Capabilities *AccountCapabilitiesParams `form:"capabilities"`
223
        // Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
224
        Company *AccountCompanyParams `form:"company"`
225
        // A hash of configuration describing the account controller's attributes.
226
        Controller *AccountControllerParams `form:"controller"`
227
        // The country in which the account holder resides, or in which the business is legally established. This should be an ISO 3166-1 alpha-2 country code. For example, if you are in the United States and the business for which you're creating an account is legally represented in Canada, you would use `CA` as the country for the account being created. Available countries include [Stripe's global markets](https://stripe.com/global) as well as countries where [cross-border payouts](https://stripe.com/docs/connect/cross-border-payouts) are supported.
228
        Country *string `form:"country"`
229
        // Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://docs.stripe.com/payouts).
230
        DefaultCurrency *string `form:"default_currency"`
231
        // Documents that may be submitted to satisfy various informational requests.
232
        Documents *AccountDocumentsParams `form:"documents"`
233
        // The email address of the account holder. This is only to make the account easier to identify to you. If [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, Stripe doesn't email the account without your consent.
234
        Email *string `form:"email"`
235
        // Specifies which fields in the response should be expanded.
236
        Expand []*string `form:"expand"`
237
        // A card or bank account to attach to the account for receiving [payouts](https://stripe.com/connect/bank-debit-card-payouts) (you won't be able to use it for top-ups). You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/api#account_create_bank_account) creation.
238
        //
239
        // By default, providing an external account sets it as the new default external account for its currency, and deletes the old default if one exists. To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/api#account_create_bank_account) or [card creation](https://stripe.com/api#account_create_card) APIs. After you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
240
        ExternalAccount *AccountExternalAccountParams `form:"external_account"`
241
        // A hash of account group type to tokens. These are account groups this account should be added to
242
        Groups *AccountGroupsParams `form:"groups"`
243
        // Information about the person represented by the account. This field is null unless `business_type` is set to `individual`. Once you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
244
        Individual *PersonParams `form:"individual"`
245
        // Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
246
        Metadata map[string]string `form:"metadata"`
247
        // A hash to configure risk controls on the account. Please see [this page for more details](https://stripe.com/connect/pausing-payments-or-payouts-on-connected-accounts).
248
        RiskControls *AccountRiskControlsParams `form:"risk_controls"`
249
        // Options for customizing how the account functions within Stripe.
250
        Settings *AccountSettingsParams `form:"settings"`
251
        // Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty.
252
        TOSAcceptance *AccountTOSAcceptanceParams `form:"tos_acceptance"`
253
        // The type of Stripe account to create. May be one of `custom`, `express` or `standard`.
254
        Type *string `form:"type"`
255
}
256

257
// AddExpand appends a new field to expand.
258
func (p *AccountParams) AddExpand(f string) {
×
259
        p.Expand = append(p.Expand, &f)
×
260
}
×
261

262
// AddMetadata adds a new key-value pair to the Metadata.
263
func (p *AccountParams) AddMetadata(key string, value string) {
×
264
        if p.Metadata == nil {
×
265
                p.Metadata = make(map[string]string)
×
266
        }
×
267

268
        p.Metadata[key] = value
×
269
}
270

271
// The applicant's gross annual revenue for its preceding fiscal year.
272
type AccountBusinessProfileAnnualRevenueParams struct {
273
        // A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal).
274
        Amount *int64 `form:"amount"`
275
        // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
276
        Currency *string `form:"currency"`
277
        // The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023.
278
        FiscalYearEnd *string `form:"fiscal_year_end"`
279
}
280

281
// An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India.
282
type AccountBusinessProfileMonthlyEstimatedRevenueParams struct {
283
        // A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal).
284
        Amount *int64 `form:"amount"`
285
        // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
286
        Currency *string `form:"currency"`
287
}
288

289
// Business information about the account.
290
type AccountBusinessProfileParams struct {
291
        // The applicant's gross annual revenue for its preceding fiscal year.
292
        AnnualRevenue *AccountBusinessProfileAnnualRevenueParams `form:"annual_revenue"`
293
        // An estimated upper bound of employees, contractors, vendors, etc. currently working for the business.
294
        EstimatedWorkerCount *int64 `form:"estimated_worker_count"`
295
        // [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
296
        MCC *string `form:"mcc"`
297
        // An estimate of the monthly revenue of the business. Only accepted for accounts in Brazil and India.
298
        MonthlyEstimatedRevenue *AccountBusinessProfileMonthlyEstimatedRevenueParams `form:"monthly_estimated_revenue"`
299
        // The customer-facing business name.
300
        Name *string `form:"name"`
301
        // Internal-only description of the product sold by, or service provided by, the business. Used by Stripe for risk and underwriting purposes.
302
        ProductDescription *string `form:"product_description"`
303
        // A publicly available mailing address for sending support issues to.
304
        SupportAddress *AddressParams `form:"support_address"`
305
        // A publicly available email address for sending support issues to.
306
        SupportEmail *string `form:"support_email"`
307
        // A publicly available phone number to call with support issues.
308
        SupportPhone *string `form:"support_phone"`
309
        // A publicly available website for handling support issues.
310
        SupportURL *string `form:"support_url"`
311
        // The business's publicly available website.
312
        URL *string `form:"url"`
313
}
314

315
// The acss_debit_payments capability.
316
type AccountCapabilitiesACSSDebitPaymentsParams struct {
317
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
318
        Requested *bool `form:"requested"`
319
}
320

321
// The affirm_payments capability.
322
type AccountCapabilitiesAffirmPaymentsParams struct {
323
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
324
        Requested *bool `form:"requested"`
325
}
326

327
// The afterpay_clearpay_payments capability.
328
type AccountCapabilitiesAfterpayClearpayPaymentsParams struct {
329
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
330
        Requested *bool `form:"requested"`
331
}
332

333
// The amazon_pay_payments capability.
334
type AccountCapabilitiesAmazonPayPaymentsParams struct {
335
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
336
        Requested *bool `form:"requested"`
337
}
338

339
// The au_becs_debit_payments capability.
340
type AccountCapabilitiesAUBECSDebitPaymentsParams struct {
341
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
342
        Requested *bool `form:"requested"`
343
}
344

345
// The bacs_debit_payments capability.
346
type AccountCapabilitiesBACSDebitPaymentsParams struct {
347
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
348
        Requested *bool `form:"requested"`
349
}
350

351
// The bancontact_payments capability.
352
type AccountCapabilitiesBancontactPaymentsParams struct {
353
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
354
        Requested *bool `form:"requested"`
355
}
356

357
// The bank_transfer_payments capability.
358
type AccountCapabilitiesBankTransferPaymentsParams struct {
359
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
360
        Requested *bool `form:"requested"`
361
}
362

363
// The blik_payments capability.
364
type AccountCapabilitiesBLIKPaymentsParams struct {
365
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
366
        Requested *bool `form:"requested"`
367
}
368

369
// The boleto_payments capability.
370
type AccountCapabilitiesBoletoPaymentsParams struct {
371
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
372
        Requested *bool `form:"requested"`
373
}
374

375
// The card_issuing capability.
376
type AccountCapabilitiesCardIssuingParams struct {
377
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
378
        Requested *bool `form:"requested"`
379
}
380

381
// The card_payments capability.
382
type AccountCapabilitiesCardPaymentsParams struct {
383
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
384
        Requested *bool `form:"requested"`
385
}
386

387
// The cartes_bancaires_payments capability.
388
type AccountCapabilitiesCartesBancairesPaymentsParams struct {
389
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
390
        Requested *bool `form:"requested"`
391
}
392

393
// The cashapp_payments capability.
394
type AccountCapabilitiesCashAppPaymentsParams struct {
395
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
396
        Requested *bool `form:"requested"`
397
}
398

399
// The eps_payments capability.
400
type AccountCapabilitiesEPSPaymentsParams struct {
401
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
402
        Requested *bool `form:"requested"`
403
}
404

405
// The fpx_payments capability.
406
type AccountCapabilitiesFPXPaymentsParams struct {
407
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
408
        Requested *bool `form:"requested"`
409
}
410

411
// The gb_bank_transfer_payments capability.
412
type AccountCapabilitiesGBBankTransferPaymentsParams struct {
413
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
414
        Requested *bool `form:"requested"`
415
}
416

417
// The giropay_payments capability.
418
type AccountCapabilitiesGiropayPaymentsParams struct {
419
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
420
        Requested *bool `form:"requested"`
421
}
422

423
// The grabpay_payments capability.
424
type AccountCapabilitiesGrabpayPaymentsParams struct {
425
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
426
        Requested *bool `form:"requested"`
427
}
428

429
// The ideal_payments capability.
430
type AccountCapabilitiesIDEALPaymentsParams struct {
431
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
432
        Requested *bool `form:"requested"`
433
}
434

435
// The india_international_payments capability.
436
type AccountCapabilitiesIndiaInternationalPaymentsParams struct {
437
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
438
        Requested *bool `form:"requested"`
439
}
440

441
// The jcb_payments capability.
442
type AccountCapabilitiesJCBPaymentsParams struct {
443
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
444
        Requested *bool `form:"requested"`
445
}
446

447
// The jp_bank_transfer_payments capability.
448
type AccountCapabilitiesJPBankTransferPaymentsParams struct {
449
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
450
        Requested *bool `form:"requested"`
451
}
452

453
// The kakao_pay_payments capability.
454
type AccountCapabilitiesKakaoPayPaymentsParams struct {
455
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
456
        Requested *bool `form:"requested"`
457
}
458

459
// The klarna_payments capability.
460
type AccountCapabilitiesKlarnaPaymentsParams struct {
461
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
462
        Requested *bool `form:"requested"`
463
}
464

465
// The konbini_payments capability.
466
type AccountCapabilitiesKonbiniPaymentsParams struct {
467
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
468
        Requested *bool `form:"requested"`
469
}
470

471
// The kr_card_payments capability.
472
type AccountCapabilitiesKrCardPaymentsParams struct {
473
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
474
        Requested *bool `form:"requested"`
475
}
476

477
// The legacy_payments capability.
478
type AccountCapabilitiesLegacyPaymentsParams struct {
479
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
480
        Requested *bool `form:"requested"`
481
}
482

483
// The link_payments capability.
484
type AccountCapabilitiesLinkPaymentsParams struct {
485
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
486
        Requested *bool `form:"requested"`
487
}
488

489
// The mb_way_payments capability.
490
type AccountCapabilitiesMbWayPaymentsParams struct {
491
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
492
        Requested *bool `form:"requested"`
493
}
494

495
// The mobilepay_payments capability.
496
type AccountCapabilitiesMobilepayPaymentsParams struct {
497
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
498
        Requested *bool `form:"requested"`
499
}
500

501
// The multibanco_payments capability.
502
type AccountCapabilitiesMultibancoPaymentsParams struct {
503
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
504
        Requested *bool `form:"requested"`
505
}
506

507
// The mx_bank_transfer_payments capability.
508
type AccountCapabilitiesMXBankTransferPaymentsParams struct {
509
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
510
        Requested *bool `form:"requested"`
511
}
512

513
// The naver_pay_payments capability.
514
type AccountCapabilitiesNaverPayPaymentsParams struct {
515
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
516
        Requested *bool `form:"requested"`
517
}
518

519
// The oxxo_payments capability.
520
type AccountCapabilitiesOXXOPaymentsParams struct {
521
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
522
        Requested *bool `form:"requested"`
523
}
524

525
// The p24_payments capability.
526
type AccountCapabilitiesP24PaymentsParams struct {
527
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
528
        Requested *bool `form:"requested"`
529
}
530

531
// The payco_payments capability.
532
type AccountCapabilitiesPaycoPaymentsParams struct {
533
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
534
        Requested *bool `form:"requested"`
535
}
536

537
// The paynow_payments capability.
538
type AccountCapabilitiesPayNowPaymentsParams struct {
539
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
540
        Requested *bool `form:"requested"`
541
}
542

543
// The paypal_payments capability.
544
type AccountCapabilitiesPaypalPaymentsParams struct {
545
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
546
        Requested *bool `form:"requested"`
547
}
548

549
// The payto_payments capability.
550
type AccountCapabilitiesPaytoPaymentsParams struct {
551
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
552
        Requested *bool `form:"requested"`
553
}
554

555
// The promptpay_payments capability.
556
type AccountCapabilitiesPromptPayPaymentsParams struct {
557
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
558
        Requested *bool `form:"requested"`
559
}
560

561
// The rechnung_payments capability.
562
type AccountCapabilitiesRechnungPaymentsParams struct {
563
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
564
        Requested *bool `form:"requested"`
565
}
566

567
// The revolut_pay_payments capability.
568
type AccountCapabilitiesRevolutPayPaymentsParams struct {
569
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
570
        Requested *bool `form:"requested"`
571
}
572

573
// The samsung_pay_payments capability.
574
type AccountCapabilitiesSamsungPayPaymentsParams struct {
575
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
576
        Requested *bool `form:"requested"`
577
}
578

579
// The sepa_bank_transfer_payments capability.
580
type AccountCapabilitiesSEPABankTransferPaymentsParams struct {
581
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
582
        Requested *bool `form:"requested"`
583
}
584

585
// The sepa_debit_payments capability.
586
type AccountCapabilitiesSEPADebitPaymentsParams struct {
587
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
588
        Requested *bool `form:"requested"`
589
}
590

591
// The sofort_payments capability.
592
type AccountCapabilitiesSofortPaymentsParams struct {
593
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
594
        Requested *bool `form:"requested"`
595
}
596

597
// The swish_payments capability.
598
type AccountCapabilitiesSwishPaymentsParams struct {
599
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
600
        Requested *bool `form:"requested"`
601
}
602

603
// The tax_reporting_us_1099_k capability.
604
type AccountCapabilitiesTaxReportingUS1099KParams struct {
605
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
606
        Requested *bool `form:"requested"`
607
}
608

609
// The tax_reporting_us_1099_misc capability.
610
type AccountCapabilitiesTaxReportingUS1099MISCParams struct {
611
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
612
        Requested *bool `form:"requested"`
613
}
614

615
// The transfers capability.
616
type AccountCapabilitiesTransfersParams struct {
617
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
618
        Requested *bool `form:"requested"`
619
}
620

621
// The treasury capability.
622
type AccountCapabilitiesTreasuryParams struct {
623
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
624
        Requested *bool `form:"requested"`
625
}
626

627
// The treasury_evolve capability.
628
type AccountCapabilitiesTreasuryEvolveParams struct {
629
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
630
        Requested *bool `form:"requested"`
631
}
632

633
// The treasury_fifth_third capability.
634
type AccountCapabilitiesTreasuryFifthThirdParams struct {
635
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
636
        Requested *bool `form:"requested"`
637
}
638

639
// The treasury_goldman_sachs capability.
640
type AccountCapabilitiesTreasuryGoldmanSachsParams struct {
641
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
642
        Requested *bool `form:"requested"`
643
}
644

645
// The twint_payments capability.
646
type AccountCapabilitiesTWINTPaymentsParams struct {
647
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
648
        Requested *bool `form:"requested"`
649
}
650

651
// The us_bank_account_ach_payments capability.
652
type AccountCapabilitiesUSBankAccountACHPaymentsParams struct {
653
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
654
        Requested *bool `form:"requested"`
655
}
656

657
// The us_bank_transfer_payments capability.
658
type AccountCapabilitiesUSBankTransferPaymentsParams struct {
659
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
660
        Requested *bool `form:"requested"`
661
}
662

663
// The zip_payments capability.
664
type AccountCapabilitiesZipPaymentsParams struct {
665
        // Passing true requests the capability for the account, if it is not already requested. A requested capability may not immediately become active. Any requirements to activate the capability are returned in the `requirements` arrays.
666
        Requested *bool `form:"requested"`
667
}
668

669
// Each key of the dictionary represents a capability, and each capability
670
// maps to its settings (for example, whether it has been requested or not). Each
671
// capability is inactive until you have provided its specific
672
// requirements and Stripe has verified them. An account might have some
673
// of its requested capabilities be active and some be inactive.
674
//
675
// Required when [account.controller.stripe_dashboard.type](https://stripe.com/api/accounts/create#create_account-controller-dashboard-type)
676
// is `none`, which includes Custom accounts.
677
type AccountCapabilitiesParams struct {
678
        // The acss_debit_payments capability.
679
        ACSSDebitPayments *AccountCapabilitiesACSSDebitPaymentsParams `form:"acss_debit_payments"`
680
        // The affirm_payments capability.
681
        AffirmPayments *AccountCapabilitiesAffirmPaymentsParams `form:"affirm_payments"`
682
        // The afterpay_clearpay_payments capability.
683
        AfterpayClearpayPayments *AccountCapabilitiesAfterpayClearpayPaymentsParams `form:"afterpay_clearpay_payments"`
684
        // The amazon_pay_payments capability.
685
        AmazonPayPayments *AccountCapabilitiesAmazonPayPaymentsParams `form:"amazon_pay_payments"`
686
        // The au_becs_debit_payments capability.
687
        AUBECSDebitPayments *AccountCapabilitiesAUBECSDebitPaymentsParams `form:"au_becs_debit_payments"`
688
        // The bacs_debit_payments capability.
689
        BACSDebitPayments *AccountCapabilitiesBACSDebitPaymentsParams `form:"bacs_debit_payments"`
690
        // The bancontact_payments capability.
691
        BancontactPayments *AccountCapabilitiesBancontactPaymentsParams `form:"bancontact_payments"`
692
        // The bank_transfer_payments capability.
693
        BankTransferPayments *AccountCapabilitiesBankTransferPaymentsParams `form:"bank_transfer_payments"`
694
        // The blik_payments capability.
695
        BLIKPayments *AccountCapabilitiesBLIKPaymentsParams `form:"blik_payments"`
696
        // The boleto_payments capability.
697
        BoletoPayments *AccountCapabilitiesBoletoPaymentsParams `form:"boleto_payments"`
698
        // The card_issuing capability.
699
        CardIssuing *AccountCapabilitiesCardIssuingParams `form:"card_issuing"`
700
        // The card_payments capability.
701
        CardPayments *AccountCapabilitiesCardPaymentsParams `form:"card_payments"`
702
        // The cartes_bancaires_payments capability.
703
        CartesBancairesPayments *AccountCapabilitiesCartesBancairesPaymentsParams `form:"cartes_bancaires_payments"`
704
        // The cashapp_payments capability.
705
        CashAppPayments *AccountCapabilitiesCashAppPaymentsParams `form:"cashapp_payments"`
706
        // The eps_payments capability.
707
        EPSPayments *AccountCapabilitiesEPSPaymentsParams `form:"eps_payments"`
708
        // The fpx_payments capability.
709
        FPXPayments *AccountCapabilitiesFPXPaymentsParams `form:"fpx_payments"`
710
        // The gb_bank_transfer_payments capability.
711
        GBBankTransferPayments *AccountCapabilitiesGBBankTransferPaymentsParams `form:"gb_bank_transfer_payments"`
712
        // The giropay_payments capability.
713
        GiropayPayments *AccountCapabilitiesGiropayPaymentsParams `form:"giropay_payments"`
714
        // The grabpay_payments capability.
715
        GrabpayPayments *AccountCapabilitiesGrabpayPaymentsParams `form:"grabpay_payments"`
716
        // The ideal_payments capability.
717
        IDEALPayments *AccountCapabilitiesIDEALPaymentsParams `form:"ideal_payments"`
718
        // The india_international_payments capability.
719
        IndiaInternationalPayments *AccountCapabilitiesIndiaInternationalPaymentsParams `form:"india_international_payments"`
720
        // The jcb_payments capability.
721
        JCBPayments *AccountCapabilitiesJCBPaymentsParams `form:"jcb_payments"`
722
        // The jp_bank_transfer_payments capability.
723
        JPBankTransferPayments *AccountCapabilitiesJPBankTransferPaymentsParams `form:"jp_bank_transfer_payments"`
724
        // The kakao_pay_payments capability.
725
        KakaoPayPayments *AccountCapabilitiesKakaoPayPaymentsParams `form:"kakao_pay_payments"`
726
        // The klarna_payments capability.
727
        KlarnaPayments *AccountCapabilitiesKlarnaPaymentsParams `form:"klarna_payments"`
728
        // The konbini_payments capability.
729
        KonbiniPayments *AccountCapabilitiesKonbiniPaymentsParams `form:"konbini_payments"`
730
        // The kr_card_payments capability.
731
        KrCardPayments *AccountCapabilitiesKrCardPaymentsParams `form:"kr_card_payments"`
732
        // The legacy_payments capability.
733
        LegacyPayments *AccountCapabilitiesLegacyPaymentsParams `form:"legacy_payments"`
734
        // The link_payments capability.
735
        LinkPayments *AccountCapabilitiesLinkPaymentsParams `form:"link_payments"`
736
        // The mb_way_payments capability.
737
        MbWayPayments *AccountCapabilitiesMbWayPaymentsParams `form:"mb_way_payments"`
738
        // The mobilepay_payments capability.
739
        MobilepayPayments *AccountCapabilitiesMobilepayPaymentsParams `form:"mobilepay_payments"`
740
        // The multibanco_payments capability.
741
        MultibancoPayments *AccountCapabilitiesMultibancoPaymentsParams `form:"multibanco_payments"`
742
        // The mx_bank_transfer_payments capability.
743
        MXBankTransferPayments *AccountCapabilitiesMXBankTransferPaymentsParams `form:"mx_bank_transfer_payments"`
744
        // The naver_pay_payments capability.
745
        NaverPayPayments *AccountCapabilitiesNaverPayPaymentsParams `form:"naver_pay_payments"`
746
        // The oxxo_payments capability.
747
        OXXOPayments *AccountCapabilitiesOXXOPaymentsParams `form:"oxxo_payments"`
748
        // The p24_payments capability.
749
        P24Payments *AccountCapabilitiesP24PaymentsParams `form:"p24_payments"`
750
        // The payco_payments capability.
751
        PaycoPayments *AccountCapabilitiesPaycoPaymentsParams `form:"payco_payments"`
752
        // The paynow_payments capability.
753
        PayNowPayments *AccountCapabilitiesPayNowPaymentsParams `form:"paynow_payments"`
754
        // The paypal_payments capability.
755
        PaypalPayments *AccountCapabilitiesPaypalPaymentsParams `form:"paypal_payments"`
756
        // The payto_payments capability.
757
        PaytoPayments *AccountCapabilitiesPaytoPaymentsParams `form:"payto_payments"`
758
        // The promptpay_payments capability.
759
        PromptPayPayments *AccountCapabilitiesPromptPayPaymentsParams `form:"promptpay_payments"`
760
        // The rechnung_payments capability.
761
        RechnungPayments *AccountCapabilitiesRechnungPaymentsParams `form:"rechnung_payments"`
762
        // The revolut_pay_payments capability.
763
        RevolutPayPayments *AccountCapabilitiesRevolutPayPaymentsParams `form:"revolut_pay_payments"`
764
        // The samsung_pay_payments capability.
765
        SamsungPayPayments *AccountCapabilitiesSamsungPayPaymentsParams `form:"samsung_pay_payments"`
766
        // The sepa_bank_transfer_payments capability.
767
        SEPABankTransferPayments *AccountCapabilitiesSEPABankTransferPaymentsParams `form:"sepa_bank_transfer_payments"`
768
        // The sepa_debit_payments capability.
769
        SEPADebitPayments *AccountCapabilitiesSEPADebitPaymentsParams `form:"sepa_debit_payments"`
770
        // The sofort_payments capability.
771
        SofortPayments *AccountCapabilitiesSofortPaymentsParams `form:"sofort_payments"`
772
        // The swish_payments capability.
773
        SwishPayments *AccountCapabilitiesSwishPaymentsParams `form:"swish_payments"`
774
        // The tax_reporting_us_1099_k capability.
775
        TaxReportingUS1099K *AccountCapabilitiesTaxReportingUS1099KParams `form:"tax_reporting_us_1099_k"`
776
        // The tax_reporting_us_1099_misc capability.
777
        TaxReportingUS1099MISC *AccountCapabilitiesTaxReportingUS1099MISCParams `form:"tax_reporting_us_1099_misc"`
778
        // The transfers capability.
779
        Transfers *AccountCapabilitiesTransfersParams `form:"transfers"`
780
        // The treasury capability.
781
        Treasury *AccountCapabilitiesTreasuryParams `form:"treasury"`
782
        // The treasury_evolve capability.
783
        TreasuryEvolve *AccountCapabilitiesTreasuryEvolveParams `form:"treasury_evolve"`
784
        // The treasury_fifth_third capability.
785
        TreasuryFifthThird *AccountCapabilitiesTreasuryFifthThirdParams `form:"treasury_fifth_third"`
786
        // The treasury_goldman_sachs capability.
787
        TreasuryGoldmanSachs *AccountCapabilitiesTreasuryGoldmanSachsParams `form:"treasury_goldman_sachs"`
788
        // The twint_payments capability.
789
        TWINTPayments *AccountCapabilitiesTWINTPaymentsParams `form:"twint_payments"`
790
        // The us_bank_account_ach_payments capability.
791
        USBankAccountACHPayments *AccountCapabilitiesUSBankAccountACHPaymentsParams `form:"us_bank_account_ach_payments"`
792
        // The us_bank_transfer_payments capability.
793
        USBankTransferPayments *AccountCapabilitiesUSBankTransferPaymentsParams `form:"us_bank_transfer_payments"`
794
        // The zip_payments capability.
795
        ZipPayments *AccountCapabilitiesZipPaymentsParams `form:"zip_payments"`
796
}
797

798
// The Kana variation of the company's primary address (Japan only).
799
type AccountCompanyAddressKanaParams struct {
800
        // City or ward.
801
        City *string `form:"city"`
802
        // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
803
        Country *string `form:"country"`
804
        // Block or building number.
805
        Line1 *string `form:"line1"`
806
        // Building details.
807
        Line2 *string `form:"line2"`
808
        // Postal code.
809
        PostalCode *string `form:"postal_code"`
810
        // Prefecture.
811
        State *string `form:"state"`
812
        // Town or cho-me.
813
        Town *string `form:"town"`
814
}
815

816
// The Kanji variation of the company's primary address (Japan only).
817
type AccountCompanyAddressKanjiParams struct {
818
        // City or ward.
819
        City *string `form:"city"`
820
        // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
821
        Country *string `form:"country"`
822
        // Block or building number.
823
        Line1 *string `form:"line1"`
824
        // Building details.
825
        Line2 *string `form:"line2"`
826
        // Postal code.
827
        PostalCode *string `form:"postal_code"`
828
        // Prefecture.
829
        State *string `form:"state"`
830
        // Town or cho-me.
831
        Town *string `form:"town"`
832
}
833

834
// This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
835
type AccountCompanyOwnershipDeclarationParams struct {
836
        // The Unix timestamp marking when the beneficial owner attestation was made.
837
        Date *int64 `form:"date"`
838
        // The IP address from which the beneficial owner attestation was made.
839
        IP *string `form:"ip"`
840
        // The user agent of the browser from which the beneficial owner attestation was made.
841
        UserAgent *string `form:"user_agent"`
842
}
843

844
// A document verifying the business.
845
type AccountCompanyVerificationDocumentParams struct {
846
        // The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
847
        Back *string `form:"back"`
848
        // The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size.
849
        Front *string `form:"front"`
850
}
851

852
// Information on the verification state of the company.
853
type AccountCompanyVerificationParams struct {
854
        // A document verifying the business.
855
        Document *AccountCompanyVerificationDocumentParams `form:"document"`
856
}
857

858
// Information about the company or business. This field is available for any `business_type`. Once you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
859
type AccountCompanyParams struct {
860
        // The company's primary address.
861
        Address *AddressParams `form:"address"`
862
        // The Kana variation of the company's primary address (Japan only).
863
        AddressKana *AccountCompanyAddressKanaParams `form:"address_kana"`
864
        // The Kanji variation of the company's primary address (Japan only).
865
        AddressKanji *AccountCompanyAddressKanjiParams `form:"address_kanji"`
866
        // Whether the company's directors have been provided. Set this Boolean to `true` after creating all the company's directors with [the Persons API](https://stripe.com/api/persons) for accounts with a `relationship.director` requirement. This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided.
867
        DirectorsProvided *bool `form:"directors_provided"`
868
        // Whether the company's executives have been provided. Set this Boolean to `true` after creating all the company's executives with [the Persons API](https://stripe.com/api/persons) for accounts with a `relationship.executive` requirement.
869
        ExecutivesProvided *bool `form:"executives_provided"`
870
        // The export license ID number of the company, also referred as Import Export Code (India only).
871
        ExportLicenseID *string `form:"export_license_id"`
872
        // The purpose code to use for export transactions (India only).
873
        ExportPurposeCode *string `form:"export_purpose_code"`
874
        // The company's legal name.
875
        Name *string `form:"name"`
876
        // The Kana variation of the company's legal name (Japan only).
877
        NameKana *string `form:"name_kana"`
878
        // The Kanji variation of the company's legal name (Japan only).
879
        NameKanji *string `form:"name_kanji"`
880
        // This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
881
        OwnershipDeclaration *AccountCompanyOwnershipDeclarationParams `form:"ownership_declaration"`
882
        // This parameter can only be used on Token creation.
883
        OwnershipDeclarationShownAndSigned *bool `form:"ownership_declaration_shown_and_signed"`
884
        // Whether the company's owners have been provided. Set this Boolean to `true` after creating all the company's owners with [the Persons API](https://stripe.com/api/persons) for accounts with a `relationship.owner` requirement.
885
        OwnersProvided *bool `form:"owners_provided"`
886
        // The company's phone number (used for verification).
887
        Phone *string `form:"phone"`
888
        // The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes. (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong).
889
        RegistrationNumber *string `form:"registration_number"`
890
        // The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/connect/identity-verification#business-structure) for more details. Pass an empty string to unset this value.
891
        Structure *string `form:"structure"`
892
        // The business ID number of the company, as appropriate for the company's country. (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.)
893
        TaxID *string `form:"tax_id"`
894
        // The jurisdiction in which the `tax_id` is registered (Germany-based companies only).
895
        TaxIDRegistrar *string `form:"tax_id_registrar"`
896
        // The VAT number of the company.
897
        VATID *string `form:"vat_id"`
898
        // Information on the verification state of the company.
899
        Verification *AccountCompanyVerificationParams `form:"verification"`
900
}
901

902
// One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the account's primary active bank account that displays the last 4 digits of the account number, either a statement or a check.
903
type AccountDocumentsBankAccountOwnershipVerificationParams struct {
904
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
905
        Files []*string `form:"files"`
906
}
907

908
// One or more documents that demonstrate proof of a company's license to operate.
909
type AccountDocumentsCompanyLicenseParams struct {
910
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
911
        Files []*string `form:"files"`
912
}
913

914
// One or more documents showing the company's Memorandum of Association.
915
type AccountDocumentsCompanyMemorandumOfAssociationParams struct {
916
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
917
        Files []*string `form:"files"`
918
}
919

920
// (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment.
921
type AccountDocumentsCompanyMinisterialDecreeParams struct {
922
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
923
        Files []*string `form:"files"`
924
}
925

926
// One or more documents that demonstrate proof of a company's registration with the appropriate local authorities.
927
type AccountDocumentsCompanyRegistrationVerificationParams struct {
928
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
929
        Files []*string `form:"files"`
930
}
931

932
// One or more documents that demonstrate proof of a company's tax ID.
933
type AccountDocumentsCompanyTaxIDVerificationParams struct {
934
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
935
        Files []*string `form:"files"`
936
}
937

938
// One or more documents showing the company's proof of registration with the national business registry.
939
type AccountDocumentsProofOfRegistrationParams struct {
940
        // One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
941
        Files []*string `form:"files"`
942
}
943

944
// Documents that may be submitted to satisfy various informational requests.
945
type AccountDocumentsParams struct {
946
        // One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement. Must be a document associated with the account's primary active bank account that displays the last 4 digits of the account number, either a statement or a check.
947
        BankAccountOwnershipVerification *AccountDocumentsBankAccountOwnershipVerificationParams `form:"bank_account_ownership_verification"`
948
        // One or more documents that demonstrate proof of a company's license to operate.
949
        CompanyLicense *AccountDocumentsCompanyLicenseParams `form:"company_license"`
950
        // One or more documents showing the company's Memorandum of Association.
951
        CompanyMemorandumOfAssociation *AccountDocumentsCompanyMemorandumOfAssociationParams `form:"company_memorandum_of_association"`
952
        // (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment.
953
        CompanyMinisterialDecree *AccountDocumentsCompanyMinisterialDecreeParams `form:"company_ministerial_decree"`
954
        // One or more documents that demonstrate proof of a company's registration with the appropriate local authorities.
955
        CompanyRegistrationVerification *AccountDocumentsCompanyRegistrationVerificationParams `form:"company_registration_verification"`
956
        // One or more documents that demonstrate proof of a company's tax ID.
957
        CompanyTaxIDVerification *AccountDocumentsCompanyTaxIDVerificationParams `form:"company_tax_id_verification"`
958
        // One or more documents showing the company's proof of registration with the national business registry.
959
        ProofOfRegistration *AccountDocumentsProofOfRegistrationParams `form:"proof_of_registration"`
960
}
961

962
// AccountExternalAccountParams are the parameters allowed to reference an
963
// external account when creating an account. It should either have Token set
964
// or everything else.
965
type AccountExternalAccountParams struct {
966
        Params            `form:"*"`
967
        AccountNumber     *string `form:"account_number"`
968
        AccountHolderName *string `form:"account_holder_name"`
969
        AccountHolderType *string `form:"account_holder_type"`
970
        Country           *string `form:"country"`
971
        Currency          *string `form:"currency"`
972
        RoutingNumber     *string `form:"routing_number"`
973
        Token             *string `form:"token"`
974
}
975

976
// AppendTo implements custom encoding logic for AccountExternalAccountParams
977
// so that we can send the special required `object` field up along with the
978
// other specified parameters or the token value.
979
func (p *AccountExternalAccountParams) AppendTo(body *form.Values, keyParts []string) {
2✔
980
        if p.Token != nil {
3✔
981
                body.Add(form.FormatKey(keyParts), StringValue(p.Token))
1✔
982
        } else {
2✔
983
                body.Add(form.FormatKey(append(keyParts, "object")), "bank_account")
1✔
984
        }
1✔
985
}
986

987
// AddMetadata adds a new key-value pair to the Metadata.
UNCOV
988
func (p *AccountExternalAccountParams) AddMetadata(key string, value string) {
×
UNCOV
989
        if p.Metadata == nil {
×
UNCOV
990
                p.Metadata = make(map[string]string)
×
UNCOV
991
        }
×
992

UNCOV
993
        p.Metadata[key] = value
×
994
}
995

996
// A hash of account group type to tokens. These are account groups this account should be added to
997
type AccountGroupsParams struct {
998
        // The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details.
999
        PaymentsPricing *string `form:"payments_pricing"`
1000
}
1001

1002
// Represents the risk control status of charges. Please see [this page for more details](https://stripe.com/docs/connect/pausing-payments-or-payouts-on-connected-accounts).
1003
type AccountRiskControlsChargesParams struct {
1004
        // To request to pause a risk control, pass `true`. To request to unpause a risk control, pass `false`.
1005
        // There can be a delay before the risk control is paused or unpaused.
1006
        PauseRequested *bool `form:"pause_requested"`
1007
}
1008

1009
// Represents the risk control status of payouts. Please see [this page for more details](https://stripe.com/docs/connect/pausing-payments-or-payouts-on-connected-accounts).
1010
type AccountRiskControlsPayoutsParams struct {
1011
        // To request to pause a risk control, pass `true`. To request to unpause a risk control, pass `false`.
1012
        // There can be a delay before the risk control is paused or unpaused.
1013
        PauseRequested *bool `form:"pause_requested"`
1014
}
1015

1016
// A hash to configure risk controls on the account. Please see [this page for more details](https://stripe.com/connect/pausing-payments-or-payouts-on-connected-accounts).
1017
type AccountRiskControlsParams struct {
1018
        // Represents the risk control status of charges. Please see [this page for more details](https://stripe.com/docs/connect/pausing-payments-or-payouts-on-connected-accounts).
1019
        Charges *AccountRiskControlsChargesParams `form:"charges"`
1020
        // Represents the risk control status of payouts. Please see [this page for more details](https://stripe.com/docs/connect/pausing-payments-or-payouts-on-connected-accounts).
1021
        Payouts *AccountRiskControlsPayoutsParams `form:"payouts"`
1022
}
1023

1024
// Settings specific to Bacs Direct Debit payments.
1025
type AccountSettingsBACSDebitPaymentsParams struct {
1026
        // The Bacs Direct Debit Display Name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free.
1027
        DisplayName *string `form:"display_name"`
1028
}
1029

1030
// Settings used to apply the account's branding to email receipts, invoices, Checkout, and other products.
1031
type AccountSettingsBrandingParams struct {
1032
        // (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px.
1033
        Icon *string `form:"icon"`
1034
        // (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px.
1035
        Logo *string `form:"logo"`
1036
        // A CSS hex color value representing the primary branding color for this account.
1037
        PrimaryColor *string `form:"primary_color"`
1038
        // A CSS hex color value representing the secondary branding color for this account.
1039
        SecondaryColor *string `form:"secondary_color"`
1040
}
1041

1042
// Settings specific to the account's use of the Capital product.
1043
type AccountSettingsCapitalParams struct {
1044
        // Per-currency mapping of user-selected destination accounts used to pay out loans.
1045
        PayoutDestination map[string]string `form:"payout_destination"`
1046
        // Per-currency mapping of all destination accounts eligible to receive Capital financing payouts.
1047
        PayoutDestinationSelector map[string][]*string `form:"payout_destination_selector"`
1048
}
1049

1050
// Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://stripe.com/issuing/connect/tos_acceptance).
1051
type AccountSettingsCardIssuingTOSAcceptanceParams struct {
1052
        // The Unix timestamp marking when the account representative accepted the service agreement.
1053
        Date *int64 `form:"date"`
1054
        // The IP address from which the account representative accepted the service agreement.
1055
        IP *string `form:"ip"`
1056
        // The user agent of the browser from which the account representative accepted the service agreement.
1057
        UserAgent *string `form:"user_agent"`
1058
}
1059

1060
// Settings specific to the account's use of the Card Issuing product.
1061
type AccountSettingsCardIssuingParams struct {
1062
        // Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://stripe.com/issuing/connect/tos_acceptance).
1063
        TOSAcceptance *AccountSettingsCardIssuingTOSAcceptanceParams `form:"tos_acceptance"`
1064
}
1065

1066
// Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge.
1067
type AccountSettingsCardPaymentsDeclineOnParams struct {
1068
        // Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification.
1069
        AVSFailure *bool `form:"avs_failure"`
1070
        // Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification.
1071
        CVCFailure *bool `form:"cvc_failure"`
1072
}
1073

1074
// Settings specific to card charging on the account.
1075
type AccountSettingsCardPaymentsParams struct {
1076
        // Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge.
1077
        DeclineOn *AccountSettingsCardPaymentsDeclineOnParams `form:"decline_on"`
1078
        // The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.
1079
        StatementDescriptorPrefix *string `form:"statement_descriptor_prefix"`
1080
        // The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
1081
        StatementDescriptorPrefixKana *string `form:"statement_descriptor_prefix_kana"`
1082
        // The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
1083
        StatementDescriptorPrefixKanji *string `form:"statement_descriptor_prefix_kanji"`
1084
}
1085

1086
// Settings specific to the account's use of Invoices.
1087
type AccountSettingsInvoicesParams struct {
1088
        // The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized.
1089
        DefaultAccountTaxIDs []*string `form:"default_account_tax_ids"`
1090
}
1091

1092
// Settings that apply across payment methods for charging on the account.
1093
type AccountSettingsPaymentsParams struct {
1094
        // The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don't set a `statement_descriptor_prefix`, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the `statement_descriptor` text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the [account settings documentation](https://docs.stripe.com/get-started/account/statement-descriptors).
1095
        StatementDescriptor *string `form:"statement_descriptor"`
1096
        // The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1097
        StatementDescriptorKana *string `form:"statement_descriptor_kana"`
1098
        // The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1099
        StatementDescriptorKanji *string `form:"statement_descriptor_kanji"`
1100
}
1101

1102
// Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://stripe.com/connect/bank-transfers#payout-information) documentation.
1103
type AccountSettingsPayoutsScheduleParams struct {
1104
        // The number of days charge funds are held before being paid out. May also be set to `minimum`, representing the lowest available value for the account country. Default is `minimum`. The `delay_days` parameter remains at the last configured value if `interval` is `manual`. [Learn more about controlling payout delay days](https://stripe.com/connect/manage-payout-schedule).
1105
        DelayDays        *int64 `form:"delay_days"`
1106
        DelayDaysMinimum *bool  `form:"-"` // See custom AppendTo
1107
        // How frequently available funds are paid out. One of: `daily`, `manual`, `weekly`, or `monthly`. Default is `daily`.
1108
        Interval *string `form:"interval"`
1109
        // The day of the month when available funds are paid out, specified as a number between 1--31. Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month. Required and applicable only if `interval` is `monthly`.
1110
        MonthlyAnchor *int64 `form:"monthly_anchor"`
1111
        // The day of the week when available funds are paid out, specified as `monday`, `tuesday`, etc. (required and applicable only if `interval` is `weekly`.)
1112
        WeeklyAnchor *string `form:"weekly_anchor"`
1113
}
1114

1115
// AppendTo implements custom encoding logic for AccountSettingsPayoutsScheduleParams.
1116
func (p *AccountSettingsPayoutsScheduleParams) AppendTo(body *form.Values, keyParts []string) {
1✔
1117
        if BoolValue(p.DelayDaysMinimum) {
2✔
1118
                body.Add(form.FormatKey(append(keyParts, "delay_days")), "minimum")
1✔
1119
        }
1✔
1120
}
1121

1122
// Settings specific to the account's payouts.
1123
type AccountSettingsPayoutsParams struct {
1124
        // A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account. For details, see [Understanding Connect Account Balances](https://stripe.com/connect/account-balances).
1125
        DebitNegativeBalances *bool `form:"debit_negative_balances"`
1126
        // Details on when funds from charges are available, and when they are paid out to an external account. For details, see our [Setting Bank and Debit Card Payouts](https://stripe.com/connect/bank-transfers#payout-information) documentation.
1127
        Schedule *AccountSettingsPayoutsScheduleParams `form:"schedule"`
1128
        // The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.
1129
        StatementDescriptor *string `form:"statement_descriptor"`
1130
}
1131

1132
// Settings specific to the account's tax forms.
1133
type AccountSettingsTaxFormsParams struct {
1134
        // Whether the account opted out of receiving their tax forms by postal delivery.
1135
        ConsentedToPaperlessDelivery *bool `form:"consented_to_paperless_delivery"`
1136
}
1137

1138
// Details on the account's acceptance of the Stripe Treasury Services Agreement.
1139
type AccountSettingsTreasuryTOSAcceptanceParams struct {
1140
        // The Unix timestamp marking when the account representative accepted the service agreement.
1141
        Date *int64 `form:"date"`
1142
        // The IP address from which the account representative accepted the service agreement.
1143
        IP *string `form:"ip"`
1144
        // The user agent of the browser from which the account representative accepted the service agreement.
1145
        UserAgent *string `form:"user_agent"`
1146
}
1147

1148
// Settings specific to the account's Treasury FinancialAccounts.
1149
type AccountSettingsTreasuryParams struct {
1150
        // Details on the account's acceptance of the Stripe Treasury Services Agreement.
1151
        TOSAcceptance *AccountSettingsTreasuryTOSAcceptanceParams `form:"tos_acceptance"`
1152
}
1153

1154
// Options for customizing how the account functions within Stripe.
1155
type AccountSettingsParams struct {
1156
        // Settings specific to Bacs Direct Debit payments.
1157
        BACSDebitPayments *AccountSettingsBACSDebitPaymentsParams `form:"bacs_debit_payments"`
1158
        // Settings used to apply the account's branding to email receipts, invoices, Checkout, and other products.
1159
        Branding *AccountSettingsBrandingParams `form:"branding"`
1160
        // Settings specific to the account's use of the Capital product.
1161
        Capital *AccountSettingsCapitalParams `form:"capital"`
1162
        // Settings specific to the account's use of the Card Issuing product.
1163
        CardIssuing *AccountSettingsCardIssuingParams `form:"card_issuing"`
1164
        // Settings specific to card charging on the account.
1165
        CardPayments *AccountSettingsCardPaymentsParams `form:"card_payments"`
1166
        // Settings specific to the account's use of Invoices.
1167
        Invoices *AccountSettingsInvoicesParams `form:"invoices"`
1168
        // Settings that apply across payment methods for charging on the account.
1169
        Payments *AccountSettingsPaymentsParams `form:"payments"`
1170
        // Settings specific to the account's payouts.
1171
        Payouts *AccountSettingsPayoutsParams `form:"payouts"`
1172
        // Settings specific to the account's tax forms.
1173
        TaxForms *AccountSettingsTaxFormsParams `form:"tax_forms"`
1174
        // Settings specific to the account's Treasury FinancialAccounts.
1175
        Treasury *AccountSettingsTreasuryParams `form:"treasury"`
1176
}
1177

1178
// Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/connect/updating-accounts#tos-acceptance). This property can only be updated for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts. This property defaults to a `full` service agreement when empty.
1179
type AccountTOSAcceptanceParams struct {
1180
        // The Unix timestamp marking when the account representative accepted their service agreement.
1181
        Date *int64 `form:"date"`
1182
        // The IP address from which the account representative accepted their service agreement.
1183
        IP *string `form:"ip"`
1184
        // The user's service agreement type.
1185
        ServiceAgreement *string `form:"service_agreement"`
1186
        // The user agent of the browser from which the account representative accepted their service agreement.
1187
        UserAgent *string `form:"user_agent"`
1188
}
1189

1190
// Returns a list of accounts connected to your platform via [Connect](https://stripe.com/docs/connect). If you're not a platform, the list is empty.
1191
type AccountListParams struct {
1192
        ListParams `form:"*"`
1193
        // Only return connected accounts that were created during the given date interval.
1194
        Created *int64 `form:"created"`
1195
        // Only return connected accounts that were created during the given date interval.
1196
        CreatedRange *RangeQueryParams `form:"created"`
1197
        // Specifies which fields in the response should be expanded.
1198
        Expand []*string `form:"expand"`
1199
}
1200

1201
// AddExpand appends a new field to expand.
UNCOV
1202
func (p *AccountListParams) AddExpand(f string) {
×
UNCOV
1203
        p.Expand = append(p.Expand, &f)
×
UNCOV
1204
}
×
1205

1206
// A hash of configuration describing the Connect application that controls the account.
1207
type AccountControllerApplicationParams struct {
1208
        // Whether the controller is liable for losses on this account. For details, see [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances).
1209
        LossLiable *bool `form:"loss_liable"`
1210
        // Whether the controller owns onboarding for this account.
1211
        OnboardingOwner *bool `form:"onboarding_owner"`
1212
        // Whether the controller has pricing controls for this account.
1213
        PricingControls *bool `form:"pricing_controls"`
1214
}
1215

1216
// Properties of the account's dashboard.
1217
type AccountControllerDashboardParams struct {
1218
        // Whether this account should have access to the full Stripe Dashboard (`full`), to the Express Dashboard (`express`), or to no Stripe-hosted dashboard (`none`). Defaults to `full`.
1219
        Type *string `form:"type"`
1220
}
1221

1222
// A hash of configuration for who pays Stripe fees for product usage on this account.
1223
type AccountControllerFeesParams struct {
1224
        // A value indicating the responsible payer of Stripe fees on this account. Defaults to `account`. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior).
1225
        Payer *string `form:"payer"`
1226
}
1227

1228
// A hash of configuration for products that have negative balance liability, and whether Stripe or a Connect application is responsible for them.
1229
type AccountControllerLossesParams struct {
1230
        // A value indicating who is liable when this account can't pay back negative balances resulting from payments. Defaults to `stripe`.
1231
        Payments *string `form:"payments"`
1232
}
1233

1234
// A hash of configuration for Stripe-hosted dashboards.
1235
type AccountControllerStripeDashboardParams struct {
1236
        // Whether this account should have access to the full Stripe Dashboard (`full`), to the Express Dashboard (`express`), or to no Stripe-hosted dashboard (`none`). Defaults to `full`.
1237
        Type *string `form:"type"`
1238
}
1239

1240
// A hash of configuration describing the account controller's attributes.
1241
type AccountControllerParams struct {
1242
        // A hash of configuration describing the Connect application that controls the account.
1243
        Application *AccountControllerApplicationParams `form:"application"`
1244
        // Properties of the account's dashboard.
1245
        Dashboard *AccountControllerDashboardParams `form:"dashboard"`
1246
        // A hash of configuration for who pays Stripe fees for product usage on this account.
1247
        Fees *AccountControllerFeesParams `form:"fees"`
1248
        // A hash of configuration for products that have negative balance liability, and whether Stripe or a Connect application is responsible for them.
1249
        Losses *AccountControllerLossesParams `form:"losses"`
1250
        // A value indicating responsibility for collecting updated information when requirements on the account are due or change. Defaults to `stripe`.
1251
        RequirementCollection *string `form:"requirement_collection"`
1252
        // A hash of configuration for Stripe-hosted dashboards.
1253
        StripeDashboard *AccountControllerStripeDashboardParams `form:"stripe_dashboard"`
1254
}
1255

1256
// With [Connect](https://stripe.com/connect), you can reject accounts that you have flagged as suspicious.
1257
//
1258
// Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time. Live-mode accounts can only be rejected after all balances are zero.
1259
type AccountRejectParams struct {
1260
        Params `form:"*"`
1261
        // Specifies which fields in the response should be expanded.
1262
        Expand []*string `form:"expand"`
1263
        // The reason for rejecting the account. Can be `fraud`, `terms_of_service`, or `other`.
1264
        Reason *string `form:"reason"`
1265
}
1266

1267
// AddExpand appends a new field to expand.
UNCOV
1268
func (p *AccountRejectParams) AddExpand(f string) {
×
UNCOV
1269
        p.Expand = append(p.Expand, &f)
×
UNCOV
1270
}
×
1271

1272
// The applicant's gross annual revenue for its preceding fiscal year.
1273
type AccountBusinessProfileAnnualRevenue struct {
1274
        // A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/currencies#zero-decimal).
1275
        Amount int64 `json:"amount"`
1276
        // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1277
        Currency Currency `json:"currency"`
1278
        // The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023.
1279
        FiscalYearEnd string `json:"fiscal_year_end"`
1280
}
1281
type AccountBusinessProfileMonthlyEstimatedRevenue struct {
1282
        // A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/currencies#zero-decimal).
1283
        Amount int64 `json:"amount"`
1284
        // Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1285
        Currency Currency `json:"currency"`
1286
}
1287

1288
// Business information about the account.
1289
type AccountBusinessProfile struct {
1290
        // The applicant's gross annual revenue for its preceding fiscal year.
1291
        AnnualRevenue *AccountBusinessProfileAnnualRevenue `json:"annual_revenue"`
1292
        // An estimated upper bound of employees, contractors, vendors, etc. currently working for the business.
1293
        EstimatedWorkerCount int64 `json:"estimated_worker_count"`
1294
        // [The merchant category code for the account](https://stripe.com/connect/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
1295
        MCC                     string                                         `json:"mcc"`
1296
        MonthlyEstimatedRevenue *AccountBusinessProfileMonthlyEstimatedRevenue `json:"monthly_estimated_revenue"`
1297
        // The customer-facing business name.
1298
        Name string `json:"name"`
1299
        // Internal-only description of the product sold or service provided by the business. It's used by Stripe for risk and underwriting purposes.
1300
        ProductDescription string `json:"product_description"`
1301
        // A publicly available mailing address for sending support issues to.
1302
        SupportAddress *Address `json:"support_address"`
1303
        // A publicly available email address for sending support issues to.
1304
        SupportEmail string `json:"support_email"`
1305
        // A publicly available phone number to call with support issues.
1306
        SupportPhone string `json:"support_phone"`
1307
        // A publicly available website for handling support issues.
1308
        SupportURL string `json:"support_url"`
1309
        // The business's publicly available website.
1310
        URL string `json:"url"`
1311
}
1312
type AccountCapabilities struct {
1313
        // The status of the Canadian pre-authorized debits payments capability of the account, or whether the account can directly process Canadian pre-authorized debits charges.
1314
        ACSSDebitPayments AccountCapabilityStatus `json:"acss_debit_payments"`
1315
        // The status of the Affirm capability of the account, or whether the account can directly process Affirm charges.
1316
        AffirmPayments AccountCapabilityStatus `json:"affirm_payments"`
1317
        // The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.
1318
        AfterpayClearpayPayments AccountCapabilityStatus `json:"afterpay_clearpay_payments"`
1319
        // The status of the AmazonPay capability of the account, or whether the account can directly process AmazonPay payments.
1320
        AmazonPayPayments AccountCapabilityStatus `json:"amazon_pay_payments"`
1321
        // The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges.
1322
        AUBECSDebitPayments AccountCapabilityStatus `json:"au_becs_debit_payments"`
1323
        // The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.
1324
        BACSDebitPayments AccountCapabilityStatus `json:"bacs_debit_payments"`
1325
        // The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.
1326
        BancontactPayments AccountCapabilityStatus `json:"bancontact_payments"`
1327
        // The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges.
1328
        BankTransferPayments AccountCapabilityStatus `json:"bank_transfer_payments"`
1329
        // The status of the blik payments capability of the account, or whether the account can directly process blik charges.
1330
        BLIKPayments AccountCapabilityStatus `json:"blik_payments"`
1331
        // The status of the boleto payments capability of the account, or whether the account can directly process boleto charges.
1332
        BoletoPayments AccountCapabilityStatus `json:"boleto_payments"`
1333
        // The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards
1334
        CardIssuing AccountCapabilityStatus `json:"card_issuing"`
1335
        // The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.
1336
        CardPayments AccountCapabilityStatus `json:"card_payments"`
1337
        // The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency.
1338
        CartesBancairesPayments AccountCapabilityStatus `json:"cartes_bancaires_payments"`
1339
        // The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments.
1340
        CashAppPayments AccountCapabilityStatus `json:"cashapp_payments"`
1341
        // The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.
1342
        EPSPayments AccountCapabilityStatus `json:"eps_payments"`
1343
        // The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.
1344
        FPXPayments AccountCapabilityStatus `json:"fpx_payments"`
1345
        // The status of the GB customer_balance payments (GBP currency) capability of the account, or whether the account can directly process GB customer_balance charges.
1346
        GBBankTransferPayments AccountCapabilityStatus `json:"gb_bank_transfer_payments"`
1347
        // The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.
1348
        GiropayPayments AccountCapabilityStatus `json:"giropay_payments"`
1349
        // The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.
1350
        GrabpayPayments AccountCapabilityStatus `json:"grabpay_payments"`
1351
        // The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.
1352
        IDEALPayments AccountCapabilityStatus `json:"ideal_payments"`
1353
        // The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India.
1354
        IndiaInternationalPayments AccountCapabilityStatus `json:"india_international_payments"`
1355
        // The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency.
1356
        JCBPayments AccountCapabilityStatus `json:"jcb_payments"`
1357
        // The status of the Japanese customer_balance payments (JPY currency) capability of the account, or whether the account can directly process Japanese customer_balance charges.
1358
        JPBankTransferPayments AccountCapabilityStatus `json:"jp_bank_transfer_payments"`
1359
        // The status of the KakaoPay capability of the account, or whether the account can directly process KakaoPay payments.
1360
        KakaoPayPayments AccountCapabilityStatus `json:"kakao_pay_payments"`
1361
        // The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges.
1362
        KlarnaPayments AccountCapabilityStatus `json:"klarna_payments"`
1363
        // The status of the konbini payments capability of the account, or whether the account can directly process konbini charges.
1364
        KonbiniPayments AccountCapabilityStatus `json:"konbini_payments"`
1365
        // The status of the KrCard capability of the account, or whether the account can directly process KrCard payments.
1366
        KrCardPayments AccountCapabilityStatus `json:"kr_card_payments"`
1367
        // The status of the legacy payments capability of the account.
1368
        LegacyPayments AccountCapabilityStatus `json:"legacy_payments"`
1369
        // The status of the link_payments capability of the account, or whether the account can directly process Link charges.
1370
        LinkPayments AccountCapabilityStatus `json:"link_payments"`
1371
        // The status of the MB WAY payments capability of the account, or whether the account can directly process MB WAY charges.
1372
        MbWayPayments AccountCapabilityStatus `json:"mb_way_payments"`
1373
        // The status of the MobilePay capability of the account, or whether the account can directly process MobilePay charges.
1374
        MobilepayPayments AccountCapabilityStatus `json:"mobilepay_payments"`
1375
        // The status of the Multibanco payments capability of the account, or whether the account can directly process Multibanco charges.
1376
        MultibancoPayments AccountCapabilityStatus `json:"multibanco_payments"`
1377
        // The status of the Mexican customer_balance payments (MXN currency) capability of the account, or whether the account can directly process Mexican customer_balance charges.
1378
        MXBankTransferPayments AccountCapabilityStatus `json:"mx_bank_transfer_payments"`
1379
        // The status of the NaverPay capability of the account, or whether the account can directly process NaverPay payments.
1380
        NaverPayPayments AccountCapabilityStatus `json:"naver_pay_payments"`
1381
        // The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.
1382
        OXXOPayments AccountCapabilityStatus `json:"oxxo_payments"`
1383
        // The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.
1384
        P24Payments AccountCapabilityStatus `json:"p24_payments"`
1385
        // The status of the Payco capability of the account, or whether the account can directly process Payco payments.
1386
        PaycoPayments AccountCapabilityStatus `json:"payco_payments"`
1387
        // The status of the paynow payments capability of the account, or whether the account can directly process paynow charges.
1388
        PayNowPayments AccountCapabilityStatus `json:"paynow_payments"`
1389
        // The status of the PayPal payments capability of the account, or whether the account can directly process PayPal charges.
1390
        PaypalPayments AccountCapabilityStatus `json:"paypal_payments"`
1391
        // The status of the PayTo capability of the account, or whether the account can directly process PayTo charges.
1392
        PaytoPayments AccountCapabilityStatus `json:"payto_payments"`
1393
        // The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges.
1394
        PromptPayPayments AccountCapabilityStatus `json:"promptpay_payments"`
1395
        // The status of the Rechnung capability of the account, or whether the account can directly process Rechnung payments.
1396
        RechnungPayments AccountCapabilityStatus `json:"rechnung_payments"`
1397
        // The status of the RevolutPay capability of the account, or whether the account can directly process RevolutPay payments.
1398
        RevolutPayPayments AccountCapabilityStatus `json:"revolut_pay_payments"`
1399
        // The status of the SamsungPay capability of the account, or whether the account can directly process SamsungPay payments.
1400
        SamsungPayPayments AccountCapabilityStatus `json:"samsung_pay_payments"`
1401
        // The status of the SEPA customer_balance payments (EUR currency) capability of the account, or whether the account can directly process SEPA customer_balance charges.
1402
        SEPABankTransferPayments AccountCapabilityStatus `json:"sepa_bank_transfer_payments"`
1403
        // The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.
1404
        SEPADebitPayments AccountCapabilityStatus `json:"sepa_debit_payments"`
1405
        // The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.
1406
        SofortPayments AccountCapabilityStatus `json:"sofort_payments"`
1407
        // The status of the Swish capability of the account, or whether the account can directly process Swish payments.
1408
        SwishPayments AccountCapabilityStatus `json:"swish_payments"`
1409
        // The status of the tax reporting 1099-K (US) capability of the account.
1410
        TaxReportingUS1099K AccountCapabilityStatus `json:"tax_reporting_us_1099_k"`
1411
        // The status of the tax reporting 1099-MISC (US) capability of the account.
1412
        TaxReportingUS1099MISC AccountCapabilityStatus `json:"tax_reporting_us_1099_misc"`
1413
        // The status of the transfers capability of the account, or whether your platform can transfer funds to the account.
1414
        Transfers AccountCapabilityStatus `json:"transfers"`
1415
        // The status of the banking capability, or whether the account can have bank accounts.
1416
        Treasury AccountCapabilityStatus `json:"treasury"`
1417
        // The status of the treasury_evolve capability of the account.
1418
        TreasuryEvolve AccountCapabilityStatus `json:"treasury_evolve"`
1419
        // The status of the treasury_fifth_third capability of the account.
1420
        TreasuryFifthThird AccountCapabilityStatus `json:"treasury_fifth_third"`
1421
        // The status of the treasury_goldman_sachs capability of the account.
1422
        TreasuryGoldmanSachs AccountCapabilityStatus `json:"treasury_goldman_sachs"`
1423
        // The status of the TWINT capability of the account, or whether the account can directly process TWINT charges.
1424
        TWINTPayments AccountCapabilityStatus `json:"twint_payments"`
1425
        // The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges.
1426
        USBankAccountACHPayments AccountCapabilityStatus `json:"us_bank_account_ach_payments"`
1427
        // The status of the US customer_balance payments (USD currency) capability of the account, or whether the account can directly process US customer_balance charges.
1428
        USBankTransferPayments AccountCapabilityStatus `json:"us_bank_transfer_payments"`
1429
        // The status of the Zip capability of the account, or whether the account can directly process Zip charges.
1430
        ZipPayments AccountCapabilityStatus `json:"zip_payments"`
1431
}
1432

1433
// The Kana variation of the company's primary address (Japan only).
1434
type AccountCompanyAddressKana struct {
1435
        // City/Ward.
1436
        City string `json:"city"`
1437
        // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1438
        Country string `json:"country"`
1439
        // Block/Building number.
1440
        Line1 string `json:"line1"`
1441
        // Building details.
1442
        Line2 string `json:"line2"`
1443
        // ZIP or postal code.
1444
        PostalCode string `json:"postal_code"`
1445
        // Prefecture.
1446
        State string `json:"state"`
1447
        // Town/cho-me.
1448
        Town string `json:"town"`
1449
}
1450

1451
// The Kanji variation of the company's primary address (Japan only).
1452
type AccountCompanyAddressKanji struct {
1453
        // City/Ward.
1454
        City string `json:"city"`
1455
        // Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1456
        Country string `json:"country"`
1457
        // Block/Building number.
1458
        Line1 string `json:"line1"`
1459
        // Building details.
1460
        Line2 string `json:"line2"`
1461
        // ZIP or postal code.
1462
        PostalCode string `json:"postal_code"`
1463
        // Prefecture.
1464
        State string `json:"state"`
1465
        // Town/cho-me.
1466
        Town string `json:"town"`
1467
}
1468

1469
// This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
1470
type AccountCompanyOwnershipDeclaration struct {
1471
        // The Unix timestamp marking when the beneficial owner attestation was made.
1472
        Date int64 `json:"date"`
1473
        // The IP address from which the beneficial owner attestation was made.
1474
        IP string `json:"ip"`
1475
        // The user-agent string from the browser where the beneficial owner attestation was made.
1476
        UserAgent string `json:"user_agent"`
1477
}
1478
type AccountCompanyVerificationDocument struct {
1479
        // The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
1480
        Back *File `json:"back"`
1481
        // A user-displayable string describing the verification state of this document.
1482
        Details string `json:"details"`
1483
        // One of `document_corrupt`, `document_expired`, `document_failed_copy`, `document_failed_greyscale`, `document_failed_other`, `document_failed_test_mode`, `document_fraudulent`, `document_incomplete`, `document_invalid`, `document_manipulated`, `document_not_readable`, `document_not_uploaded`, `document_type_not_supported`, or `document_too_large`. A machine-readable code specifying the verification state for this document.
1484
        DetailsCode AccountCompanyVerificationDocumentDetailsCode `json:"details_code"`
1485
        // The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
1486
        Front *File `json:"front"`
1487
}
1488

1489
// Information on the verification state of the company.
1490
type AccountCompanyVerification struct {
1491
        Document *AccountCompanyVerificationDocument `json:"document"`
1492
}
1493
type AccountCompany struct {
1494
        Address *Address `json:"address"`
1495
        // The Kana variation of the company's primary address (Japan only).
1496
        AddressKana *AccountCompanyAddressKana `json:"address_kana"`
1497
        // The Kanji variation of the company's primary address (Japan only).
1498
        AddressKanji *AccountCompanyAddressKanji `json:"address_kanji"`
1499
        // Whether the company's directors have been provided. This Boolean will be `true` if you've manually indicated that all directors are provided via [the `directors_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-directors_provided).
1500
        DirectorsProvided bool `json:"directors_provided"`
1501
        // Whether the company's executives have been provided. This Boolean will be `true` if you've manually indicated that all executives are provided via [the `executives_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided.
1502
        ExecutivesProvided bool `json:"executives_provided"`
1503
        // The export license ID number of the company, also referred as Import Export Code (India only).
1504
        ExportLicenseID string `json:"export_license_id"`
1505
        // The purpose code to use for export transactions (India only).
1506
        ExportPurposeCode string `json:"export_purpose_code"`
1507
        // The company's legal name.
1508
        Name string `json:"name"`
1509
        // The Kana variation of the company's legal name (Japan only).
1510
        NameKana string `json:"name_kana"`
1511
        // The Kanji variation of the company's legal name (Japan only).
1512
        NameKanji string `json:"name_kanji"`
1513
        // This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
1514
        OwnershipDeclaration *AccountCompanyOwnershipDeclaration `json:"ownership_declaration"`
1515
        // Whether the company's owners have been provided. This Boolean will be `true` if you've manually indicated that all owners are provided via [the `owners_provided` parameter](https://stripe.com/docs/api/accounts/update#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the `percent_ownership` of each owner together).
1516
        OwnersProvided bool `json:"owners_provided"`
1517
        // The company's phone number (used for verification).
1518
        Phone string `json:"phone"`
1519
        // The category identifying the legal structure of the company or legal entity. See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.
1520
        Structure AccountCompanyStructure `json:"structure"`
1521
        // Whether the company's business ID number was provided.
1522
        TaxIDProvided bool `json:"tax_id_provided"`
1523
        // The jurisdiction in which the `tax_id` is registered (Germany-based companies only).
1524
        TaxIDRegistrar string `json:"tax_id_registrar"`
1525
        // Whether the company's business VAT number was provided.
1526
        VATIDProvided bool `json:"vat_id_provided"`
1527
        // Information on the verification state of the company.
1528
        Verification *AccountCompanyVerification `json:"verification"`
1529
}
1530
type AccountControllerApplication struct {
1531
        // `true` if the Connect application is responsible for negative balances and should manage credit and fraud risk on the account.
1532
        LossLiable bool `json:"loss_liable"`
1533
        // `true` if the Connect application is responsible for onboarding the account.
1534
        OnboardingOwner bool `json:"onboarding_owner"`
1535
        // `true` if the Connect application is responsible for paying Stripe fees on pricing-control eligible products.
1536
        PricingControls bool `json:"pricing_controls"`
1537
}
1538
type AccountControllerDashboard struct {
1539
        // Whether this account has access to the full Stripe dashboard (`full`), to the Express dashboard (`express`), or to no dashboard (`none`).
1540
        Type AccountControllerDashboardType `json:"type"`
1541
}
1542
type AccountControllerFees struct {
1543
        // A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this account. Learn more about [fee behavior on connected accounts](https://docs.stripe.com/connect/direct-charges-fee-payer-behavior).
1544
        Payer AccountControllerFeesPayer `json:"payer"`
1545
}
1546
type AccountControllerLosses struct {
1547
        // A value indicating who is liable when this account can't pay back negative balances from payments.
1548
        Payments AccountControllerLossesPayments `json:"payments"`
1549
}
1550
type AccountControllerStripeDashboard struct {
1551
        // A value indicating the Stripe dashboard this account has access to independent of the Connect application.
1552
        Type AccountControllerStripeDashboardType `json:"type"`
1553
}
1554
type AccountController struct {
1555
        Application *AccountControllerApplication `json:"application"`
1556
        Dashboard   *AccountControllerDashboard   `json:"dashboard"`
1557
        Fees        *AccountControllerFees        `json:"fees"`
1558
        // `true` if the Connect application retrieving the resource controls the account and can therefore exercise [platform controls](https://stripe.com/docs/connect/platform-controls-for-standard-accounts). Otherwise, this field is null.
1559
        IsController bool                     `json:"is_controller"`
1560
        Losses       *AccountControllerLosses `json:"losses"`
1561
        // A value indicating responsibility for collecting requirements on this account. Only returned when the Connect application retrieving the resource controls the account.
1562
        RequirementCollection AccountControllerRequirementCollection `json:"requirement_collection"`
1563
        StripeDashboard       *AccountControllerStripeDashboard      `json:"stripe_dashboard"`
1564
        // The controller type. Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself.
1565
        Type AccountControllerType `json:"type"`
1566
}
1567

1568
// Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
1569
type AccountFutureRequirementsAlternative struct {
1570
        // Fields that can be provided to satisfy all fields in `original_fields_due`.
1571
        AlternativeFieldsDue []string `json:"alternative_fields_due"`
1572
        // Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`.
1573
        OriginalFieldsDue []string `json:"original_fields_due"`
1574
}
1575

1576
// Fields that are `currently_due` and need to be collected again because validation or verification failed.
1577
type AccountFutureRequirementsError struct {
1578
        // The code for the type of error.
1579
        Code string `json:"code"`
1580
        // An informative message that indicates the error type and provides additional details about the error.
1581
        Reason string `json:"reason"`
1582
        // The specific user onboarding requirement field (in the requirements hash) that needs to be resolved.
1583
        Requirement string `json:"requirement"`
1584
}
1585
type AccountFutureRequirements struct {
1586
        // Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
1587
        Alternatives []*AccountFutureRequirementsAlternative `json:"alternatives"`
1588
        // Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty. After the transition, `currently_due` requirements may immediately become `past_due`, but the account may also be given a grace period depending on its enablement state prior to transitioning.
1589
        CurrentDeadline int64 `json:"current_deadline"`
1590
        // Fields that need to be collected to keep the account enabled. If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash.
1591
        CurrentlyDue []string `json:"currently_due"`
1592
        // This is typed as a string for consistency with `requirements.disabled_reason`.
1593
        DisabledReason string `json:"disabled_reason"`
1594
        // Fields that are `currently_due` and need to be collected again because validation or verification failed.
1595
        Errors []*AccountFutureRequirementsError `json:"errors"`
1596
        // Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well.
1597
        EventuallyDue []string `json:"eventually_due"`
1598
        // Fields that weren't collected by `requirements.current_deadline`. These fields need to be collected to enable the capability on the account. New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`.
1599
        PastDue []string `json:"past_due"`
1600
        // Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due` or `currently_due`. Fields might appear in `eventually_due` or `currently_due` and in `pending_verification` if verification fails but another verification is still pending.
1601
        PendingVerification []string `json:"pending_verification"`
1602
}
1603

1604
// The groups associated with the account.
1605
type AccountGroups struct {
1606
        // The group the account is in to determine their payments pricing, and null if the account is on customized pricing. [See the Platform pricing tool documentation](https://stripe.com/docs/connect/platform-pricing-tools) for details.
1607
        PaymentsPricing string `json:"payments_pricing"`
1608
}
1609

1610
// Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
1611
type AccountRequirementsAlternative struct {
1612
        // Fields that can be provided to satisfy all fields in `original_fields_due`.
1613
        AlternativeFieldsDue []string `json:"alternative_fields_due"`
1614
        // Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`.
1615
        OriginalFieldsDue []string `json:"original_fields_due"`
1616
}
1617

1618
// Fields that are `currently_due` and need to be collected again because validation or verification failed.
1619
type AccountRequirementsError struct {
1620
        // The code for the type of error.
1621
        Code string `json:"code"`
1622
        // An informative message that indicates the error type and provides additional details about the error.
1623
        Reason string `json:"reason"`
1624
        // The specific user onboarding requirement field (in the requirements hash) that needs to be resolved.
1625
        Requirement string `json:"requirement"`
1626
}
1627
type AccountRequirements struct {
1628
        // Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
1629
        Alternatives []*AccountRequirementsAlternative `json:"alternatives"`
1630
        // Date by which the fields in `currently_due` must be collected to keep the account enabled. These fields may disable the account sooner if the next threshold is reached before they are collected.
1631
        CurrentDeadline int64 `json:"current_deadline"`
1632
        // Fields that need to be collected to keep the account enabled. If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
1633
        CurrentlyDue []string `json:"currently_due"`
1634
        // If the account is disabled, this string describes why. [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification). Can be `action_required.requested_capabilities`, `requirements.past_due`, `requirements.pending_verification`, `listed`, `platform_paused`, `rejected.fraud`, `rejected.incomplete_verification`, `rejected.listed`, `rejected.other`, `rejected.terms_of_service`, `under_review`, or `other`.
1635
        DisabledReason AccountRequirementsDisabledReason `json:"disabled_reason"`
1636
        // Fields that are `currently_due` and need to be collected again because validation or verification failed.
1637
        Errors []*AccountRequirementsError `json:"errors"`
1638
        // Fields that need to be collected assuming all volume thresholds are reached. As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set.
1639
        EventuallyDue []string `json:"eventually_due"`
1640
        // Fields that weren't collected by `current_deadline`. These fields need to be collected to enable the account.
1641
        PastDue []string `json:"past_due"`
1642
        // Fields that might become required depending on the results of verification or review. It's an empty array unless an asynchronous verification is pending. If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`. Fields might appear in `eventually_due`, `currently_due`, or `past_due` and in `pending_verification` if verification fails but another verification is still pending.
1643
        PendingVerification []string `json:"pending_verification"`
1644
}
1645
type AccountRiskControlsCharges struct {
1646
        // Whether a pause of the risk control has been requested.
1647
        PauseRequested bool `json:"pause_requested"`
1648
}
1649
type AccountRiskControlsPayouts struct {
1650
        // Whether a pause of the risk control has been requested.
1651
        PauseRequested bool `json:"pause_requested"`
1652
}
1653
type AccountRiskControls struct {
1654
        Charges *AccountRiskControlsCharges `json:"charges"`
1655
        Payouts *AccountRiskControlsPayouts `json:"payouts"`
1656
}
1657
type AccountSettingsBACSDebitPayments struct {
1658
        // The Bacs Direct Debit display name for this account. For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor. Mobile banking apps display it as the name of the business. To use custom branding, set the Bacs Direct Debit Display Name during or right after creation. Custom branding incurs an additional monthly fee for the platform. The fee appears 5 business days after requesting Bacs. If you don't set the display name before requesting Bacs capability, it's automatically set as "Stripe" and the account is onboarded to Stripe branding, which is free.
1659
        DisplayName string `json:"display_name"`
1660
        // The Bacs Direct Debit Service user number for this account. For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners.
1661
        ServiceUserNumber string `json:"service_user_number"`
1662
}
1663
type AccountSettingsBranding struct {
1664
        // (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account. Must be square and at least 128px x 128px.
1665
        Icon *File `json:"icon"`
1666
        // (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account's name next to it if provided. Must be at least 128px x 128px.
1667
        Logo *File `json:"logo"`
1668
        // A CSS hex color value representing the primary branding color for this account
1669
        PrimaryColor string `json:"primary_color"`
1670
        // A CSS hex color value representing the secondary branding color for this account
1671
        SecondaryColor string `json:"secondary_color"`
1672
}
1673
type AccountSettingsCapital struct {
1674
        // Per-currency mapping of user-selected destination accounts used to pay out loans.
1675
        PayoutDestination map[string]string `json:"payout_destination"`
1676
        // Per-currency mapping of all destination accounts eligible to receive loan payouts.
1677
        PayoutDestinationSelector map[string][]string `json:"payout_destination_selector"`
1678
}
1679
type AccountSettingsCardIssuingTOSAcceptance struct {
1680
        // The Unix timestamp marking when the account representative accepted the service agreement.
1681
        Date int64 `json:"date"`
1682
        // The IP address from which the account representative accepted the service agreement.
1683
        IP string `json:"ip"`
1684
        // The user agent of the browser from which the account representative accepted the service agreement.
1685
        UserAgent string `json:"user_agent"`
1686
}
1687
type AccountSettingsCardIssuing struct {
1688
        TOSAcceptance *AccountSettingsCardIssuingTOSAcceptance `json:"tos_acceptance"`
1689
}
1690
type AccountSettingsCardPaymentsDeclineOn struct {
1691
        // Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification.
1692
        AVSFailure bool `json:"avs_failure"`
1693
        // Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification.
1694
        CVCFailure bool `json:"cvc_failure"`
1695
}
1696
type AccountSettingsCardPayments struct {
1697
        DeclineOn *AccountSettingsCardPaymentsDeclineOn `json:"decline_on"`
1698
        // The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge. `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.
1699
        StatementDescriptorPrefix string `json:"statement_descriptor_prefix"`
1700
        // The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge. `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
1701
        StatementDescriptorPrefixKana string `json:"statement_descriptor_prefix_kana"`
1702
        // The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only). This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge. `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
1703
        StatementDescriptorPrefixKanji string `json:"statement_descriptor_prefix_kanji"`
1704
}
1705
type AccountSettingsDashboard struct {
1706
        // The display name for this account. This is used on the Stripe Dashboard to differentiate between accounts.
1707
        DisplayName string `json:"display_name"`
1708
        // The timezone used in the Stripe Dashboard for this account. A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones).
1709
        Timezone string `json:"timezone"`
1710
}
1711
type AccountSettingsInvoices struct {
1712
        // The list of default Account Tax IDs to automatically include on invoices. Account Tax IDs get added when an invoice is finalized.
1713
        DefaultAccountTaxIDs []*TaxID `json:"default_account_tax_ids"`
1714
}
1715
type AccountSettingsPayments struct {
1716
        // The default text that appears on credit card statements when a charge is made. This field prefixes any dynamic `statement_descriptor` specified on the charge.
1717
        StatementDescriptor string `json:"statement_descriptor"`
1718
        // The Kana variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1719
        StatementDescriptorKana string `json:"statement_descriptor_kana"`
1720
        // The Kanji variation of `statement_descriptor` used for charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1721
        StatementDescriptorKanji string `json:"statement_descriptor_kanji"`
1722
        // The Kana variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1723
        StatementDescriptorPrefixKana string `json:"statement_descriptor_prefix_kana"`
1724
        // The Kanji variation of `statement_descriptor_prefix` used for card charges in Japan. Japanese statement descriptors have [special requirements](https://docs.stripe.com/get-started/account/statement-descriptors#set-japanese-statement-descriptors).
1725
        StatementDescriptorPrefixKanji string `json:"statement_descriptor_prefix_kanji"`
1726
}
1727
type AccountSettingsPayoutsSchedule struct {
1728
        // The number of days charges for the account will be held before being paid out.
1729
        DelayDays int64 `json:"delay_days"`
1730
        // How frequently funds will be paid out. One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`.
1731
        Interval AccountSettingsPayoutsScheduleInterval `json:"interval"`
1732
        // The day of the month funds will be paid out. Only shown if `interval` is monthly. Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months.
1733
        MonthlyAnchor int64 `json:"monthly_anchor"`
1734
        // The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc. Only shown if `interval` is weekly.
1735
        WeeklyAnchor string `json:"weekly_anchor"`
1736
}
1737
type AccountSettingsPayouts struct {
1738
        // A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account. See [Understanding Connect account balances](https://stripe.com/connect/account-balances) for details. The default value is `false` when [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts, otherwise `true`.
1739
        DebitNegativeBalances bool                            `json:"debit_negative_balances"`
1740
        Schedule              *AccountSettingsPayoutsSchedule `json:"schedule"`
1741
        // The text that appears on the bank account statement for payouts. If not set, this defaults to the platform's bank descriptor as set in the Dashboard.
1742
        StatementDescriptor string `json:"statement_descriptor"`
1743
}
1744
type AccountSettingsSEPADebitPayments struct {
1745
        // SEPA creditor identifier that identifies the company making the payment.
1746
        CreditorID string `json:"creditor_id"`
1747
}
1748
type AccountSettingsTaxForms struct {
1749
        // Whether the account opted out of receiving their tax forms by postal delivery.
1750
        ConsentedToPaperlessDelivery bool `json:"consented_to_paperless_delivery"`
1751
}
1752
type AccountSettingsTreasuryTOSAcceptance struct {
1753
        // The Unix timestamp marking when the account representative accepted the service agreement.
1754
        Date int64 `json:"date"`
1755
        // The IP address from which the account representative accepted the service agreement.
1756
        IP string `json:"ip"`
1757
        // The user agent of the browser from which the account representative accepted the service agreement.
1758
        UserAgent string `json:"user_agent"`
1759
}
1760
type AccountSettingsTreasury struct {
1761
        TOSAcceptance *AccountSettingsTreasuryTOSAcceptance `json:"tos_acceptance"`
1762
}
1763

1764
// Options for customizing how the account functions within Stripe.
1765
type AccountSettings struct {
1766
        BACSDebitPayments *AccountSettingsBACSDebitPayments `json:"bacs_debit_payments"`
1767
        Branding          *AccountSettingsBranding          `json:"branding"`
1768
        Capital           *AccountSettingsCapital           `json:"capital"`
1769
        CardIssuing       *AccountSettingsCardIssuing       `json:"card_issuing"`
1770
        CardPayments      *AccountSettingsCardPayments      `json:"card_payments"`
1771
        Dashboard         *AccountSettingsDashboard         `json:"dashboard"`
1772
        Invoices          *AccountSettingsInvoices          `json:"invoices"`
1773
        Payments          *AccountSettingsPayments          `json:"payments"`
1774
        Payouts           *AccountSettingsPayouts           `json:"payouts"`
1775
        SEPADebitPayments *AccountSettingsSEPADebitPayments `json:"sepa_debit_payments"`
1776
        TaxForms          *AccountSettingsTaxForms          `json:"tax_forms"`
1777
        Treasury          *AccountSettingsTreasury          `json:"treasury"`
1778
}
1779
type AccountTOSAcceptance struct {
1780
        // The Unix timestamp marking when the account representative accepted their service agreement
1781
        Date int64 `json:"date"`
1782
        // The IP address from which the account representative accepted their service agreement
1783
        IP string `json:"ip"`
1784
        // The user's service agreement type
1785
        ServiceAgreement AccountTOSAcceptanceServiceAgreement `json:"service_agreement"`
1786
        // The user agent of the browser from which the account representative accepted their service agreement
1787
        UserAgent string `json:"user_agent"`
1788
}
1789

1790
// This is an object representing a Stripe account. You can retrieve it to see
1791
// properties on the account like its current requirements or if the account is
1792
// enabled to make live charges or receive payouts.
1793
//
1794
// For accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)
1795
// is `application`, which includes Custom accounts, the properties below are always
1796
// returned.
1797
//
1798
// For accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection)
1799
// is `stripe`, which includes Standard and Express accounts, some properties are only returned
1800
// until you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions)
1801
// to start Connect Onboarding. Learn about the [differences between accounts](https://stripe.com/connect/accounts).
1802
type Account struct {
1803
        APIResource
1804
        // Business information about the account.
1805
        BusinessProfile *AccountBusinessProfile `json:"business_profile"`
1806
        // The business type. After you create an [Account Link](https://stripe.com/api/account_links) or [Account Session](https://stripe.com/api/account_sessions), this property is only returned for accounts where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `application`, which includes Custom accounts.
1807
        BusinessType AccountBusinessType  `json:"business_type"`
1808
        Capabilities *AccountCapabilities `json:"capabilities"`
1809
        // Whether the account can process charges.
1810
        ChargesEnabled bool               `json:"charges_enabled"`
1811
        Company        *AccountCompany    `json:"company"`
1812
        Controller     *AccountController `json:"controller"`
1813
        // The account's country.
1814
        Country string `json:"country"`
1815
        // Time at which the account was connected. Measured in seconds since the Unix epoch.
1816
        Created int64 `json:"created"`
1817
        // Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
1818
        DefaultCurrency Currency `json:"default_currency"`
1819
        Deleted         bool     `json:"deleted"`
1820
        // Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to [an onboarding flow](https://stripe.com/connect/onboarding) to finish submitting account details.
1821
        DetailsSubmitted bool `json:"details_submitted"`
1822
        // An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.
1823
        Email string `json:"email"`
1824
        // External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where `controller[is_controller]` is true.
1825
        ExternalAccounts   *AccountExternalAccountList `json:"external_accounts"`
1826
        FutureRequirements *AccountFutureRequirements  `json:"future_requirements"`
1827
        // The groups associated with the account.
1828
        Groups *AccountGroups `json:"groups"`
1829
        // Unique identifier for the object.
1830
        ID string `json:"id"`
1831
        // This is an object representing a person associated with a Stripe account.
1832
        //
1833
        // A platform cannot access a person for an account where [account.controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.
1834
        //
1835
        // See the [Standard onboarding](https://stripe.com/connect/standard-accounts) or [Express onboarding](https://stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://stripe.com/connect/handling-api-verification#person-information).
1836
        Individual *Person `json:"individual"`
1837
        // Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
1838
        Metadata map[string]string `json:"metadata"`
1839
        // String representing the object's type. Objects of the same type share the same value.
1840
        Object string `json:"object"`
1841
        // Whether the funds in this account can be paid out.
1842
        PayoutsEnabled bool                 `json:"payouts_enabled"`
1843
        Requirements   *AccountRequirements `json:"requirements"`
1844
        RiskControls   *AccountRiskControls `json:"risk_controls"`
1845
        // Options for customizing how the account functions within Stripe.
1846
        Settings      *AccountSettings      `json:"settings"`
1847
        TOSAcceptance *AccountTOSAcceptance `json:"tos_acceptance"`
1848
        // The Stripe account type. Can be `standard`, `express`, `custom`, or `none`.
1849
        Type AccountType `json:"type"`
1850
}
1851
type AccountExternalAccount struct {
1852
        ID   string                     `json:"id"`
1853
        Type AccountExternalAccountType `json:"object"`
1854

1855
        BankAccount *BankAccount `json:"-"`
1856
        Card        *Card        `json:"-"`
1857
}
1858

1859
// AccountList is a list of Accounts as retrieved from a list endpoint.
1860
type AccountList struct {
1861
        APIResource
1862
        ListMeta
1863
        Data []*Account `json:"data"`
1864
}
1865

1866
// AccountExternalAccountList is a list of external accounts that may be either bank
1867
// accounts or cards.
1868
type AccountExternalAccountList struct {
1869
        APIResource
1870
        ListMeta
1871

1872
        // Values contains any external accounts (bank accounts and/or cards)
1873
        // currently attached to this account.
1874
        Data []*AccountExternalAccount `json:"data"`
1875
}
1876

1877
// UnmarshalJSON handles deserialization of an Account.
1878
// This custom unmarshaling is needed because the resulting
1879
// property may be an id or the full struct if it was expanded.
1880
func (a *Account) UnmarshalJSON(data []byte) error {
3✔
1881
        if id, ok := ParseID(data); ok {
4✔
1882
                a.ID = id
1✔
1883
                return nil
1✔
1884
        }
1✔
1885

1886
        type account Account
2✔
1887
        var v account
2✔
1888
        if err := json.Unmarshal(data, &v); err != nil {
2✔
UNCOV
1889
                return err
×
UNCOV
1890
        }
×
1891

1892
        *a = Account(v)
2✔
1893
        return nil
2✔
1894
}
1895

1896
// UnmarshalJSON handles deserialization of an AccountExternalAccount.
1897
// This custom unmarshaling is needed because the specific type of
1898
// AccountExternalAccount it refers to is specified in the JSON
1899
func (a *AccountExternalAccount) UnmarshalJSON(data []byte) error {
3✔
1900
        if id, ok := ParseID(data); ok {
3✔
UNCOV
1901
                a.ID = id
×
UNCOV
1902
                return nil
×
UNCOV
1903
        }
×
1904

1905
        type accountExternalAccount AccountExternalAccount
3✔
1906
        var v accountExternalAccount
3✔
1907
        if err := json.Unmarshal(data, &v); err != nil {
3✔
UNCOV
1908
                return err
×
UNCOV
1909
        }
×
1910

1911
        *a = AccountExternalAccount(v)
3✔
1912
        var err error
3✔
1913

3✔
1914
        switch a.Type {
3✔
1915
        case AccountExternalAccountTypeBankAccount:
2✔
1916
                err = json.Unmarshal(data, &a.BankAccount)
2✔
1917
        case AccountExternalAccountTypeCard:
1✔
1918
                err = json.Unmarshal(data, &a.Card)
1✔
1919
        }
1920
        return err
3✔
1921
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc