stripe/resources/generated/
account.rs

1// ======================================
2// This file was automatically generated.
3// ======================================
4
5use crate::client::{Client, Response};
6use crate::ids::AccountId;
7use crate::params::{
8    Deleted, Expand, Expandable, List, Metadata, Object, Paginable, RangeQuery, Timestamp,
9};
10use crate::resources::{
11    Address, Currency, DelayDays, ExternalAccount, File, Person, PersonVerificationParams, TaxId,
12    VerificationDocumentParams,
13};
14use serde::{Deserialize, Serialize};
15
16/// The resource representing a Stripe "Account".
17///
18/// For more details see <https://stripe.com/docs/api/accounts/object>
19#[derive(Clone, Debug, Default, Deserialize, Serialize)]
20pub struct Account {
21    /// Unique identifier for the object.
22    pub id: AccountId,
23
24    /// Business information about the account.
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub business_profile: Option<BusinessProfile>,
27
28    /// The business type.
29    ///
30    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property is only returned for Custom accounts.
31    #[serde(skip_serializing_if = "Option::is_none")]
32    pub business_type: Option<AccountBusinessType>,
33
34    #[serde(skip_serializing_if = "Option::is_none")]
35    pub capabilities: Option<AccountCapabilities>,
36
37    /// Whether the account can create live charges.
38    #[serde(skip_serializing_if = "Option::is_none")]
39    pub charges_enabled: Option<bool>,
40
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub company: Option<Company>,
43
44    #[serde(skip_serializing_if = "Option::is_none")]
45    pub controller: Option<AccountUnificationAccountController>,
46
47    /// The account's country.
48    #[serde(skip_serializing_if = "Option::is_none")]
49    pub country: Option<String>,
50
51    /// Time at which the account was connected.
52    ///
53    /// Measured in seconds since the Unix epoch.
54    #[serde(skip_serializing_if = "Option::is_none")]
55    pub created: Option<Timestamp>,
56
57    /// Three-letter ISO currency code representing the default currency for the account.
58    ///
59    /// This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
60    #[serde(skip_serializing_if = "Option::is_none")]
61    pub default_currency: Option<Currency>,
62
63    // Always true for a deleted object
64    #[serde(default)]
65    pub deleted: bool,
66
67    /// Whether account details have been submitted.
68    ///
69    /// Standard accounts cannot receive payouts before this is true.
70    #[serde(skip_serializing_if = "Option::is_none")]
71    pub details_submitted: Option<bool>,
72
73    /// An email address associated with the account.
74    ///
75    /// It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.
76    #[serde(skip_serializing_if = "Option::is_none")]
77    pub email: Option<String>,
78
79    /// External accounts (bank accounts and debit cards) currently attached to this account.
80    ///
81    /// External accounts are only returned for requests where `controller[is_controller]` is true.
82    #[serde(skip_serializing_if = "Option::is_none")]
83    pub external_accounts: Option<List<ExternalAccount>>,
84
85    #[serde(skip_serializing_if = "Option::is_none")]
86    pub future_requirements: Option<AccountFutureRequirements>,
87
88    #[serde(skip_serializing_if = "Option::is_none")]
89    pub individual: Option<Person>,
90
91    /// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object.
92    ///
93    /// This can be useful for storing additional information about the object in a structured format.
94    #[serde(skip_serializing_if = "Option::is_none")]
95    pub metadata: Option<Metadata>,
96
97    /// Whether Stripe can send payouts to this account.
98    #[serde(skip_serializing_if = "Option::is_none")]
99    pub payouts_enabled: Option<bool>,
100
101    #[serde(skip_serializing_if = "Option::is_none")]
102    pub requirements: Option<AccountRequirements>,
103
104    /// Options for customizing how the account functions within Stripe.
105    #[serde(skip_serializing_if = "Option::is_none")]
106    pub settings: Option<AccountSettings>,
107
108    #[serde(skip_serializing_if = "Option::is_none")]
109    pub tos_acceptance: Option<TosAcceptance>,
110
111    /// The Stripe account type.
112    ///
113    /// Can be `standard`, `express`, or `custom`.
114    #[serde(rename = "type")]
115    #[serde(skip_serializing_if = "Option::is_none")]
116    pub type_: Option<AccountType>,
117}
118
119impl Account {
120    /// Returns a list of accounts connected to your platform via [Connect](https://stripe.com/docs/connect).
121    ///
122    /// If you’re not a platform, the list is empty.
123    pub fn list(client: &Client, params: &ListAccounts<'_>) -> Response<List<Account>> {
124        client.get_query("/accounts", params)
125    }
126
127    /// With [Connect](https://stripe.com/docs/connect), you can create Stripe accounts for your users.
128    /// To do this, you’ll first need to [register your platform](https://dashboard.stripe.com/account/applications/settings).
129    ///
130    /// If you’ve already collected information for your connected accounts, you [can prefill that information](https://stripe.com/docs/connect/best-practices#onboarding) when
131    /// creating the account.
132    ///
133    /// Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.
134    pub fn create(client: &Client, params: CreateAccount<'_>) -> Response<Account> {
135        #[allow(clippy::needless_borrows_for_generic_args)]
136        client.post_form("/accounts", &params)
137    }
138
139    /// Retrieves the details of an account.
140    pub fn retrieve(client: &Client, id: &AccountId, expand: &[&str]) -> Response<Account> {
141        client.get_query(&format!("/accounts/{}", id), Expand { expand })
142    }
143
144    /// Updates a [connected account](https://stripe.com/docs/connect/accounts) by setting the values of the parameters passed.
145    ///
146    /// Any parameters not provided are left unchanged.  For Custom accounts, you can update any information on the account.
147    /// For other accounts, you can update all information until that account has started to go through Connect Onboarding.
148    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), some properties can only be changed or updated for Custom accounts.  To update your own account, use the [Dashboard](https://dashboard.stripe.com/settings/account).
149    /// Refer to our [Connect](https://stripe.com/docs/connect/updating-accounts) documentation to learn more about updating accounts.
150    pub fn update(client: &Client, id: &AccountId, params: UpdateAccount<'_>) -> Response<Account> {
151        #[allow(clippy::needless_borrows_for_generic_args)]
152        client.post_form(&format!("/accounts/{}", id), &params)
153    }
154
155    /// With [Connect](https://stripe.com/docs/connect), you can delete accounts you manage.
156    ///
157    /// Accounts created using test-mode keys can be deleted at any time.
158    ///
159    /// Standard accounts created using live-mode keys cannot be deleted.
160    /// Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.  If you want to delete your own account, use the [account information tab in your account settings](https://dashboard.stripe.com/settings/account) instead.
161    pub fn delete(client: &Client, id: &AccountId) -> Response<Deleted<AccountId>> {
162        client.delete(&format!("/accounts/{}", id))
163    }
164}
165
166impl Object for Account {
167    type Id = AccountId;
168    fn id(&self) -> Self::Id {
169        self.id.clone()
170    }
171    fn object(&self) -> &'static str {
172        "account"
173    }
174}
175
176#[derive(Clone, Debug, Default, Deserialize, Serialize)]
177pub struct BusinessProfile {
178    /// The applicant's gross annual revenue for its preceding fiscal year.
179    pub annual_revenue: Option<AccountAnnualRevenue>,
180
181    /// An estimated upper bound of employees, contractors, vendors, etc.
182    ///
183    /// currently working for the business.
184    pub estimated_worker_count: Option<u64>,
185
186    /// [The merchant category code for the account](https://stripe.com/docs/connect/setting-mcc).
187    ///
188    /// MCCs are used to classify businesses based on the goods or services they provide.
189    pub mcc: Option<String>,
190
191    #[serde(skip_serializing_if = "Option::is_none")]
192    pub monthly_estimated_revenue: Option<AccountMonthlyEstimatedRevenue>,
193
194    /// The customer-facing business name.
195    pub name: Option<String>,
196
197    /// Internal-only description of the product sold or service provided by the business.
198    ///
199    /// It's used by Stripe for risk and underwriting purposes.
200    #[serde(skip_serializing_if = "Option::is_none")]
201    pub product_description: Option<String>,
202
203    /// A publicly available mailing address for sending support issues to.
204    pub support_address: Option<Address>,
205
206    /// A publicly available email address for sending support issues to.
207    pub support_email: Option<String>,
208
209    /// A publicly available phone number to call with support issues.
210    pub support_phone: Option<String>,
211
212    /// A publicly available website for handling support issues.
213    pub support_url: Option<String>,
214
215    /// The business's publicly available website.
216    pub url: Option<String>,
217}
218
219#[derive(Clone, Debug, Default, Deserialize, Serialize)]
220pub struct AccountAnnualRevenue {
221    /// A non-negative integer representing the amount in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
222    pub amount: Option<i64>,
223
224    /// Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
225    ///
226    /// Must be a [supported currency](https://stripe.com/docs/currencies).
227    pub currency: Option<Currency>,
228
229    /// The close-out date of the preceding fiscal year in ISO 8601 format.
230    ///
231    /// E.g.
232    /// 2023-12-31 for the 31st of December, 2023.
233    pub fiscal_year_end: Option<String>,
234}
235
236#[derive(Clone, Debug, Default, Deserialize, Serialize)]
237pub struct AccountCapabilities {
238    /// 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.
239    #[serde(skip_serializing_if = "Option::is_none")]
240    pub acss_debit_payments: Option<AccountCapabilitiesAcssDebitPayments>,
241
242    /// The status of the Affirm capability of the account, or whether the account can directly process Affirm charges.
243    #[serde(skip_serializing_if = "Option::is_none")]
244    pub affirm_payments: Option<AccountCapabilitiesAffirmPayments>,
245
246    /// The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.
247    #[serde(skip_serializing_if = "Option::is_none")]
248    pub afterpay_clearpay_payments: Option<AccountCapabilitiesAfterpayClearpayPayments>,
249
250    /// 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.
251    #[serde(skip_serializing_if = "Option::is_none")]
252    pub au_becs_debit_payments: Option<CapabilityStatus>,
253
254    /// The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.
255    #[serde(skip_serializing_if = "Option::is_none")]
256    pub bacs_debit_payments: Option<AccountCapabilitiesBacsDebitPayments>,
257
258    /// The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.
259    #[serde(skip_serializing_if = "Option::is_none")]
260    pub bancontact_payments: Option<AccountCapabilitiesBancontactPayments>,
261
262    /// The status of the customer_balance payments capability of the account, or whether the account can directly process customer_balance charges.
263    #[serde(skip_serializing_if = "Option::is_none")]
264    pub bank_transfer_payments: Option<AccountCapabilitiesBankTransferPayments>,
265
266    /// The status of the blik payments capability of the account, or whether the account can directly process blik charges.
267    #[serde(skip_serializing_if = "Option::is_none")]
268    pub blik_payments: Option<AccountCapabilitiesBlikPayments>,
269
270    /// The status of the boleto payments capability of the account, or whether the account can directly process boleto charges.
271    #[serde(skip_serializing_if = "Option::is_none")]
272    pub boleto_payments: Option<AccountCapabilitiesBoletoPayments>,
273
274    /// The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards.
275    #[serde(skip_serializing_if = "Option::is_none")]
276    pub card_issuing: Option<CapabilityStatus>,
277
278    /// The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.
279    #[serde(skip_serializing_if = "Option::is_none")]
280    pub card_payments: Option<CapabilityStatus>,
281
282    /// 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.
283    #[serde(skip_serializing_if = "Option::is_none")]
284    pub cartes_bancaires_payments: Option<AccountCapabilitiesCartesBancairesPayments>,
285
286    /// The status of the Cash App Pay capability of the account, or whether the account can directly process Cash App Pay payments.
287    #[serde(skip_serializing_if = "Option::is_none")]
288    pub cashapp_payments: Option<AccountCapabilitiesCashappPayments>,
289
290    /// The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.
291    #[serde(skip_serializing_if = "Option::is_none")]
292    pub eps_payments: Option<AccountCapabilitiesEpsPayments>,
293
294    /// The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.
295    #[serde(skip_serializing_if = "Option::is_none")]
296    pub fpx_payments: Option<AccountCapabilitiesFpxPayments>,
297
298    /// The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.
299    #[serde(skip_serializing_if = "Option::is_none")]
300    pub giropay_payments: Option<AccountCapabilitiesGiropayPayments>,
301
302    /// The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.
303    #[serde(skip_serializing_if = "Option::is_none")]
304    pub grabpay_payments: Option<AccountCapabilitiesGrabpayPayments>,
305
306    /// The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.
307    #[serde(skip_serializing_if = "Option::is_none")]
308    pub ideal_payments: Option<AccountCapabilitiesIdealPayments>,
309
310    /// The status of the india_international_payments capability of the account, or whether the account can process international charges (non INR) in India.
311    #[serde(skip_serializing_if = "Option::is_none")]
312    pub india_international_payments: Option<AccountCapabilitiesIndiaInternationalPayments>,
313
314    /// 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.
315    #[serde(skip_serializing_if = "Option::is_none")]
316    pub jcb_payments: Option<CapabilityStatus>,
317
318    /// The status of the Klarna payments capability of the account, or whether the account can directly process Klarna charges.
319    #[serde(skip_serializing_if = "Option::is_none")]
320    pub klarna_payments: Option<AccountCapabilitiesKlarnaPayments>,
321
322    /// The status of the konbini payments capability of the account, or whether the account can directly process konbini charges.
323    #[serde(skip_serializing_if = "Option::is_none")]
324    pub konbini_payments: Option<AccountCapabilitiesKonbiniPayments>,
325
326    /// The status of the legacy payments capability of the account.
327    #[serde(skip_serializing_if = "Option::is_none")]
328    pub legacy_payments: Option<CapabilityStatus>,
329
330    /// The status of the link_payments capability of the account, or whether the account can directly process Link charges.
331    #[serde(skip_serializing_if = "Option::is_none")]
332    pub link_payments: Option<AccountCapabilitiesLinkPayments>,
333
334    /// The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.
335    #[serde(skip_serializing_if = "Option::is_none")]
336    pub oxxo_payments: Option<AccountCapabilitiesOxxoPayments>,
337
338    /// The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.
339    #[serde(skip_serializing_if = "Option::is_none")]
340    pub p24_payments: Option<AccountCapabilitiesP24Payments>,
341
342    /// The status of the paynow payments capability of the account, or whether the account can directly process paynow charges.
343    #[serde(skip_serializing_if = "Option::is_none")]
344    pub paynow_payments: Option<AccountCapabilitiesPaynowPayments>,
345
346    /// The status of the promptpay payments capability of the account, or whether the account can directly process promptpay charges.
347    #[serde(skip_serializing_if = "Option::is_none")]
348    pub promptpay_payments: Option<AccountCapabilitiesPromptpayPayments>,
349
350    /// The status of the RevolutPay capability of the account, or whether the account can directly process RevolutPay payments.
351    #[serde(skip_serializing_if = "Option::is_none")]
352    pub revolut_pay_payments: Option<AccountCapabilitiesRevolutPayPayments>,
353
354    /// The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.
355    #[serde(skip_serializing_if = "Option::is_none")]
356    pub sepa_debit_payments: Option<AccountCapabilitiesSepaDebitPayments>,
357
358    /// The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.
359    #[serde(skip_serializing_if = "Option::is_none")]
360    pub sofort_payments: Option<AccountCapabilitiesSofortPayments>,
361
362    /// The status of the Swish capability of the account, or whether the account can directly process Swish payments.
363    #[serde(skip_serializing_if = "Option::is_none")]
364    pub swish_payments: Option<AccountCapabilitiesSwishPayments>,
365
366    /// The status of the tax reporting 1099-K (US) capability of the account.
367    #[serde(skip_serializing_if = "Option::is_none")]
368    pub tax_reporting_us_1099_k: Option<CapabilityStatus>,
369
370    /// The status of the tax reporting 1099-MISC (US) capability of the account.
371    #[serde(skip_serializing_if = "Option::is_none")]
372    pub tax_reporting_us_1099_misc: Option<CapabilityStatus>,
373
374    /// The status of the transfers capability of the account, or whether your platform can transfer funds to the account.
375    #[serde(skip_serializing_if = "Option::is_none")]
376    pub transfers: Option<CapabilityStatus>,
377
378    /// The status of the banking capability, or whether the account can have bank accounts.
379    #[serde(skip_serializing_if = "Option::is_none")]
380    pub treasury: Option<AccountCapabilitiesTreasury>,
381
382    /// The status of the US bank account ACH payments capability of the account, or whether the account can directly process US bank account charges.
383    #[serde(skip_serializing_if = "Option::is_none")]
384    pub us_bank_account_ach_payments: Option<AccountCapabilitiesUsBankAccountAchPayments>,
385
386    /// The status of the Zip capability of the account, or whether the account can directly process Zip charges.
387    #[serde(skip_serializing_if = "Option::is_none")]
388    pub zip_payments: Option<AccountCapabilitiesZipPayments>,
389}
390
391#[derive(Clone, Debug, Default, Deserialize, Serialize)]
392pub struct AccountFutureRequirements {
393    /// Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
394    pub alternatives: Option<Vec<AccountRequirementsAlternative>>,
395
396    /// Date on which `future_requirements` merges with the main `requirements` hash and `future_requirements` becomes empty.
397    ///
398    /// 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.
399    pub current_deadline: Option<Timestamp>,
400
401    /// Fields that need to be collected to keep the account enabled.
402    ///
403    /// If not collected by `future_requirements[current_deadline]`, these fields will transition to the main `requirements` hash.
404    pub currently_due: Option<Vec<String>>,
405
406    /// This is typed as a string for consistency with `requirements.disabled_reason`.
407    pub disabled_reason: Option<String>,
408
409    /// Fields that are `currently_due` and need to be collected again because validation or verification failed.
410    pub errors: Option<Vec<AccountRequirementsError>>,
411
412    /// Fields that need to be collected assuming all volume thresholds are reached.
413    ///
414    /// As they become required, they appear in `currently_due` as well.
415    pub eventually_due: Option<Vec<String>>,
416
417    /// Fields that weren't collected by `requirements.current_deadline`.
418    ///
419    /// These fields need to be collected to enable the capability on the account.
420    /// New fields will never appear here; `future_requirements.past_due` will always be a subset of `requirements.past_due`.
421    pub past_due: Option<Vec<String>>,
422
423    /// Fields that may become required depending on the results of verification or review.
424    ///
425    /// Will be an empty array unless an asynchronous verification is pending.
426    /// If verification fails, these fields move to `eventually_due` or `currently_due`.
427    pub pending_verification: Option<Vec<String>>,
428}
429
430#[derive(Clone, Debug, Default, Deserialize, Serialize)]
431pub struct AccountMonthlyEstimatedRevenue {
432    /// A non-negative integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
433    pub amount: i64,
434
435    /// Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
436    ///
437    /// Must be a [supported currency](https://stripe.com/docs/currencies).
438    pub currency: Currency,
439}
440
441#[derive(Clone, Debug, Default, Deserialize, Serialize)]
442pub struct AccountRequirements {
443    /// Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
444    pub alternatives: Option<Vec<AccountRequirementsAlternative>>,
445
446    /// Date by which the fields in `currently_due` must be collected to keep the account enabled.
447    ///
448    /// These fields may disable the account sooner if the next threshold is reached before they are collected.
449    pub current_deadline: Option<Timestamp>,
450
451    /// Fields that need to be collected to keep the account enabled.
452    ///
453    /// If not collected by `current_deadline`, these fields appear in `past_due` as well, and the account is disabled.
454    pub currently_due: Option<Vec<String>>,
455
456    /// If the account is disabled, this string describes why.
457    ///
458    /// [Learn more about handling verification issues](https://stripe.com/docs/connect/handling-api-verification).
459    /// 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`.
460    pub disabled_reason: Option<String>,
461
462    /// Fields that are `currently_due` and need to be collected again because validation or verification failed.
463    pub errors: Option<Vec<AccountRequirementsError>>,
464
465    /// Fields that need to be collected assuming all volume thresholds are reached.
466    ///
467    /// As they become required, they appear in `currently_due` as well, and `current_deadline` becomes set.
468    pub eventually_due: Option<Vec<String>>,
469
470    /// Fields that weren't collected by `current_deadline`.
471    ///
472    /// These fields need to be collected to enable the account.
473    pub past_due: Option<Vec<String>>,
474
475    /// Fields that may become required depending on the results of verification or review.
476    ///
477    /// Will be an empty array unless an asynchronous verification is pending.
478    /// If verification fails, these fields move to `eventually_due`, `currently_due`, or `past_due`.
479    pub pending_verification: Option<Vec<String>>,
480}
481
482#[derive(Clone, Debug, Default, Deserialize, Serialize)]
483pub struct AccountRequirementsAlternative {
484    /// Fields that can be provided to satisfy all fields in `original_fields_due`.
485    pub alternative_fields_due: Vec<String>,
486
487    /// Fields that are due and can be satisfied by providing all fields in `alternative_fields_due`.
488    pub original_fields_due: Vec<String>,
489}
490
491#[derive(Clone, Debug, Default, Deserialize, Serialize)]
492pub struct AccountRequirementsError {
493    /// The code for the type of error.
494    pub code: AccountRequirementsErrorCode,
495
496    /// An informative message that indicates the error type and provides additional details about the error.
497    pub reason: String,
498
499    /// The specific user onboarding requirement field (in the requirements hash) that needs to be resolved.
500    pub requirement: String,
501}
502
503#[derive(Clone, Debug, Default, Deserialize, Serialize)]
504pub struct AccountSettings {
505    #[serde(skip_serializing_if = "Option::is_none")]
506    pub bacs_debit_payments: Option<AccountBacsDebitPaymentsSettings>,
507
508    pub branding: BrandingSettings,
509
510    #[serde(skip_serializing_if = "Option::is_none")]
511    pub card_issuing: Option<AccountCardIssuingSettings>,
512
513    pub card_payments: CardPaymentsSettings,
514
515    pub dashboard: DashboardSettings,
516
517    #[serde(skip_serializing_if = "Option::is_none")]
518    pub invoices: Option<AccountInvoicesSettings>,
519
520    pub payments: PaymentsSettings,
521
522    #[serde(skip_serializing_if = "Option::is_none")]
523    pub payouts: Option<PayoutSettings>,
524
525    #[serde(skip_serializing_if = "Option::is_none")]
526    pub sepa_debit_payments: Option<AccountSepaDebitPaymentsSettings>,
527
528    #[serde(skip_serializing_if = "Option::is_none")]
529    pub treasury: Option<AccountTreasurySettings>,
530}
531
532#[derive(Clone, Debug, Default, Deserialize, Serialize)]
533pub struct AccountBacsDebitPaymentsSettings {
534    /// The Bacs Direct Debit display name for this account.
535    ///
536    /// For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor.
537    /// Mobile banking apps display it as the name of the business.
538    /// To use custom branding, set the Bacs Direct Debit Display Name during or right after creation.
539    /// Custom branding incurs an additional monthly fee for the platform.
540    /// The fee appears 5 business days after requesting Bacs.
541    /// 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.
542    pub display_name: Option<String>,
543
544    /// The Bacs Direct Debit Service user number for this account.
545    ///
546    /// For payments made with Bacs Direct Debit, this number is a unique identifier of the account with our banking partners.
547    pub service_user_number: Option<String>,
548}
549
550#[derive(Clone, Debug, Default, Deserialize, Serialize)]
551pub struct BrandingSettings {
552    /// (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account.
553    ///
554    /// Must be square and at least 128px x 128px.
555    pub icon: Option<Expandable<File>>,
556
557    /// (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.
558    ///
559    /// Must be at least 128px x 128px.
560    pub logo: Option<Expandable<File>>,
561
562    /// A CSS hex color value representing the primary branding color for this account.
563    pub primary_color: Option<String>,
564
565    /// A CSS hex color value representing the secondary branding color for this account.
566    pub secondary_color: Option<String>,
567}
568
569#[derive(Clone, Debug, Default, Deserialize, Serialize)]
570pub struct AccountCardIssuingSettings {
571    #[serde(skip_serializing_if = "Option::is_none")]
572    pub tos_acceptance: Option<CardIssuingAccountTermsOfService>,
573}
574
575#[derive(Clone, Debug, Default, Deserialize, Serialize)]
576pub struct CardPaymentsSettings {
577    #[serde(skip_serializing_if = "Option::is_none")]
578    pub decline_on: Option<DeclineChargeOn>,
579
580    /// The default text that appears on credit card statements when a charge is made.
581    ///
582    /// This field prefixes any dynamic `statement_descriptor` specified on the charge.
583    /// `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.
584    pub statement_descriptor_prefix: Option<String>,
585
586    /// The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only).
587    ///
588    /// This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge.
589    /// `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
590    pub statement_descriptor_prefix_kana: Option<String>,
591
592    /// The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only).
593    ///
594    /// This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge.
595    /// `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
596    pub statement_descriptor_prefix_kanji: Option<String>,
597}
598
599#[derive(Clone, Debug, Default, Deserialize, Serialize)]
600pub struct DashboardSettings {
601    /// The display name for this account.
602    ///
603    /// This is used on the Stripe Dashboard to differentiate between accounts.
604    pub display_name: Option<String>,
605
606    /// The timezone used in the Stripe Dashboard for this account.
607    ///
608    /// A list of possible time zone values is maintained at the [IANA Time Zone Database](http://www.iana.org/time-zones).
609    pub timezone: Option<String>,
610}
611
612#[derive(Clone, Debug, Default, Deserialize, Serialize)]
613pub struct DeclineChargeOn {
614    /// Whether Stripe automatically declines charges with an incorrect ZIP or postal code.
615    ///
616    /// This setting only applies when a ZIP or postal code is provided and they fail bank verification.
617    pub avs_failure: bool,
618
619    /// Whether Stripe automatically declines charges with an incorrect CVC.
620    ///
621    /// This setting only applies when a CVC is provided and it fails bank verification.
622    pub cvc_failure: bool,
623}
624
625#[derive(Clone, Debug, Default, Deserialize, Serialize)]
626pub struct AccountInvoicesSettings {
627    /// The list of default Account Tax IDs to automatically include on invoices.
628    ///
629    /// Account Tax IDs get added when an invoice is finalized.
630    pub default_account_tax_ids: Option<Vec<Expandable<TaxId>>>,
631}
632
633#[derive(Clone, Debug, Default, Deserialize, Serialize)]
634pub struct PaymentsSettings {
635    /// The default text that appears on credit card statements when a charge is made.
636    ///
637    /// This field prefixes any dynamic `statement_descriptor` specified on the charge.
638    pub statement_descriptor: Option<String>,
639
640    /// The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only).
641    pub statement_descriptor_kana: Option<String>,
642
643    /// The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only).
644    pub statement_descriptor_kanji: Option<String>,
645
646    /// The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only).
647    ///
648    /// This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge.
649    /// `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
650    pub statement_descriptor_prefix_kana: Option<String>,
651
652    /// The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only).
653    ///
654    /// This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge.
655    /// `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
656    pub statement_descriptor_prefix_kanji: Option<String>,
657}
658
659#[derive(Clone, Debug, Default, Deserialize, Serialize)]
660pub struct PayoutSettings {
661    /// A Boolean indicating if Stripe should try to reclaim negative balances from an attached bank account.
662    ///
663    /// See our [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances) documentation for details.
664    /// Default value is `false` for Custom accounts, otherwise `true`.
665    pub debit_negative_balances: bool,
666
667    pub schedule: TransferSchedule,
668
669    /// The text that appears on the bank account statement for payouts.
670    ///
671    /// If not set, this defaults to the platform's bank descriptor as set in the Dashboard.
672    pub statement_descriptor: Option<String>,
673}
674
675#[derive(Clone, Debug, Default, Deserialize, Serialize)]
676pub struct AccountSepaDebitPaymentsSettings {
677    /// SEPA creditor identifier that identifies the company making the payment.
678    #[serde(skip_serializing_if = "Option::is_none")]
679    pub creditor_id: Option<String>,
680}
681
682#[derive(Clone, Debug, Default, Deserialize, Serialize)]
683pub struct TosAcceptance {
684    /// The Unix timestamp marking when the account representative accepted their service agreement.
685    #[serde(skip_serializing_if = "Option::is_none")]
686    pub date: Option<Timestamp>,
687
688    /// The IP address from which the account representative accepted their service agreement.
689    #[serde(skip_serializing_if = "Option::is_none")]
690    pub ip: Option<String>,
691
692    /// The user's service agreement type.
693    #[serde(skip_serializing_if = "Option::is_none")]
694    pub service_agreement: Option<String>,
695
696    /// The user agent of the browser from which the account representative accepted their service agreement.
697    #[serde(skip_serializing_if = "Option::is_none")]
698    pub user_agent: Option<String>,
699}
700
701#[derive(Clone, Debug, Default, Deserialize, Serialize)]
702pub struct AccountTreasurySettings {
703    #[serde(skip_serializing_if = "Option::is_none")]
704    pub tos_acceptance: Option<AccountTermsOfService>,
705}
706
707#[derive(Clone, Debug, Default, Deserialize, Serialize)]
708pub struct AccountTermsOfService {
709    /// The Unix timestamp marking when the account representative accepted the service agreement.
710    pub date: Option<Timestamp>,
711
712    /// The IP address from which the account representative accepted the service agreement.
713    pub ip: Option<String>,
714
715    /// The user agent of the browser from which the account representative accepted the service agreement.
716    #[serde(skip_serializing_if = "Option::is_none")]
717    pub user_agent: Option<String>,
718}
719
720#[derive(Clone, Debug, Default, Deserialize, Serialize)]
721pub struct AccountUnificationAccountController {
722    /// `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).
723    ///
724    /// Otherwise, this field is null.
725    #[serde(skip_serializing_if = "Option::is_none")]
726    pub is_controller: Option<bool>,
727
728    /// The controller type.
729    ///
730    /// Can be `application`, if a Connect application controls the account, or `account`, if the account controls itself.
731    #[serde(rename = "type")]
732    pub type_: AccountUnificationAccountControllerType,
733}
734
735#[derive(Clone, Debug, Default, Deserialize, Serialize)]
736pub struct CardIssuingAccountTermsOfService {
737    /// The Unix timestamp marking when the account representative accepted the service agreement.
738    pub date: Option<Timestamp>,
739
740    /// The IP address from which the account representative accepted the service agreement.
741    pub ip: Option<String>,
742
743    /// The user agent of the browser from which the account representative accepted the service agreement.
744    #[serde(skip_serializing_if = "Option::is_none")]
745    pub user_agent: Option<String>,
746}
747
748#[derive(Clone, Debug, Default, Deserialize, Serialize)]
749pub struct Company {
750    #[serde(skip_serializing_if = "Option::is_none")]
751    pub address: Option<Address>,
752
753    /// The Kana variation of the company's primary address (Japan only).
754    #[serde(skip_serializing_if = "Option::is_none")]
755    pub address_kana: Option<Address>,
756
757    /// The Kanji variation of the company's primary address (Japan only).
758    #[serde(skip_serializing_if = "Option::is_none")]
759    pub address_kanji: Option<Address>,
760
761    /// Whether the company's directors have been provided.
762    ///
763    /// 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).
764    #[serde(skip_serializing_if = "Option::is_none")]
765    pub directors_provided: Option<bool>,
766
767    /// Whether the company's executives have been provided.
768    ///
769    /// 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.
770    #[serde(skip_serializing_if = "Option::is_none")]
771    pub executives_provided: Option<bool>,
772
773    /// The export license ID number of the company, also referred as Import Export Code (India only).
774    #[serde(skip_serializing_if = "Option::is_none")]
775    pub export_license_id: Option<String>,
776
777    /// The purpose code to use for export transactions (India only).
778    #[serde(skip_serializing_if = "Option::is_none")]
779    pub export_purpose_code: Option<String>,
780
781    /// The company's legal name.
782    #[serde(skip_serializing_if = "Option::is_none")]
783    pub name: Option<String>,
784
785    /// The Kana variation of the company's legal name (Japan only).
786    #[serde(skip_serializing_if = "Option::is_none")]
787    pub name_kana: Option<String>,
788
789    /// The Kanji variation of the company's legal name (Japan only).
790    #[serde(skip_serializing_if = "Option::is_none")]
791    pub name_kanji: Option<String>,
792
793    /// Whether the company's owners have been provided.
794    ///
795    /// 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.
796    /// 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).
797    #[serde(skip_serializing_if = "Option::is_none")]
798    pub owners_provided: Option<bool>,
799
800    /// This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
801    #[serde(skip_serializing_if = "Option::is_none")]
802    pub ownership_declaration: Option<LegalEntityUboDeclaration>,
803
804    /// The company's phone number (used for verification).
805    #[serde(skip_serializing_if = "Option::is_none")]
806    pub phone: Option<String>,
807
808    /// The category identifying the legal structure of the company or legal entity.
809    ///
810    /// See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.
811    #[serde(skip_serializing_if = "Option::is_none")]
812    pub structure: Option<CompanyStructure>,
813
814    /// Whether the company's business ID number was provided.
815    #[serde(skip_serializing_if = "Option::is_none")]
816    pub tax_id_provided: Option<bool>,
817
818    /// The jurisdiction in which the `tax_id` is registered (Germany-based companies only).
819    #[serde(skip_serializing_if = "Option::is_none")]
820    pub tax_id_registrar: Option<String>,
821
822    /// Whether the company's business VAT number was provided.
823    #[serde(skip_serializing_if = "Option::is_none")]
824    pub vat_id_provided: Option<bool>,
825
826    /// Information on the verification state of the company.
827    #[serde(skip_serializing_if = "Option::is_none")]
828    pub verification: Option<CompanyVerification>,
829}
830
831#[derive(Clone, Debug, Default, Deserialize, Serialize)]
832pub struct CompanyVerification {
833    pub document: CompanyVerificationDocument,
834}
835
836#[derive(Clone, Debug, Default, Deserialize, Serialize)]
837pub struct CompanyVerificationDocument {
838    /// The back of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
839    pub back: Option<Expandable<File>>,
840
841    /// A user-displayable string describing the verification state of this document.
842    pub details: Option<String>,
843
844    /// 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`.
845    ///
846    /// A machine-readable code specifying the verification state for this document.
847    pub details_code: Option<String>,
848
849    /// The front of a document returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `additional_verification`.
850    pub front: Option<Expandable<File>>,
851}
852
853#[derive(Clone, Debug, Default, Deserialize, Serialize)]
854pub struct LegalEntityUboDeclaration {
855    /// The Unix timestamp marking when the beneficial owner attestation was made.
856    pub date: Option<Timestamp>,
857
858    /// The IP address from which the beneficial owner attestation was made.
859    pub ip: Option<String>,
860
861    /// The user-agent string from the browser where the beneficial owner attestation was made.
862    pub user_agent: Option<String>,
863}
864
865#[derive(Clone, Debug, Default, Deserialize, Serialize)]
866pub struct TransferSchedule {
867    /// The number of days charges for the account will be held before being paid out.
868    pub delay_days: u32,
869
870    /// How frequently funds will be paid out.
871    ///
872    /// One of `manual` (payouts only created via API call), `daily`, `weekly`, or `monthly`.
873    pub interval: String,
874
875    /// The day of the month funds will be paid out.
876    ///
877    /// Only shown if `interval` is monthly.
878    /// Payouts scheduled between the 29th and 31st of the month are sent on the last day of shorter months.
879    #[serde(skip_serializing_if = "Option::is_none")]
880    pub monthly_anchor: Option<u8>,
881
882    /// The day of the week funds will be paid out, of the style 'monday', 'tuesday', etc.
883    ///
884    /// Only shown if `interval` is weekly.
885    #[serde(skip_serializing_if = "Option::is_none")]
886    pub weekly_anchor: Option<String>,
887}
888
889/// The parameters for `Account::create`.
890#[derive(Clone, Debug, Serialize, Default)]
891pub struct CreateAccount<'a> {
892    /// An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.
893    #[serde(skip_serializing_if = "Option::is_none")]
894    pub account_token: Option<&'a str>,
895
896    /// Business information about the account.
897    #[serde(skip_serializing_if = "Option::is_none")]
898    pub business_profile: Option<BusinessProfile>,
899
900    /// The business type.
901    ///
902    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
903    #[serde(skip_serializing_if = "Option::is_none")]
904    pub business_type: Option<AccountBusinessType>,
905
906    /// Each key of the dictionary represents a capability, and each capability maps to its settings (e.g.
907    ///
908    /// whether it has been requested or not).
909    /// Each capability will be inactive until you have provided its specific requirements and Stripe has verified them.
910    /// An account may have some of its requested capabilities be active and some be inactive.
911    #[serde(skip_serializing_if = "Option::is_none")]
912    pub capabilities: Option<CreateAccountCapabilities>,
913
914    /// Information about the company or business.
915    ///
916    /// This field is available for any `business_type`.
917    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
918    #[serde(skip_serializing_if = "Option::is_none")]
919    pub company: Option<CompanyParams>,
920
921    /// The country in which the account holder resides, or in which the business is legally established.
922    ///
923    /// This should be an ISO 3166-1 alpha-2 country code.
924    /// 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.
925    /// 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.
926    #[serde(skip_serializing_if = "Option::is_none")]
927    pub country: Option<&'a str>,
928
929    /// Three-letter ISO currency code representing the default currency for the account.
930    ///
931    /// This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
932    #[serde(skip_serializing_if = "Option::is_none")]
933    pub default_currency: Option<Currency>,
934
935    /// Documents that may be submitted to satisfy various informational requests.
936    #[serde(skip_serializing_if = "Option::is_none")]
937    pub documents: Option<CreateAccountDocuments>,
938
939    /// The email address of the account holder.
940    ///
941    /// This is only to make the account easier to identify to you.
942    /// Stripe only emails Custom accounts with your consent.
943    #[serde(skip_serializing_if = "Option::is_none")]
944    pub email: Option<&'a str>,
945
946    /// Specifies which fields in the response should be expanded.
947    #[serde(skip_serializing_if = "Expand::is_empty")]
948    pub expand: &'a [&'a str],
949
950    /// A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups).
951    ///
952    /// You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.
953    /// 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.
954    /// To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs.
955    /// After you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
956    #[serde(skip_serializing_if = "Option::is_none")]
957    pub external_account: Option<&'a str>,
958
959    /// Information about the person represented by the account.
960    ///
961    /// This field is null unless `business_type` is set to `individual`.
962    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
963    #[serde(skip_serializing_if = "Option::is_none")]
964    pub individual: Option<PersonParams>,
965
966    /// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object.
967    ///
968    /// This can be useful for storing additional information about the object in a structured format.
969    /// Individual keys can be unset by posting an empty value to them.
970    /// All keys can be unset by posting an empty value to `metadata`.
971    #[serde(skip_serializing_if = "Option::is_none")]
972    pub metadata: Option<Metadata>,
973
974    /// Options for customizing how the account functions within Stripe.
975    #[serde(skip_serializing_if = "Option::is_none")]
976    pub settings: Option<AccountSettingsParams>,
977
978    /// Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance) This property can only be updated for Custom accounts.
979    #[serde(skip_serializing_if = "Option::is_none")]
980    pub tos_acceptance: Option<AcceptTos>,
981
982    /// The type of Stripe account to create.
983    ///
984    /// May be one of `custom`, `express` or `standard`.
985    #[serde(rename = "type")]
986    #[serde(skip_serializing_if = "Option::is_none")]
987    pub type_: Option<AccountType>,
988}
989
990impl<'a> CreateAccount<'a> {
991    pub fn new() -> Self {
992        CreateAccount {
993            account_token: Default::default(),
994            business_profile: Default::default(),
995            business_type: Default::default(),
996            capabilities: Default::default(),
997            company: Default::default(),
998            country: Default::default(),
999            default_currency: Default::default(),
1000            documents: Default::default(),
1001            email: Default::default(),
1002            expand: Default::default(),
1003            external_account: Default::default(),
1004            individual: Default::default(),
1005            metadata: Default::default(),
1006            settings: Default::default(),
1007            tos_acceptance: Default::default(),
1008            type_: Default::default(),
1009        }
1010    }
1011}
1012
1013/// The parameters for `Account::list`.
1014#[derive(Clone, Debug, Serialize, Default)]
1015pub struct ListAccounts<'a> {
1016    #[serde(skip_serializing_if = "Option::is_none")]
1017    pub created: Option<RangeQuery<Timestamp>>,
1018
1019    /// A cursor for use in pagination.
1020    ///
1021    /// `ending_before` is an object ID that defines your place in the list.
1022    /// For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
1023    #[serde(skip_serializing_if = "Option::is_none")]
1024    pub ending_before: Option<AccountId>,
1025
1026    /// Specifies which fields in the response should be expanded.
1027    #[serde(skip_serializing_if = "Expand::is_empty")]
1028    pub expand: &'a [&'a str],
1029
1030    /// A limit on the number of objects to be returned.
1031    ///
1032    /// Limit can range between 1 and 100, and the default is 10.
1033    #[serde(skip_serializing_if = "Option::is_none")]
1034    pub limit: Option<u64>,
1035
1036    /// A cursor for use in pagination.
1037    ///
1038    /// `starting_after` is an object ID that defines your place in the list.
1039    /// For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
1040    #[serde(skip_serializing_if = "Option::is_none")]
1041    pub starting_after: Option<AccountId>,
1042}
1043
1044impl<'a> ListAccounts<'a> {
1045    pub fn new() -> Self {
1046        ListAccounts {
1047            created: Default::default(),
1048            ending_before: Default::default(),
1049            expand: Default::default(),
1050            limit: Default::default(),
1051            starting_after: Default::default(),
1052        }
1053    }
1054}
1055impl Paginable for ListAccounts<'_> {
1056    type O = Account;
1057    fn set_last(&mut self, item: Self::O) {
1058        self.starting_after = Some(item.id());
1059    }
1060}
1061/// The parameters for `Account::update`.
1062#[derive(Clone, Debug, Serialize, Default)]
1063pub struct UpdateAccount<'a> {
1064    /// An [account token](https://stripe.com/docs/api#create_account_token), used to securely provide details to the account.
1065    #[serde(skip_serializing_if = "Option::is_none")]
1066    pub account_token: Option<&'a str>,
1067
1068    /// Business information about the account.
1069    #[serde(skip_serializing_if = "Option::is_none")]
1070    pub business_profile: Option<BusinessProfile>,
1071
1072    /// The business type.
1073    ///
1074    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
1075    #[serde(skip_serializing_if = "Option::is_none")]
1076    pub business_type: Option<AccountBusinessType>,
1077
1078    /// Each key of the dictionary represents a capability, and each capability maps to its settings (e.g.
1079    ///
1080    /// whether it has been requested or not).
1081    /// Each capability will be inactive until you have provided its specific requirements and Stripe has verified them.
1082    /// An account may have some of its requested capabilities be active and some be inactive.
1083    #[serde(skip_serializing_if = "Option::is_none")]
1084    pub capabilities: Option<UpdateAccountCapabilities>,
1085
1086    /// Information about the company or business.
1087    ///
1088    /// This field is available for any `business_type`.
1089    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
1090    #[serde(skip_serializing_if = "Option::is_none")]
1091    pub company: Option<CompanyParams>,
1092
1093    /// Three-letter ISO currency code representing the default currency for the account.
1094    ///
1095    /// This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
1096    #[serde(skip_serializing_if = "Option::is_none")]
1097    pub default_currency: Option<Currency>,
1098
1099    /// Documents that may be submitted to satisfy various informational requests.
1100    #[serde(skip_serializing_if = "Option::is_none")]
1101    pub documents: Option<UpdateAccountDocuments>,
1102
1103    /// The email address of the account holder.
1104    ///
1105    /// This is only to make the account easier to identify to you.
1106    /// Stripe only emails Custom accounts with your consent.
1107    #[serde(skip_serializing_if = "Option::is_none")]
1108    pub email: Option<&'a str>,
1109
1110    /// Specifies which fields in the response should be expanded.
1111    #[serde(skip_serializing_if = "Expand::is_empty")]
1112    pub expand: &'a [&'a str],
1113
1114    /// A card or bank account to attach to the account for receiving [payouts](https://stripe.com/docs/connect/bank-debit-card-payouts) (you won’t be able to use it for top-ups).
1115    ///
1116    /// You can provide either a token, like the ones returned by [Stripe.js](https://stripe.com/docs/js), or a dictionary, as documented in the `external_account` parameter for [bank account](https://stripe.com/docs/api#account_create_bank_account) creation.
1117    /// 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.
1118    /// To add additional external accounts without replacing the existing default for the currency, use the [bank account](https://stripe.com/docs/api#account_create_bank_account) or [card creation](https://stripe.com/docs/api#account_create_card) APIs.
1119    /// After you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
1120    #[serde(skip_serializing_if = "Option::is_none")]
1121    pub external_account: Option<&'a str>,
1122
1123    /// Information about the person represented by the account.
1124    ///
1125    /// This field is null unless `business_type` is set to `individual`.
1126    /// Once you create an [Account Link](https://stripe.com/docs/api/account_links) or [Account Session](https://stripe.com/docs/api/account_sessions), this property can only be updated for Custom accounts.
1127    #[serde(skip_serializing_if = "Option::is_none")]
1128    pub individual: Option<PersonParams>,
1129
1130    /// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object.
1131    ///
1132    /// This can be useful for storing additional information about the object in a structured format.
1133    /// Individual keys can be unset by posting an empty value to them.
1134    /// All keys can be unset by posting an empty value to `metadata`.
1135    #[serde(skip_serializing_if = "Option::is_none")]
1136    pub metadata: Option<Metadata>,
1137
1138    /// Options for customizing how the account functions within Stripe.
1139    #[serde(skip_serializing_if = "Option::is_none")]
1140    pub settings: Option<AccountSettingsParams>,
1141
1142    /// Details on the account's acceptance of the [Stripe Services Agreement](https://stripe.com/docs/connect/updating-accounts#tos-acceptance) This property can only be updated for Custom accounts.
1143    #[serde(skip_serializing_if = "Option::is_none")]
1144    pub tos_acceptance: Option<AcceptTos>,
1145}
1146
1147impl<'a> UpdateAccount<'a> {
1148    pub fn new() -> Self {
1149        UpdateAccount {
1150            account_token: Default::default(),
1151            business_profile: Default::default(),
1152            business_type: Default::default(),
1153            capabilities: Default::default(),
1154            company: Default::default(),
1155            default_currency: Default::default(),
1156            documents: Default::default(),
1157            email: Default::default(),
1158            expand: Default::default(),
1159            external_account: Default::default(),
1160            individual: Default::default(),
1161            metadata: Default::default(),
1162            settings: Default::default(),
1163            tos_acceptance: Default::default(),
1164        }
1165    }
1166}
1167
1168#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1169pub struct AcceptTos {
1170    /// The Unix timestamp marking when the account representative accepted their service agreement.
1171    #[serde(skip_serializing_if = "Option::is_none")]
1172    pub date: Option<Timestamp>,
1173
1174    /// The IP address from which the account representative accepted their service agreement.
1175    #[serde(skip_serializing_if = "Option::is_none")]
1176    pub ip: Option<String>,
1177
1178    /// The user's service agreement type.
1179    #[serde(skip_serializing_if = "Option::is_none")]
1180    pub service_agreement: Option<String>,
1181
1182    /// The user agent of the browser from which the account representative accepted their service agreement.
1183    #[serde(skip_serializing_if = "Option::is_none")]
1184    pub user_agent: Option<String>,
1185}
1186
1187#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1188pub struct AccountSettingsParams {
1189    /// Settings specific to Bacs Direct Debit.
1190    #[serde(skip_serializing_if = "Option::is_none")]
1191    pub bacs_debit_payments: Option<AccountSettingsParamsBacsDebitPayments>,
1192
1193    /// Settings used to apply the account's branding to email receipts, invoices, Checkout, and other products.
1194    #[serde(skip_serializing_if = "Option::is_none")]
1195    pub branding: Option<BrandingSettingsParams>,
1196
1197    /// Settings specific to the account's use of the Card Issuing product.
1198    #[serde(skip_serializing_if = "Option::is_none")]
1199    pub card_issuing: Option<AccountSettingsParamsCardIssuing>,
1200
1201    /// Settings specific to card charging on the account.
1202    #[serde(skip_serializing_if = "Option::is_none")]
1203    pub card_payments: Option<CardPaymentsSettingsParams>,
1204
1205    /// Settings that apply across payment methods for charging on the account.
1206    #[serde(skip_serializing_if = "Option::is_none")]
1207    pub payments: Option<PaymentsSettingsParams>,
1208
1209    /// Settings specific to the account's payouts.
1210    #[serde(skip_serializing_if = "Option::is_none")]
1211    pub payouts: Option<PayoutSettingsParams>,
1212
1213    /// Settings specific to the account's Treasury FinancialAccounts.
1214    #[serde(skip_serializing_if = "Option::is_none")]
1215    pub treasury: Option<AccountSettingsParamsTreasury>,
1216}
1217
1218#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1219pub struct CompanyParams {
1220    /// The company's primary address.
1221    #[serde(skip_serializing_if = "Option::is_none")]
1222    pub address: Option<Address>,
1223
1224    /// The Kana variation of the company's primary address (Japan only).
1225    #[serde(skip_serializing_if = "Option::is_none")]
1226    pub address_kana: Option<Address>,
1227
1228    /// The Kanji variation of the company's primary address (Japan only).
1229    #[serde(skip_serializing_if = "Option::is_none")]
1230    pub address_kanji: Option<Address>,
1231
1232    /// Whether the company's directors have been provided.
1233    ///
1234    /// Set this Boolean to `true` after creating all the company's directors with [the Persons API](https://stripe.com/docs/api/persons) for accounts with a `relationship.director` requirement.
1235    /// This value is not automatically set to `true` after creating directors, so it needs to be updated to indicate all directors have been provided.
1236    #[serde(skip_serializing_if = "Option::is_none")]
1237    pub directors_provided: Option<bool>,
1238
1239    /// Whether the company's executives have been provided.
1240    ///
1241    /// Set this Boolean to `true` after creating all the company's executives with [the Persons API](https://stripe.com/docs/api/persons) for accounts with a `relationship.executive` requirement.
1242    #[serde(skip_serializing_if = "Option::is_none")]
1243    pub executives_provided: Option<bool>,
1244
1245    /// The export license ID number of the company, also referred as Import Export Code (India only).
1246    #[serde(skip_serializing_if = "Option::is_none")]
1247    pub export_license_id: Option<String>,
1248
1249    /// The purpose code to use for export transactions (India only).
1250    #[serde(skip_serializing_if = "Option::is_none")]
1251    pub export_purpose_code: Option<String>,
1252
1253    /// The company's legal name.
1254    #[serde(skip_serializing_if = "Option::is_none")]
1255    pub name: Option<String>,
1256
1257    /// The Kana variation of the company's legal name (Japan only).
1258    #[serde(skip_serializing_if = "Option::is_none")]
1259    pub name_kana: Option<String>,
1260
1261    /// The Kanji variation of the company's legal name (Japan only).
1262    #[serde(skip_serializing_if = "Option::is_none")]
1263    pub name_kanji: Option<String>,
1264
1265    /// Whether the company's owners have been provided.
1266    ///
1267    /// Set this Boolean to `true` after creating all the company's owners with [the Persons API](https://stripe.com/docs/api/persons) for accounts with a `relationship.owner` requirement.
1268    #[serde(skip_serializing_if = "Option::is_none")]
1269    pub owners_provided: Option<bool>,
1270
1271    /// This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct.
1272    #[serde(skip_serializing_if = "Option::is_none")]
1273    pub ownership_declaration: Option<CompanyParamsOwnershipDeclaration>,
1274
1275    /// The company's phone number (used for verification).
1276    #[serde(skip_serializing_if = "Option::is_none")]
1277    pub phone: Option<String>,
1278
1279    /// The identification number given to a company when it is registered or incorporated, if distinct from the identification number used for filing taxes.
1280    ///
1281    /// (Examples are the CIN for companies and LLP IN for partnerships in India, and the Company Registration Number in Hong Kong).
1282    #[serde(skip_serializing_if = "Option::is_none")]
1283    pub registration_number: Option<String>,
1284
1285    /// The category identifying the legal structure of the company or legal entity.
1286    ///
1287    /// See [Business structure](https://stripe.com/docs/connect/identity-verification#business-structure) for more details.
1288    /// Pass an empty string to unset this value.
1289    #[serde(skip_serializing_if = "Option::is_none")]
1290    pub structure: Option<CompanyParamsStructure>,
1291
1292    /// The business ID number of the company, as appropriate for the company’s country.
1293    ///
1294    /// (Examples are an Employer ID Number in the U.S., a Business Number in Canada, or a Company Number in the UK.).
1295    #[serde(skip_serializing_if = "Option::is_none")]
1296    pub tax_id: Option<String>,
1297
1298    /// The jurisdiction in which the `tax_id` is registered (Germany-based companies only).
1299    #[serde(skip_serializing_if = "Option::is_none")]
1300    pub tax_id_registrar: Option<String>,
1301
1302    /// The VAT number of the company.
1303    #[serde(skip_serializing_if = "Option::is_none")]
1304    pub vat_id: Option<String>,
1305
1306    /// Information on the verification state of the company.
1307    #[serde(skip_serializing_if = "Option::is_none")]
1308    pub verification: Option<CompanyVerificationParams>,
1309}
1310
1311#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1312pub struct CreateAccountCapabilities {
1313    /// The acss_debit_payments capability.
1314    #[serde(skip_serializing_if = "Option::is_none")]
1315    pub acss_debit_payments: Option<CreateAccountCapabilitiesAcssDebitPayments>,
1316
1317    /// The affirm_payments capability.
1318    #[serde(skip_serializing_if = "Option::is_none")]
1319    pub affirm_payments: Option<CreateAccountCapabilitiesAffirmPayments>,
1320
1321    /// The afterpay_clearpay_payments capability.
1322    #[serde(skip_serializing_if = "Option::is_none")]
1323    pub afterpay_clearpay_payments: Option<CreateAccountCapabilitiesAfterpayClearpayPayments>,
1324
1325    /// The au_becs_debit_payments capability.
1326    #[serde(skip_serializing_if = "Option::is_none")]
1327    pub au_becs_debit_payments: Option<CreateAccountCapabilitiesAuBecsDebitPayments>,
1328
1329    /// The bacs_debit_payments capability.
1330    #[serde(skip_serializing_if = "Option::is_none")]
1331    pub bacs_debit_payments: Option<CreateAccountCapabilitiesBacsDebitPayments>,
1332
1333    /// The bancontact_payments capability.
1334    #[serde(skip_serializing_if = "Option::is_none")]
1335    pub bancontact_payments: Option<CreateAccountCapabilitiesBancontactPayments>,
1336
1337    /// The bank_transfer_payments capability.
1338    #[serde(skip_serializing_if = "Option::is_none")]
1339    pub bank_transfer_payments: Option<CreateAccountCapabilitiesBankTransferPayments>,
1340
1341    /// The blik_payments capability.
1342    #[serde(skip_serializing_if = "Option::is_none")]
1343    pub blik_payments: Option<CreateAccountCapabilitiesBlikPayments>,
1344
1345    /// The boleto_payments capability.
1346    #[serde(skip_serializing_if = "Option::is_none")]
1347    pub boleto_payments: Option<CreateAccountCapabilitiesBoletoPayments>,
1348
1349    /// The card_issuing capability.
1350    #[serde(skip_serializing_if = "Option::is_none")]
1351    pub card_issuing: Option<CreateAccountCapabilitiesCardIssuing>,
1352
1353    /// The card_payments capability.
1354    #[serde(skip_serializing_if = "Option::is_none")]
1355    pub card_payments: Option<CreateAccountCapabilitiesCardPayments>,
1356
1357    /// The cartes_bancaires_payments capability.
1358    #[serde(skip_serializing_if = "Option::is_none")]
1359    pub cartes_bancaires_payments: Option<CreateAccountCapabilitiesCartesBancairesPayments>,
1360
1361    /// The cashapp_payments capability.
1362    #[serde(skip_serializing_if = "Option::is_none")]
1363    pub cashapp_payments: Option<CreateAccountCapabilitiesCashappPayments>,
1364
1365    /// The eps_payments capability.
1366    #[serde(skip_serializing_if = "Option::is_none")]
1367    pub eps_payments: Option<CreateAccountCapabilitiesEpsPayments>,
1368
1369    /// The fpx_payments capability.
1370    #[serde(skip_serializing_if = "Option::is_none")]
1371    pub fpx_payments: Option<CreateAccountCapabilitiesFpxPayments>,
1372
1373    /// The giropay_payments capability.
1374    #[serde(skip_serializing_if = "Option::is_none")]
1375    pub giropay_payments: Option<CreateAccountCapabilitiesGiropayPayments>,
1376
1377    /// The grabpay_payments capability.
1378    #[serde(skip_serializing_if = "Option::is_none")]
1379    pub grabpay_payments: Option<CreateAccountCapabilitiesGrabpayPayments>,
1380
1381    /// The ideal_payments capability.
1382    #[serde(skip_serializing_if = "Option::is_none")]
1383    pub ideal_payments: Option<CreateAccountCapabilitiesIdealPayments>,
1384
1385    /// The india_international_payments capability.
1386    #[serde(skip_serializing_if = "Option::is_none")]
1387    pub india_international_payments: Option<CreateAccountCapabilitiesIndiaInternationalPayments>,
1388
1389    /// The jcb_payments capability.
1390    #[serde(skip_serializing_if = "Option::is_none")]
1391    pub jcb_payments: Option<CreateAccountCapabilitiesJcbPayments>,
1392
1393    /// The klarna_payments capability.
1394    #[serde(skip_serializing_if = "Option::is_none")]
1395    pub klarna_payments: Option<CreateAccountCapabilitiesKlarnaPayments>,
1396
1397    /// The konbini_payments capability.
1398    #[serde(skip_serializing_if = "Option::is_none")]
1399    pub konbini_payments: Option<CreateAccountCapabilitiesKonbiniPayments>,
1400
1401    /// The legacy_payments capability.
1402    #[serde(skip_serializing_if = "Option::is_none")]
1403    pub legacy_payments: Option<CreateAccountCapabilitiesLegacyPayments>,
1404
1405    /// The link_payments capability.
1406    #[serde(skip_serializing_if = "Option::is_none")]
1407    pub link_payments: Option<CreateAccountCapabilitiesLinkPayments>,
1408
1409    /// The oxxo_payments capability.
1410    #[serde(skip_serializing_if = "Option::is_none")]
1411    pub oxxo_payments: Option<CreateAccountCapabilitiesOxxoPayments>,
1412
1413    /// The p24_payments capability.
1414    #[serde(skip_serializing_if = "Option::is_none")]
1415    pub p24_payments: Option<CreateAccountCapabilitiesP24Payments>,
1416
1417    /// The paynow_payments capability.
1418    #[serde(skip_serializing_if = "Option::is_none")]
1419    pub paynow_payments: Option<CreateAccountCapabilitiesPaynowPayments>,
1420
1421    /// The promptpay_payments capability.
1422    #[serde(skip_serializing_if = "Option::is_none")]
1423    pub promptpay_payments: Option<CreateAccountCapabilitiesPromptpayPayments>,
1424
1425    /// The revolut_pay_payments capability.
1426    #[serde(skip_serializing_if = "Option::is_none")]
1427    pub revolut_pay_payments: Option<CreateAccountCapabilitiesRevolutPayPayments>,
1428
1429    /// The sepa_debit_payments capability.
1430    #[serde(skip_serializing_if = "Option::is_none")]
1431    pub sepa_debit_payments: Option<CreateAccountCapabilitiesSepaDebitPayments>,
1432
1433    /// The sofort_payments capability.
1434    #[serde(skip_serializing_if = "Option::is_none")]
1435    pub sofort_payments: Option<CreateAccountCapabilitiesSofortPayments>,
1436
1437    /// The swish_payments capability.
1438    #[serde(skip_serializing_if = "Option::is_none")]
1439    pub swish_payments: Option<CreateAccountCapabilitiesSwishPayments>,
1440
1441    /// The tax_reporting_us_1099_k capability.
1442    #[serde(skip_serializing_if = "Option::is_none")]
1443    pub tax_reporting_us_1099_k: Option<CreateAccountCapabilitiesTaxReportingUs1099K>,
1444
1445    /// The tax_reporting_us_1099_misc capability.
1446    #[serde(skip_serializing_if = "Option::is_none")]
1447    pub tax_reporting_us_1099_misc: Option<CreateAccountCapabilitiesTaxReportingUs1099Misc>,
1448
1449    /// The transfers capability.
1450    #[serde(skip_serializing_if = "Option::is_none")]
1451    pub transfers: Option<CreateAccountCapabilitiesTransfers>,
1452
1453    /// The treasury capability.
1454    #[serde(skip_serializing_if = "Option::is_none")]
1455    pub treasury: Option<CreateAccountCapabilitiesTreasury>,
1456
1457    /// The us_bank_account_ach_payments capability.
1458    #[serde(skip_serializing_if = "Option::is_none")]
1459    pub us_bank_account_ach_payments: Option<CreateAccountCapabilitiesUsBankAccountAchPayments>,
1460
1461    /// The zip_payments capability.
1462    #[serde(skip_serializing_if = "Option::is_none")]
1463    pub zip_payments: Option<CreateAccountCapabilitiesZipPayments>,
1464}
1465
1466#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1467pub struct CreateAccountDocuments {
1468    /// One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement.
1469    ///
1470    /// 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 voided check.
1471    #[serde(skip_serializing_if = "Option::is_none")]
1472    pub bank_account_ownership_verification:
1473        Option<CreateAccountDocumentsBankAccountOwnershipVerification>,
1474
1475    /// One or more documents that demonstrate proof of a company's license to operate.
1476    #[serde(skip_serializing_if = "Option::is_none")]
1477    pub company_license: Option<CreateAccountDocumentsCompanyLicense>,
1478
1479    /// One or more documents showing the company's Memorandum of Association.
1480    #[serde(skip_serializing_if = "Option::is_none")]
1481    pub company_memorandum_of_association:
1482        Option<CreateAccountDocumentsCompanyMemorandumOfAssociation>,
1483
1484    /// (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment.
1485    #[serde(skip_serializing_if = "Option::is_none")]
1486    pub company_ministerial_decree: Option<CreateAccountDocumentsCompanyMinisterialDecree>,
1487
1488    /// One or more documents that demonstrate proof of a company's registration with the appropriate local authorities.
1489    #[serde(skip_serializing_if = "Option::is_none")]
1490    pub company_registration_verification:
1491        Option<CreateAccountDocumentsCompanyRegistrationVerification>,
1492
1493    /// One or more documents that demonstrate proof of a company's tax ID.
1494    #[serde(skip_serializing_if = "Option::is_none")]
1495    pub company_tax_id_verification: Option<CreateAccountDocumentsCompanyTaxIdVerification>,
1496
1497    /// One or more documents showing the company’s proof of registration with the national business registry.
1498    #[serde(skip_serializing_if = "Option::is_none")]
1499    pub proof_of_registration: Option<CreateAccountDocumentsProofOfRegistration>,
1500}
1501
1502#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1503pub struct PersonParams {
1504    /// The individual's primary address.
1505    #[serde(skip_serializing_if = "Option::is_none")]
1506    pub address: Option<Address>,
1507
1508    /// The Kana variation of the the individual's primary address (Japan only).
1509    #[serde(skip_serializing_if = "Option::is_none")]
1510    pub address_kana: Option<Address>,
1511
1512    /// The Kanji variation of the the individual's primary address (Japan only).
1513    #[serde(skip_serializing_if = "Option::is_none")]
1514    pub address_kanji: Option<Address>,
1515
1516    /// The individual's date of birth.
1517    #[serde(skip_serializing_if = "Option::is_none")]
1518    pub dob: Option<PersonParamsDob>,
1519
1520    /// The individual's email address.
1521    #[serde(skip_serializing_if = "Option::is_none")]
1522    pub email: Option<String>,
1523
1524    /// The individual's first name.
1525    #[serde(skip_serializing_if = "Option::is_none")]
1526    pub first_name: Option<String>,
1527
1528    /// The Kana variation of the the individual's first name (Japan only).
1529    #[serde(skip_serializing_if = "Option::is_none")]
1530    pub first_name_kana: Option<String>,
1531
1532    /// The Kanji variation of the individual's first name (Japan only).
1533    #[serde(skip_serializing_if = "Option::is_none")]
1534    pub first_name_kanji: Option<String>,
1535
1536    /// A list of alternate names or aliases that the individual is known by.
1537    #[serde(skip_serializing_if = "Option::is_none")]
1538    pub full_name_aliases: Option<Vec<String>>,
1539
1540    /// The individual's gender (International regulations require either "male" or "female").
1541    #[serde(skip_serializing_if = "Option::is_none")]
1542    pub gender: Option<String>,
1543
1544    /// The government-issued ID number of the individual, as appropriate for the representative's country.
1545    ///
1546    /// (Examples are a Social Security Number in the U.S., or a Social Insurance Number in Canada).
1547    /// Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii).
1548    #[serde(skip_serializing_if = "Option::is_none")]
1549    pub id_number: Option<String>,
1550
1551    /// The government-issued secondary ID number of the individual, as appropriate for the representative's country, will be used for enhanced verification checks.
1552    ///
1553    /// In Thailand, this would be the laser code found on the back of an ID card.
1554    /// Instead of the number itself, you can also provide a [PII token created with Stripe.js](https://stripe.com/docs/js/tokens/create_token?type=pii).
1555    #[serde(skip_serializing_if = "Option::is_none")]
1556    pub id_number_secondary: Option<String>,
1557
1558    /// The individual's last name.
1559    #[serde(skip_serializing_if = "Option::is_none")]
1560    pub last_name: Option<String>,
1561
1562    /// The Kana variation of the individual's last name (Japan only).
1563    #[serde(skip_serializing_if = "Option::is_none")]
1564    pub last_name_kana: Option<String>,
1565
1566    /// The Kanji variation of the individual's last name (Japan only).
1567    #[serde(skip_serializing_if = "Option::is_none")]
1568    pub last_name_kanji: Option<String>,
1569
1570    /// The individual's maiden name.
1571    #[serde(skip_serializing_if = "Option::is_none")]
1572    pub maiden_name: Option<String>,
1573
1574    /// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object.
1575    ///
1576    /// This can be useful for storing additional information about the object in a structured format.
1577    /// Individual keys can be unset by posting an empty value to them.
1578    /// All keys can be unset by posting an empty value to `metadata`.
1579    #[serde(skip_serializing_if = "Option::is_none")]
1580    pub metadata: Option<Metadata>,
1581
1582    /// The individual's phone number.
1583    #[serde(skip_serializing_if = "Option::is_none")]
1584    pub phone: Option<String>,
1585
1586    /// Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
1587    #[serde(skip_serializing_if = "Option::is_none")]
1588    pub political_exposure: Option<PersonParamsPoliticalExposure>,
1589
1590    /// The individual's registered address.
1591    #[serde(skip_serializing_if = "Option::is_none")]
1592    pub registered_address: Option<PersonParamsRegisteredAddress>,
1593
1594    /// Describes the person’s relationship to the account.
1595    #[serde(skip_serializing_if = "Option::is_none")]
1596    pub relationship: Option<PersonParamsRelationship>,
1597
1598    /// The last four digits of the individual's Social Security Number (U.S.
1599    ///
1600    /// only).
1601    #[serde(skip_serializing_if = "Option::is_none")]
1602    pub ssn_last_4: Option<String>,
1603
1604    /// The individual's verification document information.
1605    #[serde(skip_serializing_if = "Option::is_none")]
1606    pub verification: Option<PersonVerificationParams>,
1607}
1608
1609#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1610pub struct UpdateAccountCapabilities {
1611    /// The acss_debit_payments capability.
1612    #[serde(skip_serializing_if = "Option::is_none")]
1613    pub acss_debit_payments: Option<UpdateAccountCapabilitiesAcssDebitPayments>,
1614
1615    /// The affirm_payments capability.
1616    #[serde(skip_serializing_if = "Option::is_none")]
1617    pub affirm_payments: Option<UpdateAccountCapabilitiesAffirmPayments>,
1618
1619    /// The afterpay_clearpay_payments capability.
1620    #[serde(skip_serializing_if = "Option::is_none")]
1621    pub afterpay_clearpay_payments: Option<UpdateAccountCapabilitiesAfterpayClearpayPayments>,
1622
1623    /// The au_becs_debit_payments capability.
1624    #[serde(skip_serializing_if = "Option::is_none")]
1625    pub au_becs_debit_payments: Option<UpdateAccountCapabilitiesAuBecsDebitPayments>,
1626
1627    /// The bacs_debit_payments capability.
1628    #[serde(skip_serializing_if = "Option::is_none")]
1629    pub bacs_debit_payments: Option<UpdateAccountCapabilitiesBacsDebitPayments>,
1630
1631    /// The bancontact_payments capability.
1632    #[serde(skip_serializing_if = "Option::is_none")]
1633    pub bancontact_payments: Option<UpdateAccountCapabilitiesBancontactPayments>,
1634
1635    /// The bank_transfer_payments capability.
1636    #[serde(skip_serializing_if = "Option::is_none")]
1637    pub bank_transfer_payments: Option<UpdateAccountCapabilitiesBankTransferPayments>,
1638
1639    /// The blik_payments capability.
1640    #[serde(skip_serializing_if = "Option::is_none")]
1641    pub blik_payments: Option<UpdateAccountCapabilitiesBlikPayments>,
1642
1643    /// The boleto_payments capability.
1644    #[serde(skip_serializing_if = "Option::is_none")]
1645    pub boleto_payments: Option<UpdateAccountCapabilitiesBoletoPayments>,
1646
1647    /// The card_issuing capability.
1648    #[serde(skip_serializing_if = "Option::is_none")]
1649    pub card_issuing: Option<UpdateAccountCapabilitiesCardIssuing>,
1650
1651    /// The card_payments capability.
1652    #[serde(skip_serializing_if = "Option::is_none")]
1653    pub card_payments: Option<UpdateAccountCapabilitiesCardPayments>,
1654
1655    /// The cartes_bancaires_payments capability.
1656    #[serde(skip_serializing_if = "Option::is_none")]
1657    pub cartes_bancaires_payments: Option<UpdateAccountCapabilitiesCartesBancairesPayments>,
1658
1659    /// The cashapp_payments capability.
1660    #[serde(skip_serializing_if = "Option::is_none")]
1661    pub cashapp_payments: Option<UpdateAccountCapabilitiesCashappPayments>,
1662
1663    /// The eps_payments capability.
1664    #[serde(skip_serializing_if = "Option::is_none")]
1665    pub eps_payments: Option<UpdateAccountCapabilitiesEpsPayments>,
1666
1667    /// The fpx_payments capability.
1668    #[serde(skip_serializing_if = "Option::is_none")]
1669    pub fpx_payments: Option<UpdateAccountCapabilitiesFpxPayments>,
1670
1671    /// The giropay_payments capability.
1672    #[serde(skip_serializing_if = "Option::is_none")]
1673    pub giropay_payments: Option<UpdateAccountCapabilitiesGiropayPayments>,
1674
1675    /// The grabpay_payments capability.
1676    #[serde(skip_serializing_if = "Option::is_none")]
1677    pub grabpay_payments: Option<UpdateAccountCapabilitiesGrabpayPayments>,
1678
1679    /// The ideal_payments capability.
1680    #[serde(skip_serializing_if = "Option::is_none")]
1681    pub ideal_payments: Option<UpdateAccountCapabilitiesIdealPayments>,
1682
1683    /// The india_international_payments capability.
1684    #[serde(skip_serializing_if = "Option::is_none")]
1685    pub india_international_payments: Option<UpdateAccountCapabilitiesIndiaInternationalPayments>,
1686
1687    /// The jcb_payments capability.
1688    #[serde(skip_serializing_if = "Option::is_none")]
1689    pub jcb_payments: Option<UpdateAccountCapabilitiesJcbPayments>,
1690
1691    /// The klarna_payments capability.
1692    #[serde(skip_serializing_if = "Option::is_none")]
1693    pub klarna_payments: Option<UpdateAccountCapabilitiesKlarnaPayments>,
1694
1695    /// The konbini_payments capability.
1696    #[serde(skip_serializing_if = "Option::is_none")]
1697    pub konbini_payments: Option<UpdateAccountCapabilitiesKonbiniPayments>,
1698
1699    /// The legacy_payments capability.
1700    #[serde(skip_serializing_if = "Option::is_none")]
1701    pub legacy_payments: Option<UpdateAccountCapabilitiesLegacyPayments>,
1702
1703    /// The link_payments capability.
1704    #[serde(skip_serializing_if = "Option::is_none")]
1705    pub link_payments: Option<UpdateAccountCapabilitiesLinkPayments>,
1706
1707    /// The oxxo_payments capability.
1708    #[serde(skip_serializing_if = "Option::is_none")]
1709    pub oxxo_payments: Option<UpdateAccountCapabilitiesOxxoPayments>,
1710
1711    /// The p24_payments capability.
1712    #[serde(skip_serializing_if = "Option::is_none")]
1713    pub p24_payments: Option<UpdateAccountCapabilitiesP24Payments>,
1714
1715    /// The paynow_payments capability.
1716    #[serde(skip_serializing_if = "Option::is_none")]
1717    pub paynow_payments: Option<UpdateAccountCapabilitiesPaynowPayments>,
1718
1719    /// The promptpay_payments capability.
1720    #[serde(skip_serializing_if = "Option::is_none")]
1721    pub promptpay_payments: Option<UpdateAccountCapabilitiesPromptpayPayments>,
1722
1723    /// The revolut_pay_payments capability.
1724    #[serde(skip_serializing_if = "Option::is_none")]
1725    pub revolut_pay_payments: Option<UpdateAccountCapabilitiesRevolutPayPayments>,
1726
1727    /// The sepa_debit_payments capability.
1728    #[serde(skip_serializing_if = "Option::is_none")]
1729    pub sepa_debit_payments: Option<UpdateAccountCapabilitiesSepaDebitPayments>,
1730
1731    /// The sofort_payments capability.
1732    #[serde(skip_serializing_if = "Option::is_none")]
1733    pub sofort_payments: Option<UpdateAccountCapabilitiesSofortPayments>,
1734
1735    /// The swish_payments capability.
1736    #[serde(skip_serializing_if = "Option::is_none")]
1737    pub swish_payments: Option<UpdateAccountCapabilitiesSwishPayments>,
1738
1739    /// The tax_reporting_us_1099_k capability.
1740    #[serde(skip_serializing_if = "Option::is_none")]
1741    pub tax_reporting_us_1099_k: Option<UpdateAccountCapabilitiesTaxReportingUs1099K>,
1742
1743    /// The tax_reporting_us_1099_misc capability.
1744    #[serde(skip_serializing_if = "Option::is_none")]
1745    pub tax_reporting_us_1099_misc: Option<UpdateAccountCapabilitiesTaxReportingUs1099Misc>,
1746
1747    /// The transfers capability.
1748    #[serde(skip_serializing_if = "Option::is_none")]
1749    pub transfers: Option<UpdateAccountCapabilitiesTransfers>,
1750
1751    /// The treasury capability.
1752    #[serde(skip_serializing_if = "Option::is_none")]
1753    pub treasury: Option<UpdateAccountCapabilitiesTreasury>,
1754
1755    /// The us_bank_account_ach_payments capability.
1756    #[serde(skip_serializing_if = "Option::is_none")]
1757    pub us_bank_account_ach_payments: Option<UpdateAccountCapabilitiesUsBankAccountAchPayments>,
1758
1759    /// The zip_payments capability.
1760    #[serde(skip_serializing_if = "Option::is_none")]
1761    pub zip_payments: Option<UpdateAccountCapabilitiesZipPayments>,
1762}
1763
1764#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1765pub struct UpdateAccountDocuments {
1766    /// One or more documents that support the [Bank account ownership verification](https://support.stripe.com/questions/bank-account-ownership-verification) requirement.
1767    ///
1768    /// 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 voided check.
1769    #[serde(skip_serializing_if = "Option::is_none")]
1770    pub bank_account_ownership_verification:
1771        Option<UpdateAccountDocumentsBankAccountOwnershipVerification>,
1772
1773    /// One or more documents that demonstrate proof of a company's license to operate.
1774    #[serde(skip_serializing_if = "Option::is_none")]
1775    pub company_license: Option<UpdateAccountDocumentsCompanyLicense>,
1776
1777    /// One or more documents showing the company's Memorandum of Association.
1778    #[serde(skip_serializing_if = "Option::is_none")]
1779    pub company_memorandum_of_association:
1780        Option<UpdateAccountDocumentsCompanyMemorandumOfAssociation>,
1781
1782    /// (Certain countries only) One or more documents showing the ministerial decree legalizing the company's establishment.
1783    #[serde(skip_serializing_if = "Option::is_none")]
1784    pub company_ministerial_decree: Option<UpdateAccountDocumentsCompanyMinisterialDecree>,
1785
1786    /// One or more documents that demonstrate proof of a company's registration with the appropriate local authorities.
1787    #[serde(skip_serializing_if = "Option::is_none")]
1788    pub company_registration_verification:
1789        Option<UpdateAccountDocumentsCompanyRegistrationVerification>,
1790
1791    /// One or more documents that demonstrate proof of a company's tax ID.
1792    #[serde(skip_serializing_if = "Option::is_none")]
1793    pub company_tax_id_verification: Option<UpdateAccountDocumentsCompanyTaxIdVerification>,
1794
1795    /// One or more documents showing the company’s proof of registration with the national business registry.
1796    #[serde(skip_serializing_if = "Option::is_none")]
1797    pub proof_of_registration: Option<UpdateAccountDocumentsProofOfRegistration>,
1798}
1799
1800#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1801pub struct AccountSettingsParamsBacsDebitPayments {
1802    /// The Bacs Direct Debit Display Name for this account.
1803    ///
1804    /// For payments made with Bacs Direct Debit, this name appears on the mandate as the statement descriptor.
1805    /// Mobile banking apps display it as the name of the business.
1806    /// To use custom branding, set the Bacs Direct Debit Display Name during or right after creation.
1807    /// Custom branding incurs an additional monthly fee for the platform.
1808    /// 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.
1809    #[serde(skip_serializing_if = "Option::is_none")]
1810    pub display_name: Option<String>,
1811}
1812
1813#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1814pub struct AccountSettingsParamsCardIssuing {
1815    /// Details on the account's acceptance of the [Stripe Issuing Terms and Disclosures](https://stripe.com/docs/issuing/connect/tos_acceptance).
1816    #[serde(skip_serializing_if = "Option::is_none")]
1817    pub tos_acceptance: Option<AccountSettingsParamsCardIssuingTosAcceptance>,
1818}
1819
1820#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1821pub struct AccountSettingsParamsTreasury {
1822    /// Details on the account's acceptance of the Stripe Treasury Services Agreement.
1823    #[serde(skip_serializing_if = "Option::is_none")]
1824    pub tos_acceptance: Option<AccountSettingsParamsTreasuryTosAcceptance>,
1825}
1826
1827#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1828pub struct BrandingSettingsParams {
1829    /// (ID of a [file upload](https://stripe.com/docs/guides/file-upload)) An icon for the account.
1830    ///
1831    /// Must be square and at least 128px x 128px.
1832    #[serde(skip_serializing_if = "Option::is_none")]
1833    pub icon: Option<String>,
1834
1835    /// (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.
1836    ///
1837    /// Must be at least 128px x 128px.
1838    #[serde(skip_serializing_if = "Option::is_none")]
1839    pub logo: Option<String>,
1840
1841    /// A CSS hex color value representing the primary branding color for this account.
1842    #[serde(skip_serializing_if = "Option::is_none")]
1843    pub primary_color: Option<String>,
1844
1845    /// A CSS hex color value representing the secondary branding color for this account.
1846    #[serde(skip_serializing_if = "Option::is_none")]
1847    pub secondary_color: Option<String>,
1848}
1849
1850#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1851pub struct CardPaymentsSettingsParams {
1852    /// Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge.
1853    #[serde(skip_serializing_if = "Option::is_none")]
1854    pub decline_on: Option<DeclineChargeOnParams>,
1855
1856    /// The default text that appears on credit card statements when a charge is made.
1857    ///
1858    /// This field prefixes any dynamic `statement_descriptor` specified on the charge.
1859    /// `statement_descriptor_prefix` is useful for maximizing descriptor space for the dynamic portion.
1860    #[serde(skip_serializing_if = "Option::is_none")]
1861    pub statement_descriptor_prefix: Option<String>,
1862
1863    /// The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only).
1864    ///
1865    /// This field prefixes any dynamic `statement_descriptor_suffix_kana` specified on the charge.
1866    /// `statement_descriptor_prefix_kana` is useful for maximizing descriptor space for the dynamic portion.
1867    #[serde(skip_serializing_if = "Option::is_none")]
1868    pub statement_descriptor_prefix_kana: Option<String>,
1869
1870    /// The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only).
1871    ///
1872    /// This field prefixes any dynamic `statement_descriptor_suffix_kanji` specified on the charge.
1873    /// `statement_descriptor_prefix_kanji` is useful for maximizing descriptor space for the dynamic portion.
1874    #[serde(skip_serializing_if = "Option::is_none")]
1875    pub statement_descriptor_prefix_kanji: Option<String>,
1876}
1877
1878#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1879pub struct CompanyParamsOwnershipDeclaration {
1880    /// The Unix timestamp marking when the beneficial owner attestation was made.
1881    #[serde(skip_serializing_if = "Option::is_none")]
1882    pub date: Option<Timestamp>,
1883
1884    /// The IP address from which the beneficial owner attestation was made.
1885    #[serde(skip_serializing_if = "Option::is_none")]
1886    pub ip: Option<String>,
1887
1888    /// The user agent of the browser from which the beneficial owner attestation was made.
1889    #[serde(skip_serializing_if = "Option::is_none")]
1890    pub user_agent: Option<String>,
1891}
1892
1893#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1894pub struct CompanyVerificationParams {
1895    /// A document verifying the business.
1896    #[serde(skip_serializing_if = "Option::is_none")]
1897    pub document: Option<VerificationDocumentParams>,
1898}
1899
1900#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1901pub struct CreateAccountCapabilitiesAcssDebitPayments {
1902    /// Passing true requests the capability for the account, if it is not already requested.
1903    ///
1904    /// A requested capability may not immediately become active.
1905    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1906    #[serde(skip_serializing_if = "Option::is_none")]
1907    pub requested: Option<bool>,
1908}
1909
1910#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1911pub struct CreateAccountCapabilitiesAffirmPayments {
1912    /// Passing true requests the capability for the account, if it is not already requested.
1913    ///
1914    /// A requested capability may not immediately become active.
1915    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1916    #[serde(skip_serializing_if = "Option::is_none")]
1917    pub requested: Option<bool>,
1918}
1919
1920#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1921pub struct CreateAccountCapabilitiesAfterpayClearpayPayments {
1922    /// Passing true requests the capability for the account, if it is not already requested.
1923    ///
1924    /// A requested capability may not immediately become active.
1925    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1926    #[serde(skip_serializing_if = "Option::is_none")]
1927    pub requested: Option<bool>,
1928}
1929
1930#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1931pub struct CreateAccountCapabilitiesAuBecsDebitPayments {
1932    /// Passing true requests the capability for the account, if it is not already requested.
1933    ///
1934    /// A requested capability may not immediately become active.
1935    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1936    #[serde(skip_serializing_if = "Option::is_none")]
1937    pub requested: Option<bool>,
1938}
1939
1940#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1941pub struct CreateAccountCapabilitiesBacsDebitPayments {
1942    /// Passing true requests the capability for the account, if it is not already requested.
1943    ///
1944    /// A requested capability may not immediately become active.
1945    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1946    #[serde(skip_serializing_if = "Option::is_none")]
1947    pub requested: Option<bool>,
1948}
1949
1950#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1951pub struct CreateAccountCapabilitiesBancontactPayments {
1952    /// Passing true requests the capability for the account, if it is not already requested.
1953    ///
1954    /// A requested capability may not immediately become active.
1955    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1956    #[serde(skip_serializing_if = "Option::is_none")]
1957    pub requested: Option<bool>,
1958}
1959
1960#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1961pub struct CreateAccountCapabilitiesBankTransferPayments {
1962    /// Passing true requests the capability for the account, if it is not already requested.
1963    ///
1964    /// A requested capability may not immediately become active.
1965    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1966    #[serde(skip_serializing_if = "Option::is_none")]
1967    pub requested: Option<bool>,
1968}
1969
1970#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1971pub struct CreateAccountCapabilitiesBlikPayments {
1972    /// Passing true requests the capability for the account, if it is not already requested.
1973    ///
1974    /// A requested capability may not immediately become active.
1975    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1976    #[serde(skip_serializing_if = "Option::is_none")]
1977    pub requested: Option<bool>,
1978}
1979
1980#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1981pub struct CreateAccountCapabilitiesBoletoPayments {
1982    /// Passing true requests the capability for the account, if it is not already requested.
1983    ///
1984    /// A requested capability may not immediately become active.
1985    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1986    #[serde(skip_serializing_if = "Option::is_none")]
1987    pub requested: Option<bool>,
1988}
1989
1990#[derive(Clone, Debug, Default, Deserialize, Serialize)]
1991pub struct CreateAccountCapabilitiesCardIssuing {
1992    /// Passing true requests the capability for the account, if it is not already requested.
1993    ///
1994    /// A requested capability may not immediately become active.
1995    /// Any requirements to activate the capability are returned in the `requirements` arrays.
1996    #[serde(skip_serializing_if = "Option::is_none")]
1997    pub requested: Option<bool>,
1998}
1999
2000#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2001pub struct CreateAccountCapabilitiesCardPayments {
2002    /// Passing true requests the capability for the account, if it is not already requested.
2003    ///
2004    /// A requested capability may not immediately become active.
2005    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2006    #[serde(skip_serializing_if = "Option::is_none")]
2007    pub requested: Option<bool>,
2008}
2009
2010#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2011pub struct CreateAccountCapabilitiesCartesBancairesPayments {
2012    /// Passing true requests the capability for the account, if it is not already requested.
2013    ///
2014    /// A requested capability may not immediately become active.
2015    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2016    #[serde(skip_serializing_if = "Option::is_none")]
2017    pub requested: Option<bool>,
2018}
2019
2020#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2021pub struct CreateAccountCapabilitiesCashappPayments {
2022    /// Passing true requests the capability for the account, if it is not already requested.
2023    ///
2024    /// A requested capability may not immediately become active.
2025    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2026    #[serde(skip_serializing_if = "Option::is_none")]
2027    pub requested: Option<bool>,
2028}
2029
2030#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2031pub struct CreateAccountCapabilitiesEpsPayments {
2032    /// Passing true requests the capability for the account, if it is not already requested.
2033    ///
2034    /// A requested capability may not immediately become active.
2035    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2036    #[serde(skip_serializing_if = "Option::is_none")]
2037    pub requested: Option<bool>,
2038}
2039
2040#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2041pub struct CreateAccountCapabilitiesFpxPayments {
2042    /// Passing true requests the capability for the account, if it is not already requested.
2043    ///
2044    /// A requested capability may not immediately become active.
2045    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2046    #[serde(skip_serializing_if = "Option::is_none")]
2047    pub requested: Option<bool>,
2048}
2049
2050#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2051pub struct CreateAccountCapabilitiesGiropayPayments {
2052    /// Passing true requests the capability for the account, if it is not already requested.
2053    ///
2054    /// A requested capability may not immediately become active.
2055    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2056    #[serde(skip_serializing_if = "Option::is_none")]
2057    pub requested: Option<bool>,
2058}
2059
2060#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2061pub struct CreateAccountCapabilitiesGrabpayPayments {
2062    /// Passing true requests the capability for the account, if it is not already requested.
2063    ///
2064    /// A requested capability may not immediately become active.
2065    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2066    #[serde(skip_serializing_if = "Option::is_none")]
2067    pub requested: Option<bool>,
2068}
2069
2070#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2071pub struct CreateAccountCapabilitiesIdealPayments {
2072    /// Passing true requests the capability for the account, if it is not already requested.
2073    ///
2074    /// A requested capability may not immediately become active.
2075    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2076    #[serde(skip_serializing_if = "Option::is_none")]
2077    pub requested: Option<bool>,
2078}
2079
2080#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2081pub struct CreateAccountCapabilitiesIndiaInternationalPayments {
2082    /// Passing true requests the capability for the account, if it is not already requested.
2083    ///
2084    /// A requested capability may not immediately become active.
2085    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2086    #[serde(skip_serializing_if = "Option::is_none")]
2087    pub requested: Option<bool>,
2088}
2089
2090#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2091pub struct CreateAccountCapabilitiesJcbPayments {
2092    /// Passing true requests the capability for the account, if it is not already requested.
2093    ///
2094    /// A requested capability may not immediately become active.
2095    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2096    #[serde(skip_serializing_if = "Option::is_none")]
2097    pub requested: Option<bool>,
2098}
2099
2100#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2101pub struct CreateAccountCapabilitiesKlarnaPayments {
2102    /// Passing true requests the capability for the account, if it is not already requested.
2103    ///
2104    /// A requested capability may not immediately become active.
2105    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2106    #[serde(skip_serializing_if = "Option::is_none")]
2107    pub requested: Option<bool>,
2108}
2109
2110#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2111pub struct CreateAccountCapabilitiesKonbiniPayments {
2112    /// Passing true requests the capability for the account, if it is not already requested.
2113    ///
2114    /// A requested capability may not immediately become active.
2115    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2116    #[serde(skip_serializing_if = "Option::is_none")]
2117    pub requested: Option<bool>,
2118}
2119
2120#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2121pub struct CreateAccountCapabilitiesLegacyPayments {
2122    /// Passing true requests the capability for the account, if it is not already requested.
2123    ///
2124    /// A requested capability may not immediately become active.
2125    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2126    #[serde(skip_serializing_if = "Option::is_none")]
2127    pub requested: Option<bool>,
2128}
2129
2130#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2131pub struct CreateAccountCapabilitiesLinkPayments {
2132    /// Passing true requests the capability for the account, if it is not already requested.
2133    ///
2134    /// A requested capability may not immediately become active.
2135    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2136    #[serde(skip_serializing_if = "Option::is_none")]
2137    pub requested: Option<bool>,
2138}
2139
2140#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2141pub struct CreateAccountCapabilitiesOxxoPayments {
2142    /// Passing true requests the capability for the account, if it is not already requested.
2143    ///
2144    /// A requested capability may not immediately become active.
2145    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2146    #[serde(skip_serializing_if = "Option::is_none")]
2147    pub requested: Option<bool>,
2148}
2149
2150#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2151pub struct CreateAccountCapabilitiesP24Payments {
2152    /// Passing true requests the capability for the account, if it is not already requested.
2153    ///
2154    /// A requested capability may not immediately become active.
2155    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2156    #[serde(skip_serializing_if = "Option::is_none")]
2157    pub requested: Option<bool>,
2158}
2159
2160#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2161pub struct CreateAccountCapabilitiesPaynowPayments {
2162    /// Passing true requests the capability for the account, if it is not already requested.
2163    ///
2164    /// A requested capability may not immediately become active.
2165    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2166    #[serde(skip_serializing_if = "Option::is_none")]
2167    pub requested: Option<bool>,
2168}
2169
2170#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2171pub struct CreateAccountCapabilitiesPromptpayPayments {
2172    /// Passing true requests the capability for the account, if it is not already requested.
2173    ///
2174    /// A requested capability may not immediately become active.
2175    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2176    #[serde(skip_serializing_if = "Option::is_none")]
2177    pub requested: Option<bool>,
2178}
2179
2180#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2181pub struct CreateAccountCapabilitiesRevolutPayPayments {
2182    /// Passing true requests the capability for the account, if it is not already requested.
2183    ///
2184    /// A requested capability may not immediately become active.
2185    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2186    #[serde(skip_serializing_if = "Option::is_none")]
2187    pub requested: Option<bool>,
2188}
2189
2190#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2191pub struct CreateAccountCapabilitiesSepaDebitPayments {
2192    /// Passing true requests the capability for the account, if it is not already requested.
2193    ///
2194    /// A requested capability may not immediately become active.
2195    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2196    #[serde(skip_serializing_if = "Option::is_none")]
2197    pub requested: Option<bool>,
2198}
2199
2200#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2201pub struct CreateAccountCapabilitiesSofortPayments {
2202    /// Passing true requests the capability for the account, if it is not already requested.
2203    ///
2204    /// A requested capability may not immediately become active.
2205    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2206    #[serde(skip_serializing_if = "Option::is_none")]
2207    pub requested: Option<bool>,
2208}
2209
2210#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2211pub struct CreateAccountCapabilitiesSwishPayments {
2212    /// Passing true requests the capability for the account, if it is not already requested.
2213    ///
2214    /// A requested capability may not immediately become active.
2215    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2216    #[serde(skip_serializing_if = "Option::is_none")]
2217    pub requested: Option<bool>,
2218}
2219
2220#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2221pub struct CreateAccountCapabilitiesTaxReportingUs1099K {
2222    /// Passing true requests the capability for the account, if it is not already requested.
2223    ///
2224    /// A requested capability may not immediately become active.
2225    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2226    #[serde(skip_serializing_if = "Option::is_none")]
2227    pub requested: Option<bool>,
2228}
2229
2230#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2231pub struct CreateAccountCapabilitiesTaxReportingUs1099Misc {
2232    /// Passing true requests the capability for the account, if it is not already requested.
2233    ///
2234    /// A requested capability may not immediately become active.
2235    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2236    #[serde(skip_serializing_if = "Option::is_none")]
2237    pub requested: Option<bool>,
2238}
2239
2240#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2241pub struct CreateAccountCapabilitiesTransfers {
2242    /// Passing true requests the capability for the account, if it is not already requested.
2243    ///
2244    /// A requested capability may not immediately become active.
2245    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2246    #[serde(skip_serializing_if = "Option::is_none")]
2247    pub requested: Option<bool>,
2248}
2249
2250#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2251pub struct CreateAccountCapabilitiesTreasury {
2252    /// Passing true requests the capability for the account, if it is not already requested.
2253    ///
2254    /// A requested capability may not immediately become active.
2255    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2256    #[serde(skip_serializing_if = "Option::is_none")]
2257    pub requested: Option<bool>,
2258}
2259
2260#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2261pub struct CreateAccountCapabilitiesUsBankAccountAchPayments {
2262    /// Passing true requests the capability for the account, if it is not already requested.
2263    ///
2264    /// A requested capability may not immediately become active.
2265    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2266    #[serde(skip_serializing_if = "Option::is_none")]
2267    pub requested: Option<bool>,
2268}
2269
2270#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2271pub struct CreateAccountCapabilitiesZipPayments {
2272    /// Passing true requests the capability for the account, if it is not already requested.
2273    ///
2274    /// A requested capability may not immediately become active.
2275    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2276    #[serde(skip_serializing_if = "Option::is_none")]
2277    pub requested: Option<bool>,
2278}
2279
2280#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2281pub struct CreateAccountDocumentsBankAccountOwnershipVerification {
2282    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2283    #[serde(skip_serializing_if = "Option::is_none")]
2284    pub files: Option<Vec<String>>,
2285}
2286
2287#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2288pub struct CreateAccountDocumentsCompanyLicense {
2289    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2290    #[serde(skip_serializing_if = "Option::is_none")]
2291    pub files: Option<Vec<String>>,
2292}
2293
2294#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2295pub struct CreateAccountDocumentsCompanyMemorandumOfAssociation {
2296    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2297    #[serde(skip_serializing_if = "Option::is_none")]
2298    pub files: Option<Vec<String>>,
2299}
2300
2301#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2302pub struct CreateAccountDocumentsCompanyMinisterialDecree {
2303    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2304    #[serde(skip_serializing_if = "Option::is_none")]
2305    pub files: Option<Vec<String>>,
2306}
2307
2308#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2309pub struct CreateAccountDocumentsCompanyRegistrationVerification {
2310    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2311    #[serde(skip_serializing_if = "Option::is_none")]
2312    pub files: Option<Vec<String>>,
2313}
2314
2315#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2316pub struct CreateAccountDocumentsCompanyTaxIdVerification {
2317    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2318    #[serde(skip_serializing_if = "Option::is_none")]
2319    pub files: Option<Vec<String>>,
2320}
2321
2322#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2323pub struct CreateAccountDocumentsProofOfRegistration {
2324    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2325    #[serde(skip_serializing_if = "Option::is_none")]
2326    pub files: Option<Vec<String>>,
2327}
2328
2329#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2330pub struct PaymentsSettingsParams {
2331    /// The default text that appears on credit card statements when a charge is made.
2332    ///
2333    /// This field prefixes any dynamic `statement_descriptor` specified on the charge.
2334    #[serde(skip_serializing_if = "Option::is_none")]
2335    pub statement_descriptor: Option<String>,
2336
2337    /// The Kana variation of the default text that appears on credit card statements when a charge is made (Japan only).
2338    #[serde(skip_serializing_if = "Option::is_none")]
2339    pub statement_descriptor_kana: Option<String>,
2340
2341    /// The Kanji variation of the default text that appears on credit card statements when a charge is made (Japan only).
2342    #[serde(skip_serializing_if = "Option::is_none")]
2343    pub statement_descriptor_kanji: Option<String>,
2344}
2345
2346#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2347pub struct PayoutSettingsParams {
2348    /// A Boolean indicating whether Stripe should try to reclaim negative balances from an attached bank account.
2349    ///
2350    /// For details, see [Understanding Connect Account Balances](https://stripe.com/docs/connect/account-balances).
2351    #[serde(skip_serializing_if = "Option::is_none")]
2352    pub debit_negative_balances: Option<bool>,
2353
2354    /// Details on when funds from charges are available, and when they are paid out to an external account.
2355    ///
2356    /// For details, see our [Setting Bank and Debit Card Payouts](https://stripe.com/docs/connect/bank-transfers#payout-information) documentation.
2357    #[serde(skip_serializing_if = "Option::is_none")]
2358    pub schedule: Option<TransferScheduleParams>,
2359
2360    /// The text that appears on the bank account statement for payouts.
2361    ///
2362    /// If not set, this defaults to the platform's bank descriptor as set in the Dashboard.
2363    #[serde(skip_serializing_if = "Option::is_none")]
2364    pub statement_descriptor: Option<String>,
2365}
2366
2367#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2368pub struct PersonParamsDob {
2369    /// The day of birth, between 1 and 31.
2370    pub day: i64,
2371
2372    /// The month of birth, between 1 and 12.
2373    pub month: i64,
2374
2375    /// The four-digit year of birth.
2376    pub year: i64,
2377}
2378
2379#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2380pub struct PersonParamsRegisteredAddress {
2381    /// City, district, suburb, town, or village.
2382    #[serde(skip_serializing_if = "Option::is_none")]
2383    pub city: Option<String>,
2384
2385    /// Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2386    #[serde(skip_serializing_if = "Option::is_none")]
2387    pub country: Option<String>,
2388
2389    /// Address line 1 (e.g., street, PO Box, or company name).
2390    #[serde(skip_serializing_if = "Option::is_none")]
2391    pub line1: Option<String>,
2392
2393    /// Address line 2 (e.g., apartment, suite, unit, or building).
2394    #[serde(skip_serializing_if = "Option::is_none")]
2395    pub line2: Option<String>,
2396
2397    /// ZIP or postal code.
2398    #[serde(skip_serializing_if = "Option::is_none")]
2399    pub postal_code: Option<String>,
2400
2401    /// State, county, province, or region.
2402    #[serde(skip_serializing_if = "Option::is_none")]
2403    pub state: Option<String>,
2404}
2405
2406#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2407pub struct PersonParamsRelationship {
2408    /// Whether the person is a director of the account's legal entity.
2409    ///
2410    /// Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations.
2411    #[serde(skip_serializing_if = "Option::is_none")]
2412    pub director: Option<bool>,
2413
2414    /// Whether the person has significant responsibility to control, manage, or direct the organization.
2415    #[serde(skip_serializing_if = "Option::is_none")]
2416    pub executive: Option<bool>,
2417
2418    /// Whether the person is an owner of the account’s legal entity.
2419    #[serde(skip_serializing_if = "Option::is_none")]
2420    pub owner: Option<bool>,
2421
2422    /// The percent owned by the person of the account's legal entity.
2423    #[serde(skip_serializing_if = "Option::is_none")]
2424    pub percent_ownership: Option<f64>,
2425
2426    /// The person's title (e.g., CEO, Support Engineer).
2427    #[serde(skip_serializing_if = "Option::is_none")]
2428    pub title: Option<String>,
2429}
2430
2431#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2432pub struct UpdateAccountCapabilitiesAcssDebitPayments {
2433    /// Passing true requests the capability for the account, if it is not already requested.
2434    ///
2435    /// A requested capability may not immediately become active.
2436    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2437    #[serde(skip_serializing_if = "Option::is_none")]
2438    pub requested: Option<bool>,
2439}
2440
2441#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2442pub struct UpdateAccountCapabilitiesAffirmPayments {
2443    /// Passing true requests the capability for the account, if it is not already requested.
2444    ///
2445    /// A requested capability may not immediately become active.
2446    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2447    #[serde(skip_serializing_if = "Option::is_none")]
2448    pub requested: Option<bool>,
2449}
2450
2451#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2452pub struct UpdateAccountCapabilitiesAfterpayClearpayPayments {
2453    /// Passing true requests the capability for the account, if it is not already requested.
2454    ///
2455    /// A requested capability may not immediately become active.
2456    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2457    #[serde(skip_serializing_if = "Option::is_none")]
2458    pub requested: Option<bool>,
2459}
2460
2461#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2462pub struct UpdateAccountCapabilitiesAuBecsDebitPayments {
2463    /// Passing true requests the capability for the account, if it is not already requested.
2464    ///
2465    /// A requested capability may not immediately become active.
2466    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2467    #[serde(skip_serializing_if = "Option::is_none")]
2468    pub requested: Option<bool>,
2469}
2470
2471#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2472pub struct UpdateAccountCapabilitiesBacsDebitPayments {
2473    /// Passing true requests the capability for the account, if it is not already requested.
2474    ///
2475    /// A requested capability may not immediately become active.
2476    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2477    #[serde(skip_serializing_if = "Option::is_none")]
2478    pub requested: Option<bool>,
2479}
2480
2481#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2482pub struct UpdateAccountCapabilitiesBancontactPayments {
2483    /// Passing true requests the capability for the account, if it is not already requested.
2484    ///
2485    /// A requested capability may not immediately become active.
2486    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2487    #[serde(skip_serializing_if = "Option::is_none")]
2488    pub requested: Option<bool>,
2489}
2490
2491#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2492pub struct UpdateAccountCapabilitiesBankTransferPayments {
2493    /// Passing true requests the capability for the account, if it is not already requested.
2494    ///
2495    /// A requested capability may not immediately become active.
2496    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2497    #[serde(skip_serializing_if = "Option::is_none")]
2498    pub requested: Option<bool>,
2499}
2500
2501#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2502pub struct UpdateAccountCapabilitiesBlikPayments {
2503    /// Passing true requests the capability for the account, if it is not already requested.
2504    ///
2505    /// A requested capability may not immediately become active.
2506    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2507    #[serde(skip_serializing_if = "Option::is_none")]
2508    pub requested: Option<bool>,
2509}
2510
2511#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2512pub struct UpdateAccountCapabilitiesBoletoPayments {
2513    /// Passing true requests the capability for the account, if it is not already requested.
2514    ///
2515    /// A requested capability may not immediately become active.
2516    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2517    #[serde(skip_serializing_if = "Option::is_none")]
2518    pub requested: Option<bool>,
2519}
2520
2521#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2522pub struct UpdateAccountCapabilitiesCardIssuing {
2523    /// Passing true requests the capability for the account, if it is not already requested.
2524    ///
2525    /// A requested capability may not immediately become active.
2526    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2527    #[serde(skip_serializing_if = "Option::is_none")]
2528    pub requested: Option<bool>,
2529}
2530
2531#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2532pub struct UpdateAccountCapabilitiesCardPayments {
2533    /// Passing true requests the capability for the account, if it is not already requested.
2534    ///
2535    /// A requested capability may not immediately become active.
2536    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2537    #[serde(skip_serializing_if = "Option::is_none")]
2538    pub requested: Option<bool>,
2539}
2540
2541#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2542pub struct UpdateAccountCapabilitiesCartesBancairesPayments {
2543    /// Passing true requests the capability for the account, if it is not already requested.
2544    ///
2545    /// A requested capability may not immediately become active.
2546    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2547    #[serde(skip_serializing_if = "Option::is_none")]
2548    pub requested: Option<bool>,
2549}
2550
2551#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2552pub struct UpdateAccountCapabilitiesCashappPayments {
2553    /// Passing true requests the capability for the account, if it is not already requested.
2554    ///
2555    /// A requested capability may not immediately become active.
2556    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2557    #[serde(skip_serializing_if = "Option::is_none")]
2558    pub requested: Option<bool>,
2559}
2560
2561#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2562pub struct UpdateAccountCapabilitiesEpsPayments {
2563    /// Passing true requests the capability for the account, if it is not already requested.
2564    ///
2565    /// A requested capability may not immediately become active.
2566    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2567    #[serde(skip_serializing_if = "Option::is_none")]
2568    pub requested: Option<bool>,
2569}
2570
2571#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2572pub struct UpdateAccountCapabilitiesFpxPayments {
2573    /// Passing true requests the capability for the account, if it is not already requested.
2574    ///
2575    /// A requested capability may not immediately become active.
2576    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2577    #[serde(skip_serializing_if = "Option::is_none")]
2578    pub requested: Option<bool>,
2579}
2580
2581#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2582pub struct UpdateAccountCapabilitiesGiropayPayments {
2583    /// Passing true requests the capability for the account, if it is not already requested.
2584    ///
2585    /// A requested capability may not immediately become active.
2586    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2587    #[serde(skip_serializing_if = "Option::is_none")]
2588    pub requested: Option<bool>,
2589}
2590
2591#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2592pub struct UpdateAccountCapabilitiesGrabpayPayments {
2593    /// Passing true requests the capability for the account, if it is not already requested.
2594    ///
2595    /// A requested capability may not immediately become active.
2596    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2597    #[serde(skip_serializing_if = "Option::is_none")]
2598    pub requested: Option<bool>,
2599}
2600
2601#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2602pub struct UpdateAccountCapabilitiesIdealPayments {
2603    /// Passing true requests the capability for the account, if it is not already requested.
2604    ///
2605    /// A requested capability may not immediately become active.
2606    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2607    #[serde(skip_serializing_if = "Option::is_none")]
2608    pub requested: Option<bool>,
2609}
2610
2611#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2612pub struct UpdateAccountCapabilitiesIndiaInternationalPayments {
2613    /// Passing true requests the capability for the account, if it is not already requested.
2614    ///
2615    /// A requested capability may not immediately become active.
2616    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2617    #[serde(skip_serializing_if = "Option::is_none")]
2618    pub requested: Option<bool>,
2619}
2620
2621#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2622pub struct UpdateAccountCapabilitiesJcbPayments {
2623    /// Passing true requests the capability for the account, if it is not already requested.
2624    ///
2625    /// A requested capability may not immediately become active.
2626    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2627    #[serde(skip_serializing_if = "Option::is_none")]
2628    pub requested: Option<bool>,
2629}
2630
2631#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2632pub struct UpdateAccountCapabilitiesKlarnaPayments {
2633    /// Passing true requests the capability for the account, if it is not already requested.
2634    ///
2635    /// A requested capability may not immediately become active.
2636    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2637    #[serde(skip_serializing_if = "Option::is_none")]
2638    pub requested: Option<bool>,
2639}
2640
2641#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2642pub struct UpdateAccountCapabilitiesKonbiniPayments {
2643    /// Passing true requests the capability for the account, if it is not already requested.
2644    ///
2645    /// A requested capability may not immediately become active.
2646    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2647    #[serde(skip_serializing_if = "Option::is_none")]
2648    pub requested: Option<bool>,
2649}
2650
2651#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2652pub struct UpdateAccountCapabilitiesLegacyPayments {
2653    /// Passing true requests the capability for the account, if it is not already requested.
2654    ///
2655    /// A requested capability may not immediately become active.
2656    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2657    #[serde(skip_serializing_if = "Option::is_none")]
2658    pub requested: Option<bool>,
2659}
2660
2661#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2662pub struct UpdateAccountCapabilitiesLinkPayments {
2663    /// Passing true requests the capability for the account, if it is not already requested.
2664    ///
2665    /// A requested capability may not immediately become active.
2666    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2667    #[serde(skip_serializing_if = "Option::is_none")]
2668    pub requested: Option<bool>,
2669}
2670
2671#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2672pub struct UpdateAccountCapabilitiesOxxoPayments {
2673    /// Passing true requests the capability for the account, if it is not already requested.
2674    ///
2675    /// A requested capability may not immediately become active.
2676    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2677    #[serde(skip_serializing_if = "Option::is_none")]
2678    pub requested: Option<bool>,
2679}
2680
2681#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2682pub struct UpdateAccountCapabilitiesP24Payments {
2683    /// Passing true requests the capability for the account, if it is not already requested.
2684    ///
2685    /// A requested capability may not immediately become active.
2686    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2687    #[serde(skip_serializing_if = "Option::is_none")]
2688    pub requested: Option<bool>,
2689}
2690
2691#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2692pub struct UpdateAccountCapabilitiesPaynowPayments {
2693    /// Passing true requests the capability for the account, if it is not already requested.
2694    ///
2695    /// A requested capability may not immediately become active.
2696    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2697    #[serde(skip_serializing_if = "Option::is_none")]
2698    pub requested: Option<bool>,
2699}
2700
2701#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2702pub struct UpdateAccountCapabilitiesPromptpayPayments {
2703    /// Passing true requests the capability for the account, if it is not already requested.
2704    ///
2705    /// A requested capability may not immediately become active.
2706    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2707    #[serde(skip_serializing_if = "Option::is_none")]
2708    pub requested: Option<bool>,
2709}
2710
2711#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2712pub struct UpdateAccountCapabilitiesRevolutPayPayments {
2713    /// Passing true requests the capability for the account, if it is not already requested.
2714    ///
2715    /// A requested capability may not immediately become active.
2716    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2717    #[serde(skip_serializing_if = "Option::is_none")]
2718    pub requested: Option<bool>,
2719}
2720
2721#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2722pub struct UpdateAccountCapabilitiesSepaDebitPayments {
2723    /// Passing true requests the capability for the account, if it is not already requested.
2724    ///
2725    /// A requested capability may not immediately become active.
2726    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2727    #[serde(skip_serializing_if = "Option::is_none")]
2728    pub requested: Option<bool>,
2729}
2730
2731#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2732pub struct UpdateAccountCapabilitiesSofortPayments {
2733    /// Passing true requests the capability for the account, if it is not already requested.
2734    ///
2735    /// A requested capability may not immediately become active.
2736    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2737    #[serde(skip_serializing_if = "Option::is_none")]
2738    pub requested: Option<bool>,
2739}
2740
2741#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2742pub struct UpdateAccountCapabilitiesSwishPayments {
2743    /// Passing true requests the capability for the account, if it is not already requested.
2744    ///
2745    /// A requested capability may not immediately become active.
2746    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2747    #[serde(skip_serializing_if = "Option::is_none")]
2748    pub requested: Option<bool>,
2749}
2750
2751#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2752pub struct UpdateAccountCapabilitiesTaxReportingUs1099K {
2753    /// Passing true requests the capability for the account, if it is not already requested.
2754    ///
2755    /// A requested capability may not immediately become active.
2756    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2757    #[serde(skip_serializing_if = "Option::is_none")]
2758    pub requested: Option<bool>,
2759}
2760
2761#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2762pub struct UpdateAccountCapabilitiesTaxReportingUs1099Misc {
2763    /// Passing true requests the capability for the account, if it is not already requested.
2764    ///
2765    /// A requested capability may not immediately become active.
2766    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2767    #[serde(skip_serializing_if = "Option::is_none")]
2768    pub requested: Option<bool>,
2769}
2770
2771#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2772pub struct UpdateAccountCapabilitiesTransfers {
2773    /// Passing true requests the capability for the account, if it is not already requested.
2774    ///
2775    /// A requested capability may not immediately become active.
2776    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2777    #[serde(skip_serializing_if = "Option::is_none")]
2778    pub requested: Option<bool>,
2779}
2780
2781#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2782pub struct UpdateAccountCapabilitiesTreasury {
2783    /// Passing true requests the capability for the account, if it is not already requested.
2784    ///
2785    /// A requested capability may not immediately become active.
2786    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2787    #[serde(skip_serializing_if = "Option::is_none")]
2788    pub requested: Option<bool>,
2789}
2790
2791#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2792pub struct UpdateAccountCapabilitiesUsBankAccountAchPayments {
2793    /// Passing true requests the capability for the account, if it is not already requested.
2794    ///
2795    /// A requested capability may not immediately become active.
2796    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2797    #[serde(skip_serializing_if = "Option::is_none")]
2798    pub requested: Option<bool>,
2799}
2800
2801#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2802pub struct UpdateAccountCapabilitiesZipPayments {
2803    /// Passing true requests the capability for the account, if it is not already requested.
2804    ///
2805    /// A requested capability may not immediately become active.
2806    /// Any requirements to activate the capability are returned in the `requirements` arrays.
2807    #[serde(skip_serializing_if = "Option::is_none")]
2808    pub requested: Option<bool>,
2809}
2810
2811#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2812pub struct UpdateAccountDocumentsBankAccountOwnershipVerification {
2813    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2814    #[serde(skip_serializing_if = "Option::is_none")]
2815    pub files: Option<Vec<String>>,
2816}
2817
2818#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2819pub struct UpdateAccountDocumentsCompanyLicense {
2820    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2821    #[serde(skip_serializing_if = "Option::is_none")]
2822    pub files: Option<Vec<String>>,
2823}
2824
2825#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2826pub struct UpdateAccountDocumentsCompanyMemorandumOfAssociation {
2827    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2828    #[serde(skip_serializing_if = "Option::is_none")]
2829    pub files: Option<Vec<String>>,
2830}
2831
2832#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2833pub struct UpdateAccountDocumentsCompanyMinisterialDecree {
2834    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2835    #[serde(skip_serializing_if = "Option::is_none")]
2836    pub files: Option<Vec<String>>,
2837}
2838
2839#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2840pub struct UpdateAccountDocumentsCompanyRegistrationVerification {
2841    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2842    #[serde(skip_serializing_if = "Option::is_none")]
2843    pub files: Option<Vec<String>>,
2844}
2845
2846#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2847pub struct UpdateAccountDocumentsCompanyTaxIdVerification {
2848    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2849    #[serde(skip_serializing_if = "Option::is_none")]
2850    pub files: Option<Vec<String>>,
2851}
2852
2853#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2854pub struct UpdateAccountDocumentsProofOfRegistration {
2855    /// One or more document ids returned by a [file upload](https://stripe.com/docs/api#create_file) with a `purpose` value of `account_requirement`.
2856    #[serde(skip_serializing_if = "Option::is_none")]
2857    pub files: Option<Vec<String>>,
2858}
2859
2860#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2861pub struct AccountSettingsParamsCardIssuingTosAcceptance {
2862    /// The Unix timestamp marking when the account representative accepted the service agreement.
2863    #[serde(skip_serializing_if = "Option::is_none")]
2864    pub date: Option<Timestamp>,
2865
2866    /// The IP address from which the account representative accepted the service agreement.
2867    #[serde(skip_serializing_if = "Option::is_none")]
2868    pub ip: Option<String>,
2869
2870    /// The user agent of the browser from which the account representative accepted the service agreement.
2871    #[serde(skip_serializing_if = "Option::is_none")]
2872    pub user_agent: Option<String>,
2873}
2874
2875#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2876pub struct AccountSettingsParamsTreasuryTosAcceptance {
2877    /// The Unix timestamp marking when the account representative accepted the service agreement.
2878    #[serde(skip_serializing_if = "Option::is_none")]
2879    pub date: Option<Timestamp>,
2880
2881    /// The IP address from which the account representative accepted the service agreement.
2882    #[serde(skip_serializing_if = "Option::is_none")]
2883    pub ip: Option<String>,
2884
2885    /// The user agent of the browser from which the account representative accepted the service agreement.
2886    #[serde(skip_serializing_if = "Option::is_none")]
2887    pub user_agent: Option<String>,
2888}
2889
2890#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2891pub struct DeclineChargeOnParams {
2892    /// Whether Stripe automatically declines charges with an incorrect ZIP or postal code.
2893    ///
2894    /// This setting only applies when a ZIP or postal code is provided and they fail bank verification.
2895    #[serde(skip_serializing_if = "Option::is_none")]
2896    pub avs_failure: Option<bool>,
2897
2898    /// Whether Stripe automatically declines charges with an incorrect CVC.
2899    ///
2900    /// This setting only applies when a CVC is provided and it fails bank verification.
2901    #[serde(skip_serializing_if = "Option::is_none")]
2902    pub cvc_failure: Option<bool>,
2903}
2904
2905#[derive(Clone, Debug, Default, Deserialize, Serialize)]
2906pub struct TransferScheduleParams {
2907    /// The number of days charge funds are held before being paid out.
2908    ///
2909    /// May also be set to `minimum`, representing the lowest available value for the account country.
2910    /// Default is `minimum`.
2911    /// The `delay_days` parameter remains at the last configured value if `interval` is `manual`.
2912    /// [Learn more about controlling payout delay days](https://stripe.com/docs/connect/manage-payout-schedule).
2913    #[serde(skip_serializing_if = "Option::is_none")]
2914    pub delay_days: Option<DelayDays>,
2915
2916    /// How frequently available funds are paid out.
2917    ///
2918    /// One of: `daily`, `manual`, `weekly`, or `monthly`.
2919    /// Default is `daily`.
2920    #[serde(skip_serializing_if = "Option::is_none")]
2921    pub interval: Option<TransferScheduleInterval>,
2922
2923    /// The day of the month when available funds are paid out, specified as a number between 1--31.
2924    ///
2925    /// Payouts nominally scheduled between the 29th and 31st of the month are instead sent on the last day of a shorter month.
2926    /// Required and applicable only if `interval` is `monthly`.
2927    #[serde(skip_serializing_if = "Option::is_none")]
2928    pub monthly_anchor: Option<u8>,
2929
2930    /// The day of the week when available funds are paid out, specified as `monday`, `tuesday`, etc.
2931    ///
2932    /// (required and applicable only if `interval` is `weekly`.).
2933    #[serde(skip_serializing_if = "Option::is_none")]
2934    pub weekly_anchor: Option<TransferScheduleParamsWeeklyAnchor>,
2935}
2936
2937/// An enum representing the possible values of an `Account`'s `business_type` field.
2938#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
2939#[serde(rename_all = "snake_case")]
2940pub enum AccountBusinessType {
2941    Company,
2942    GovernmentEntity,
2943    Individual,
2944    NonProfit,
2945}
2946
2947impl AccountBusinessType {
2948    pub fn as_str(self) -> &'static str {
2949        match self {
2950            AccountBusinessType::Company => "company",
2951            AccountBusinessType::GovernmentEntity => "government_entity",
2952            AccountBusinessType::Individual => "individual",
2953            AccountBusinessType::NonProfit => "non_profit",
2954        }
2955    }
2956}
2957
2958impl AsRef<str> for AccountBusinessType {
2959    fn as_ref(&self) -> &str {
2960        self.as_str()
2961    }
2962}
2963
2964impl std::fmt::Display for AccountBusinessType {
2965    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
2966        self.as_str().fmt(f)
2967    }
2968}
2969impl std::default::Default for AccountBusinessType {
2970    fn default() -> Self {
2971        Self::Company
2972    }
2973}
2974
2975/// An enum representing the possible values of an `AccountCapabilities`'s `acss_debit_payments` field.
2976#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
2977#[serde(rename_all = "snake_case")]
2978pub enum AccountCapabilitiesAcssDebitPayments {
2979    Active,
2980    Inactive,
2981    Pending,
2982}
2983
2984impl AccountCapabilitiesAcssDebitPayments {
2985    pub fn as_str(self) -> &'static str {
2986        match self {
2987            AccountCapabilitiesAcssDebitPayments::Active => "active",
2988            AccountCapabilitiesAcssDebitPayments::Inactive => "inactive",
2989            AccountCapabilitiesAcssDebitPayments::Pending => "pending",
2990        }
2991    }
2992}
2993
2994impl AsRef<str> for AccountCapabilitiesAcssDebitPayments {
2995    fn as_ref(&self) -> &str {
2996        self.as_str()
2997    }
2998}
2999
3000impl std::fmt::Display for AccountCapabilitiesAcssDebitPayments {
3001    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3002        self.as_str().fmt(f)
3003    }
3004}
3005impl std::default::Default for AccountCapabilitiesAcssDebitPayments {
3006    fn default() -> Self {
3007        Self::Active
3008    }
3009}
3010
3011/// An enum representing the possible values of an `AccountCapabilities`'s `affirm_payments` field.
3012#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3013#[serde(rename_all = "snake_case")]
3014pub enum AccountCapabilitiesAffirmPayments {
3015    Active,
3016    Inactive,
3017    Pending,
3018}
3019
3020impl AccountCapabilitiesAffirmPayments {
3021    pub fn as_str(self) -> &'static str {
3022        match self {
3023            AccountCapabilitiesAffirmPayments::Active => "active",
3024            AccountCapabilitiesAffirmPayments::Inactive => "inactive",
3025            AccountCapabilitiesAffirmPayments::Pending => "pending",
3026        }
3027    }
3028}
3029
3030impl AsRef<str> for AccountCapabilitiesAffirmPayments {
3031    fn as_ref(&self) -> &str {
3032        self.as_str()
3033    }
3034}
3035
3036impl std::fmt::Display for AccountCapabilitiesAffirmPayments {
3037    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3038        self.as_str().fmt(f)
3039    }
3040}
3041impl std::default::Default for AccountCapabilitiesAffirmPayments {
3042    fn default() -> Self {
3043        Self::Active
3044    }
3045}
3046
3047/// An enum representing the possible values of an `AccountCapabilities`'s `afterpay_clearpay_payments` field.
3048#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3049#[serde(rename_all = "snake_case")]
3050pub enum AccountCapabilitiesAfterpayClearpayPayments {
3051    Active,
3052    Inactive,
3053    Pending,
3054}
3055
3056impl AccountCapabilitiesAfterpayClearpayPayments {
3057    pub fn as_str(self) -> &'static str {
3058        match self {
3059            AccountCapabilitiesAfterpayClearpayPayments::Active => "active",
3060            AccountCapabilitiesAfterpayClearpayPayments::Inactive => "inactive",
3061            AccountCapabilitiesAfterpayClearpayPayments::Pending => "pending",
3062        }
3063    }
3064}
3065
3066impl AsRef<str> for AccountCapabilitiesAfterpayClearpayPayments {
3067    fn as_ref(&self) -> &str {
3068        self.as_str()
3069    }
3070}
3071
3072impl std::fmt::Display for AccountCapabilitiesAfterpayClearpayPayments {
3073    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3074        self.as_str().fmt(f)
3075    }
3076}
3077impl std::default::Default for AccountCapabilitiesAfterpayClearpayPayments {
3078    fn default() -> Self {
3079        Self::Active
3080    }
3081}
3082
3083/// An enum representing the possible values of an `AccountCapabilities`'s `bacs_debit_payments` field.
3084#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3085#[serde(rename_all = "snake_case")]
3086pub enum AccountCapabilitiesBacsDebitPayments {
3087    Active,
3088    Inactive,
3089    Pending,
3090}
3091
3092impl AccountCapabilitiesBacsDebitPayments {
3093    pub fn as_str(self) -> &'static str {
3094        match self {
3095            AccountCapabilitiesBacsDebitPayments::Active => "active",
3096            AccountCapabilitiesBacsDebitPayments::Inactive => "inactive",
3097            AccountCapabilitiesBacsDebitPayments::Pending => "pending",
3098        }
3099    }
3100}
3101
3102impl AsRef<str> for AccountCapabilitiesBacsDebitPayments {
3103    fn as_ref(&self) -> &str {
3104        self.as_str()
3105    }
3106}
3107
3108impl std::fmt::Display for AccountCapabilitiesBacsDebitPayments {
3109    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3110        self.as_str().fmt(f)
3111    }
3112}
3113impl std::default::Default for AccountCapabilitiesBacsDebitPayments {
3114    fn default() -> Self {
3115        Self::Active
3116    }
3117}
3118
3119/// An enum representing the possible values of an `AccountCapabilities`'s `bancontact_payments` field.
3120#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3121#[serde(rename_all = "snake_case")]
3122pub enum AccountCapabilitiesBancontactPayments {
3123    Active,
3124    Inactive,
3125    Pending,
3126}
3127
3128impl AccountCapabilitiesBancontactPayments {
3129    pub fn as_str(self) -> &'static str {
3130        match self {
3131            AccountCapabilitiesBancontactPayments::Active => "active",
3132            AccountCapabilitiesBancontactPayments::Inactive => "inactive",
3133            AccountCapabilitiesBancontactPayments::Pending => "pending",
3134        }
3135    }
3136}
3137
3138impl AsRef<str> for AccountCapabilitiesBancontactPayments {
3139    fn as_ref(&self) -> &str {
3140        self.as_str()
3141    }
3142}
3143
3144impl std::fmt::Display for AccountCapabilitiesBancontactPayments {
3145    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3146        self.as_str().fmt(f)
3147    }
3148}
3149impl std::default::Default for AccountCapabilitiesBancontactPayments {
3150    fn default() -> Self {
3151        Self::Active
3152    }
3153}
3154
3155/// An enum representing the possible values of an `AccountCapabilities`'s `bank_transfer_payments` field.
3156#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3157#[serde(rename_all = "snake_case")]
3158pub enum AccountCapabilitiesBankTransferPayments {
3159    Active,
3160    Inactive,
3161    Pending,
3162}
3163
3164impl AccountCapabilitiesBankTransferPayments {
3165    pub fn as_str(self) -> &'static str {
3166        match self {
3167            AccountCapabilitiesBankTransferPayments::Active => "active",
3168            AccountCapabilitiesBankTransferPayments::Inactive => "inactive",
3169            AccountCapabilitiesBankTransferPayments::Pending => "pending",
3170        }
3171    }
3172}
3173
3174impl AsRef<str> for AccountCapabilitiesBankTransferPayments {
3175    fn as_ref(&self) -> &str {
3176        self.as_str()
3177    }
3178}
3179
3180impl std::fmt::Display for AccountCapabilitiesBankTransferPayments {
3181    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3182        self.as_str().fmt(f)
3183    }
3184}
3185impl std::default::Default for AccountCapabilitiesBankTransferPayments {
3186    fn default() -> Self {
3187        Self::Active
3188    }
3189}
3190
3191/// An enum representing the possible values of an `AccountCapabilities`'s `blik_payments` field.
3192#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3193#[serde(rename_all = "snake_case")]
3194pub enum AccountCapabilitiesBlikPayments {
3195    Active,
3196    Inactive,
3197    Pending,
3198}
3199
3200impl AccountCapabilitiesBlikPayments {
3201    pub fn as_str(self) -> &'static str {
3202        match self {
3203            AccountCapabilitiesBlikPayments::Active => "active",
3204            AccountCapabilitiesBlikPayments::Inactive => "inactive",
3205            AccountCapabilitiesBlikPayments::Pending => "pending",
3206        }
3207    }
3208}
3209
3210impl AsRef<str> for AccountCapabilitiesBlikPayments {
3211    fn as_ref(&self) -> &str {
3212        self.as_str()
3213    }
3214}
3215
3216impl std::fmt::Display for AccountCapabilitiesBlikPayments {
3217    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3218        self.as_str().fmt(f)
3219    }
3220}
3221impl std::default::Default for AccountCapabilitiesBlikPayments {
3222    fn default() -> Self {
3223        Self::Active
3224    }
3225}
3226
3227/// An enum representing the possible values of an `AccountCapabilities`'s `boleto_payments` field.
3228#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3229#[serde(rename_all = "snake_case")]
3230pub enum AccountCapabilitiesBoletoPayments {
3231    Active,
3232    Inactive,
3233    Pending,
3234}
3235
3236impl AccountCapabilitiesBoletoPayments {
3237    pub fn as_str(self) -> &'static str {
3238        match self {
3239            AccountCapabilitiesBoletoPayments::Active => "active",
3240            AccountCapabilitiesBoletoPayments::Inactive => "inactive",
3241            AccountCapabilitiesBoletoPayments::Pending => "pending",
3242        }
3243    }
3244}
3245
3246impl AsRef<str> for AccountCapabilitiesBoletoPayments {
3247    fn as_ref(&self) -> &str {
3248        self.as_str()
3249    }
3250}
3251
3252impl std::fmt::Display for AccountCapabilitiesBoletoPayments {
3253    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3254        self.as_str().fmt(f)
3255    }
3256}
3257impl std::default::Default for AccountCapabilitiesBoletoPayments {
3258    fn default() -> Self {
3259        Self::Active
3260    }
3261}
3262
3263/// An enum representing the possible values of an `AccountCapabilities`'s `cartes_bancaires_payments` field.
3264#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3265#[serde(rename_all = "snake_case")]
3266pub enum AccountCapabilitiesCartesBancairesPayments {
3267    Active,
3268    Inactive,
3269    Pending,
3270}
3271
3272impl AccountCapabilitiesCartesBancairesPayments {
3273    pub fn as_str(self) -> &'static str {
3274        match self {
3275            AccountCapabilitiesCartesBancairesPayments::Active => "active",
3276            AccountCapabilitiesCartesBancairesPayments::Inactive => "inactive",
3277            AccountCapabilitiesCartesBancairesPayments::Pending => "pending",
3278        }
3279    }
3280}
3281
3282impl AsRef<str> for AccountCapabilitiesCartesBancairesPayments {
3283    fn as_ref(&self) -> &str {
3284        self.as_str()
3285    }
3286}
3287
3288impl std::fmt::Display for AccountCapabilitiesCartesBancairesPayments {
3289    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3290        self.as_str().fmt(f)
3291    }
3292}
3293impl std::default::Default for AccountCapabilitiesCartesBancairesPayments {
3294    fn default() -> Self {
3295        Self::Active
3296    }
3297}
3298
3299/// An enum representing the possible values of an `AccountCapabilities`'s `cashapp_payments` field.
3300#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3301#[serde(rename_all = "snake_case")]
3302pub enum AccountCapabilitiesCashappPayments {
3303    Active,
3304    Inactive,
3305    Pending,
3306}
3307
3308impl AccountCapabilitiesCashappPayments {
3309    pub fn as_str(self) -> &'static str {
3310        match self {
3311            AccountCapabilitiesCashappPayments::Active => "active",
3312            AccountCapabilitiesCashappPayments::Inactive => "inactive",
3313            AccountCapabilitiesCashappPayments::Pending => "pending",
3314        }
3315    }
3316}
3317
3318impl AsRef<str> for AccountCapabilitiesCashappPayments {
3319    fn as_ref(&self) -> &str {
3320        self.as_str()
3321    }
3322}
3323
3324impl std::fmt::Display for AccountCapabilitiesCashappPayments {
3325    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3326        self.as_str().fmt(f)
3327    }
3328}
3329impl std::default::Default for AccountCapabilitiesCashappPayments {
3330    fn default() -> Self {
3331        Self::Active
3332    }
3333}
3334
3335/// An enum representing the possible values of an `AccountCapabilities`'s `eps_payments` field.
3336#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3337#[serde(rename_all = "snake_case")]
3338pub enum AccountCapabilitiesEpsPayments {
3339    Active,
3340    Inactive,
3341    Pending,
3342}
3343
3344impl AccountCapabilitiesEpsPayments {
3345    pub fn as_str(self) -> &'static str {
3346        match self {
3347            AccountCapabilitiesEpsPayments::Active => "active",
3348            AccountCapabilitiesEpsPayments::Inactive => "inactive",
3349            AccountCapabilitiesEpsPayments::Pending => "pending",
3350        }
3351    }
3352}
3353
3354impl AsRef<str> for AccountCapabilitiesEpsPayments {
3355    fn as_ref(&self) -> &str {
3356        self.as_str()
3357    }
3358}
3359
3360impl std::fmt::Display for AccountCapabilitiesEpsPayments {
3361    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3362        self.as_str().fmt(f)
3363    }
3364}
3365impl std::default::Default for AccountCapabilitiesEpsPayments {
3366    fn default() -> Self {
3367        Self::Active
3368    }
3369}
3370
3371/// An enum representing the possible values of an `AccountCapabilities`'s `fpx_payments` field.
3372#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3373#[serde(rename_all = "snake_case")]
3374pub enum AccountCapabilitiesFpxPayments {
3375    Active,
3376    Inactive,
3377    Pending,
3378}
3379
3380impl AccountCapabilitiesFpxPayments {
3381    pub fn as_str(self) -> &'static str {
3382        match self {
3383            AccountCapabilitiesFpxPayments::Active => "active",
3384            AccountCapabilitiesFpxPayments::Inactive => "inactive",
3385            AccountCapabilitiesFpxPayments::Pending => "pending",
3386        }
3387    }
3388}
3389
3390impl AsRef<str> for AccountCapabilitiesFpxPayments {
3391    fn as_ref(&self) -> &str {
3392        self.as_str()
3393    }
3394}
3395
3396impl std::fmt::Display for AccountCapabilitiesFpxPayments {
3397    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3398        self.as_str().fmt(f)
3399    }
3400}
3401impl std::default::Default for AccountCapabilitiesFpxPayments {
3402    fn default() -> Self {
3403        Self::Active
3404    }
3405}
3406
3407/// An enum representing the possible values of an `AccountCapabilities`'s `giropay_payments` field.
3408#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3409#[serde(rename_all = "snake_case")]
3410pub enum AccountCapabilitiesGiropayPayments {
3411    Active,
3412    Inactive,
3413    Pending,
3414}
3415
3416impl AccountCapabilitiesGiropayPayments {
3417    pub fn as_str(self) -> &'static str {
3418        match self {
3419            AccountCapabilitiesGiropayPayments::Active => "active",
3420            AccountCapabilitiesGiropayPayments::Inactive => "inactive",
3421            AccountCapabilitiesGiropayPayments::Pending => "pending",
3422        }
3423    }
3424}
3425
3426impl AsRef<str> for AccountCapabilitiesGiropayPayments {
3427    fn as_ref(&self) -> &str {
3428        self.as_str()
3429    }
3430}
3431
3432impl std::fmt::Display for AccountCapabilitiesGiropayPayments {
3433    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3434        self.as_str().fmt(f)
3435    }
3436}
3437impl std::default::Default for AccountCapabilitiesGiropayPayments {
3438    fn default() -> Self {
3439        Self::Active
3440    }
3441}
3442
3443/// An enum representing the possible values of an `AccountCapabilities`'s `grabpay_payments` field.
3444#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3445#[serde(rename_all = "snake_case")]
3446pub enum AccountCapabilitiesGrabpayPayments {
3447    Active,
3448    Inactive,
3449    Pending,
3450}
3451
3452impl AccountCapabilitiesGrabpayPayments {
3453    pub fn as_str(self) -> &'static str {
3454        match self {
3455            AccountCapabilitiesGrabpayPayments::Active => "active",
3456            AccountCapabilitiesGrabpayPayments::Inactive => "inactive",
3457            AccountCapabilitiesGrabpayPayments::Pending => "pending",
3458        }
3459    }
3460}
3461
3462impl AsRef<str> for AccountCapabilitiesGrabpayPayments {
3463    fn as_ref(&self) -> &str {
3464        self.as_str()
3465    }
3466}
3467
3468impl std::fmt::Display for AccountCapabilitiesGrabpayPayments {
3469    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3470        self.as_str().fmt(f)
3471    }
3472}
3473impl std::default::Default for AccountCapabilitiesGrabpayPayments {
3474    fn default() -> Self {
3475        Self::Active
3476    }
3477}
3478
3479/// An enum representing the possible values of an `AccountCapabilities`'s `ideal_payments` field.
3480#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3481#[serde(rename_all = "snake_case")]
3482pub enum AccountCapabilitiesIdealPayments {
3483    Active,
3484    Inactive,
3485    Pending,
3486}
3487
3488impl AccountCapabilitiesIdealPayments {
3489    pub fn as_str(self) -> &'static str {
3490        match self {
3491            AccountCapabilitiesIdealPayments::Active => "active",
3492            AccountCapabilitiesIdealPayments::Inactive => "inactive",
3493            AccountCapabilitiesIdealPayments::Pending => "pending",
3494        }
3495    }
3496}
3497
3498impl AsRef<str> for AccountCapabilitiesIdealPayments {
3499    fn as_ref(&self) -> &str {
3500        self.as_str()
3501    }
3502}
3503
3504impl std::fmt::Display for AccountCapabilitiesIdealPayments {
3505    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3506        self.as_str().fmt(f)
3507    }
3508}
3509impl std::default::Default for AccountCapabilitiesIdealPayments {
3510    fn default() -> Self {
3511        Self::Active
3512    }
3513}
3514
3515/// An enum representing the possible values of an `AccountCapabilities`'s `india_international_payments` field.
3516#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3517#[serde(rename_all = "snake_case")]
3518pub enum AccountCapabilitiesIndiaInternationalPayments {
3519    Active,
3520    Inactive,
3521    Pending,
3522}
3523
3524impl AccountCapabilitiesIndiaInternationalPayments {
3525    pub fn as_str(self) -> &'static str {
3526        match self {
3527            AccountCapabilitiesIndiaInternationalPayments::Active => "active",
3528            AccountCapabilitiesIndiaInternationalPayments::Inactive => "inactive",
3529            AccountCapabilitiesIndiaInternationalPayments::Pending => "pending",
3530        }
3531    }
3532}
3533
3534impl AsRef<str> for AccountCapabilitiesIndiaInternationalPayments {
3535    fn as_ref(&self) -> &str {
3536        self.as_str()
3537    }
3538}
3539
3540impl std::fmt::Display for AccountCapabilitiesIndiaInternationalPayments {
3541    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3542        self.as_str().fmt(f)
3543    }
3544}
3545impl std::default::Default for AccountCapabilitiesIndiaInternationalPayments {
3546    fn default() -> Self {
3547        Self::Active
3548    }
3549}
3550
3551/// An enum representing the possible values of an `AccountCapabilities`'s `klarna_payments` field.
3552#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3553#[serde(rename_all = "snake_case")]
3554pub enum AccountCapabilitiesKlarnaPayments {
3555    Active,
3556    Inactive,
3557    Pending,
3558}
3559
3560impl AccountCapabilitiesKlarnaPayments {
3561    pub fn as_str(self) -> &'static str {
3562        match self {
3563            AccountCapabilitiesKlarnaPayments::Active => "active",
3564            AccountCapabilitiesKlarnaPayments::Inactive => "inactive",
3565            AccountCapabilitiesKlarnaPayments::Pending => "pending",
3566        }
3567    }
3568}
3569
3570impl AsRef<str> for AccountCapabilitiesKlarnaPayments {
3571    fn as_ref(&self) -> &str {
3572        self.as_str()
3573    }
3574}
3575
3576impl std::fmt::Display for AccountCapabilitiesKlarnaPayments {
3577    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3578        self.as_str().fmt(f)
3579    }
3580}
3581impl std::default::Default for AccountCapabilitiesKlarnaPayments {
3582    fn default() -> Self {
3583        Self::Active
3584    }
3585}
3586
3587/// An enum representing the possible values of an `AccountCapabilities`'s `konbini_payments` field.
3588#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3589#[serde(rename_all = "snake_case")]
3590pub enum AccountCapabilitiesKonbiniPayments {
3591    Active,
3592    Inactive,
3593    Pending,
3594}
3595
3596impl AccountCapabilitiesKonbiniPayments {
3597    pub fn as_str(self) -> &'static str {
3598        match self {
3599            AccountCapabilitiesKonbiniPayments::Active => "active",
3600            AccountCapabilitiesKonbiniPayments::Inactive => "inactive",
3601            AccountCapabilitiesKonbiniPayments::Pending => "pending",
3602        }
3603    }
3604}
3605
3606impl AsRef<str> for AccountCapabilitiesKonbiniPayments {
3607    fn as_ref(&self) -> &str {
3608        self.as_str()
3609    }
3610}
3611
3612impl std::fmt::Display for AccountCapabilitiesKonbiniPayments {
3613    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3614        self.as_str().fmt(f)
3615    }
3616}
3617impl std::default::Default for AccountCapabilitiesKonbiniPayments {
3618    fn default() -> Self {
3619        Self::Active
3620    }
3621}
3622
3623/// An enum representing the possible values of an `AccountCapabilities`'s `link_payments` field.
3624#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3625#[serde(rename_all = "snake_case")]
3626pub enum AccountCapabilitiesLinkPayments {
3627    Active,
3628    Inactive,
3629    Pending,
3630}
3631
3632impl AccountCapabilitiesLinkPayments {
3633    pub fn as_str(self) -> &'static str {
3634        match self {
3635            AccountCapabilitiesLinkPayments::Active => "active",
3636            AccountCapabilitiesLinkPayments::Inactive => "inactive",
3637            AccountCapabilitiesLinkPayments::Pending => "pending",
3638        }
3639    }
3640}
3641
3642impl AsRef<str> for AccountCapabilitiesLinkPayments {
3643    fn as_ref(&self) -> &str {
3644        self.as_str()
3645    }
3646}
3647
3648impl std::fmt::Display for AccountCapabilitiesLinkPayments {
3649    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3650        self.as_str().fmt(f)
3651    }
3652}
3653impl std::default::Default for AccountCapabilitiesLinkPayments {
3654    fn default() -> Self {
3655        Self::Active
3656    }
3657}
3658
3659/// An enum representing the possible values of an `AccountCapabilities`'s `oxxo_payments` field.
3660#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3661#[serde(rename_all = "snake_case")]
3662pub enum AccountCapabilitiesOxxoPayments {
3663    Active,
3664    Inactive,
3665    Pending,
3666}
3667
3668impl AccountCapabilitiesOxxoPayments {
3669    pub fn as_str(self) -> &'static str {
3670        match self {
3671            AccountCapabilitiesOxxoPayments::Active => "active",
3672            AccountCapabilitiesOxxoPayments::Inactive => "inactive",
3673            AccountCapabilitiesOxxoPayments::Pending => "pending",
3674        }
3675    }
3676}
3677
3678impl AsRef<str> for AccountCapabilitiesOxxoPayments {
3679    fn as_ref(&self) -> &str {
3680        self.as_str()
3681    }
3682}
3683
3684impl std::fmt::Display for AccountCapabilitiesOxxoPayments {
3685    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3686        self.as_str().fmt(f)
3687    }
3688}
3689impl std::default::Default for AccountCapabilitiesOxxoPayments {
3690    fn default() -> Self {
3691        Self::Active
3692    }
3693}
3694
3695/// An enum representing the possible values of an `AccountCapabilities`'s `p24_payments` field.
3696#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3697#[serde(rename_all = "snake_case")]
3698pub enum AccountCapabilitiesP24Payments {
3699    Active,
3700    Inactive,
3701    Pending,
3702}
3703
3704impl AccountCapabilitiesP24Payments {
3705    pub fn as_str(self) -> &'static str {
3706        match self {
3707            AccountCapabilitiesP24Payments::Active => "active",
3708            AccountCapabilitiesP24Payments::Inactive => "inactive",
3709            AccountCapabilitiesP24Payments::Pending => "pending",
3710        }
3711    }
3712}
3713
3714impl AsRef<str> for AccountCapabilitiesP24Payments {
3715    fn as_ref(&self) -> &str {
3716        self.as_str()
3717    }
3718}
3719
3720impl std::fmt::Display for AccountCapabilitiesP24Payments {
3721    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3722        self.as_str().fmt(f)
3723    }
3724}
3725impl std::default::Default for AccountCapabilitiesP24Payments {
3726    fn default() -> Self {
3727        Self::Active
3728    }
3729}
3730
3731/// An enum representing the possible values of an `AccountCapabilities`'s `paynow_payments` field.
3732#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3733#[serde(rename_all = "snake_case")]
3734pub enum AccountCapabilitiesPaynowPayments {
3735    Active,
3736    Inactive,
3737    Pending,
3738}
3739
3740impl AccountCapabilitiesPaynowPayments {
3741    pub fn as_str(self) -> &'static str {
3742        match self {
3743            AccountCapabilitiesPaynowPayments::Active => "active",
3744            AccountCapabilitiesPaynowPayments::Inactive => "inactive",
3745            AccountCapabilitiesPaynowPayments::Pending => "pending",
3746        }
3747    }
3748}
3749
3750impl AsRef<str> for AccountCapabilitiesPaynowPayments {
3751    fn as_ref(&self) -> &str {
3752        self.as_str()
3753    }
3754}
3755
3756impl std::fmt::Display for AccountCapabilitiesPaynowPayments {
3757    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3758        self.as_str().fmt(f)
3759    }
3760}
3761impl std::default::Default for AccountCapabilitiesPaynowPayments {
3762    fn default() -> Self {
3763        Self::Active
3764    }
3765}
3766
3767/// An enum representing the possible values of an `AccountCapabilities`'s `promptpay_payments` field.
3768#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3769#[serde(rename_all = "snake_case")]
3770pub enum AccountCapabilitiesPromptpayPayments {
3771    Active,
3772    Inactive,
3773    Pending,
3774}
3775
3776impl AccountCapabilitiesPromptpayPayments {
3777    pub fn as_str(self) -> &'static str {
3778        match self {
3779            AccountCapabilitiesPromptpayPayments::Active => "active",
3780            AccountCapabilitiesPromptpayPayments::Inactive => "inactive",
3781            AccountCapabilitiesPromptpayPayments::Pending => "pending",
3782        }
3783    }
3784}
3785
3786impl AsRef<str> for AccountCapabilitiesPromptpayPayments {
3787    fn as_ref(&self) -> &str {
3788        self.as_str()
3789    }
3790}
3791
3792impl std::fmt::Display for AccountCapabilitiesPromptpayPayments {
3793    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3794        self.as_str().fmt(f)
3795    }
3796}
3797impl std::default::Default for AccountCapabilitiesPromptpayPayments {
3798    fn default() -> Self {
3799        Self::Active
3800    }
3801}
3802
3803/// An enum representing the possible values of an `AccountCapabilities`'s `revolut_pay_payments` field.
3804#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3805#[serde(rename_all = "snake_case")]
3806pub enum AccountCapabilitiesRevolutPayPayments {
3807    Active,
3808    Inactive,
3809    Pending,
3810}
3811
3812impl AccountCapabilitiesRevolutPayPayments {
3813    pub fn as_str(self) -> &'static str {
3814        match self {
3815            AccountCapabilitiesRevolutPayPayments::Active => "active",
3816            AccountCapabilitiesRevolutPayPayments::Inactive => "inactive",
3817            AccountCapabilitiesRevolutPayPayments::Pending => "pending",
3818        }
3819    }
3820}
3821
3822impl AsRef<str> for AccountCapabilitiesRevolutPayPayments {
3823    fn as_ref(&self) -> &str {
3824        self.as_str()
3825    }
3826}
3827
3828impl std::fmt::Display for AccountCapabilitiesRevolutPayPayments {
3829    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3830        self.as_str().fmt(f)
3831    }
3832}
3833impl std::default::Default for AccountCapabilitiesRevolutPayPayments {
3834    fn default() -> Self {
3835        Self::Active
3836    }
3837}
3838
3839/// An enum representing the possible values of an `AccountCapabilities`'s `sepa_debit_payments` field.
3840#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3841#[serde(rename_all = "snake_case")]
3842pub enum AccountCapabilitiesSepaDebitPayments {
3843    Active,
3844    Inactive,
3845    Pending,
3846}
3847
3848impl AccountCapabilitiesSepaDebitPayments {
3849    pub fn as_str(self) -> &'static str {
3850        match self {
3851            AccountCapabilitiesSepaDebitPayments::Active => "active",
3852            AccountCapabilitiesSepaDebitPayments::Inactive => "inactive",
3853            AccountCapabilitiesSepaDebitPayments::Pending => "pending",
3854        }
3855    }
3856}
3857
3858impl AsRef<str> for AccountCapabilitiesSepaDebitPayments {
3859    fn as_ref(&self) -> &str {
3860        self.as_str()
3861    }
3862}
3863
3864impl std::fmt::Display for AccountCapabilitiesSepaDebitPayments {
3865    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3866        self.as_str().fmt(f)
3867    }
3868}
3869impl std::default::Default for AccountCapabilitiesSepaDebitPayments {
3870    fn default() -> Self {
3871        Self::Active
3872    }
3873}
3874
3875/// An enum representing the possible values of an `AccountCapabilities`'s `sofort_payments` field.
3876#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3877#[serde(rename_all = "snake_case")]
3878pub enum AccountCapabilitiesSofortPayments {
3879    Active,
3880    Inactive,
3881    Pending,
3882}
3883
3884impl AccountCapabilitiesSofortPayments {
3885    pub fn as_str(self) -> &'static str {
3886        match self {
3887            AccountCapabilitiesSofortPayments::Active => "active",
3888            AccountCapabilitiesSofortPayments::Inactive => "inactive",
3889            AccountCapabilitiesSofortPayments::Pending => "pending",
3890        }
3891    }
3892}
3893
3894impl AsRef<str> for AccountCapabilitiesSofortPayments {
3895    fn as_ref(&self) -> &str {
3896        self.as_str()
3897    }
3898}
3899
3900impl std::fmt::Display for AccountCapabilitiesSofortPayments {
3901    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3902        self.as_str().fmt(f)
3903    }
3904}
3905impl std::default::Default for AccountCapabilitiesSofortPayments {
3906    fn default() -> Self {
3907        Self::Active
3908    }
3909}
3910
3911/// An enum representing the possible values of an `AccountCapabilities`'s `swish_payments` field.
3912#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3913#[serde(rename_all = "snake_case")]
3914pub enum AccountCapabilitiesSwishPayments {
3915    Active,
3916    Inactive,
3917    Pending,
3918}
3919
3920impl AccountCapabilitiesSwishPayments {
3921    pub fn as_str(self) -> &'static str {
3922        match self {
3923            AccountCapabilitiesSwishPayments::Active => "active",
3924            AccountCapabilitiesSwishPayments::Inactive => "inactive",
3925            AccountCapabilitiesSwishPayments::Pending => "pending",
3926        }
3927    }
3928}
3929
3930impl AsRef<str> for AccountCapabilitiesSwishPayments {
3931    fn as_ref(&self) -> &str {
3932        self.as_str()
3933    }
3934}
3935
3936impl std::fmt::Display for AccountCapabilitiesSwishPayments {
3937    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3938        self.as_str().fmt(f)
3939    }
3940}
3941impl std::default::Default for AccountCapabilitiesSwishPayments {
3942    fn default() -> Self {
3943        Self::Active
3944    }
3945}
3946
3947/// An enum representing the possible values of an `AccountCapabilities`'s `treasury` field.
3948#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3949#[serde(rename_all = "snake_case")]
3950pub enum AccountCapabilitiesTreasury {
3951    Active,
3952    Inactive,
3953    Pending,
3954}
3955
3956impl AccountCapabilitiesTreasury {
3957    pub fn as_str(self) -> &'static str {
3958        match self {
3959            AccountCapabilitiesTreasury::Active => "active",
3960            AccountCapabilitiesTreasury::Inactive => "inactive",
3961            AccountCapabilitiesTreasury::Pending => "pending",
3962        }
3963    }
3964}
3965
3966impl AsRef<str> for AccountCapabilitiesTreasury {
3967    fn as_ref(&self) -> &str {
3968        self.as_str()
3969    }
3970}
3971
3972impl std::fmt::Display for AccountCapabilitiesTreasury {
3973    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
3974        self.as_str().fmt(f)
3975    }
3976}
3977impl std::default::Default for AccountCapabilitiesTreasury {
3978    fn default() -> Self {
3979        Self::Active
3980    }
3981}
3982
3983/// An enum representing the possible values of an `AccountCapabilities`'s `us_bank_account_ach_payments` field.
3984#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
3985#[serde(rename_all = "snake_case")]
3986pub enum AccountCapabilitiesUsBankAccountAchPayments {
3987    Active,
3988    Inactive,
3989    Pending,
3990}
3991
3992impl AccountCapabilitiesUsBankAccountAchPayments {
3993    pub fn as_str(self) -> &'static str {
3994        match self {
3995            AccountCapabilitiesUsBankAccountAchPayments::Active => "active",
3996            AccountCapabilitiesUsBankAccountAchPayments::Inactive => "inactive",
3997            AccountCapabilitiesUsBankAccountAchPayments::Pending => "pending",
3998        }
3999    }
4000}
4001
4002impl AsRef<str> for AccountCapabilitiesUsBankAccountAchPayments {
4003    fn as_ref(&self) -> &str {
4004        self.as_str()
4005    }
4006}
4007
4008impl std::fmt::Display for AccountCapabilitiesUsBankAccountAchPayments {
4009    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4010        self.as_str().fmt(f)
4011    }
4012}
4013impl std::default::Default for AccountCapabilitiesUsBankAccountAchPayments {
4014    fn default() -> Self {
4015        Self::Active
4016    }
4017}
4018
4019/// An enum representing the possible values of an `AccountCapabilities`'s `zip_payments` field.
4020#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4021#[serde(rename_all = "snake_case")]
4022pub enum AccountCapabilitiesZipPayments {
4023    Active,
4024    Inactive,
4025    Pending,
4026}
4027
4028impl AccountCapabilitiesZipPayments {
4029    pub fn as_str(self) -> &'static str {
4030        match self {
4031            AccountCapabilitiesZipPayments::Active => "active",
4032            AccountCapabilitiesZipPayments::Inactive => "inactive",
4033            AccountCapabilitiesZipPayments::Pending => "pending",
4034        }
4035    }
4036}
4037
4038impl AsRef<str> for AccountCapabilitiesZipPayments {
4039    fn as_ref(&self) -> &str {
4040        self.as_str()
4041    }
4042}
4043
4044impl std::fmt::Display for AccountCapabilitiesZipPayments {
4045    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4046        self.as_str().fmt(f)
4047    }
4048}
4049impl std::default::Default for AccountCapabilitiesZipPayments {
4050    fn default() -> Self {
4051        Self::Active
4052    }
4053}
4054
4055/// An enum representing the possible values of an `AccountRequirementsError`'s `code` field.
4056#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4057#[serde(rename_all = "snake_case")]
4058pub enum AccountRequirementsErrorCode {
4059    InvalidAddressCityStatePostalCode,
4060    InvalidAddressHighwayContractBox,
4061    InvalidAddressPrivateMailbox,
4062    InvalidBusinessProfileName,
4063    InvalidBusinessProfileNameDenylisted,
4064    InvalidCompanyNameDenylisted,
4065    InvalidDobAgeOverMaximum,
4066    #[serde(rename = "invalid_dob_age_under_18")]
4067    InvalidDobAgeUnder18,
4068    InvalidDobAgeUnderMinimum,
4069    InvalidProductDescriptionLength,
4070    InvalidProductDescriptionUrlMatch,
4071    InvalidRepresentativeCountry,
4072    InvalidStatementDescriptorBusinessMismatch,
4073    InvalidStatementDescriptorDenylisted,
4074    InvalidStatementDescriptorLength,
4075    InvalidStatementDescriptorPrefixDenylisted,
4076    InvalidStatementDescriptorPrefixMismatch,
4077    InvalidStreetAddress,
4078    InvalidTaxId,
4079    InvalidTaxIdFormat,
4080    InvalidTosAcceptance,
4081    InvalidUrlDenylisted,
4082    InvalidUrlFormat,
4083    InvalidUrlLength,
4084    InvalidUrlWebPresenceDetected,
4085    InvalidUrlWebsiteBusinessInformationMismatch,
4086    InvalidUrlWebsiteEmpty,
4087    InvalidUrlWebsiteInaccessible,
4088    InvalidUrlWebsiteInaccessibleGeoblocked,
4089    InvalidUrlWebsiteInaccessiblePasswordProtected,
4090    InvalidUrlWebsiteIncomplete,
4091    InvalidUrlWebsiteIncompleteCancellationPolicy,
4092    InvalidUrlWebsiteIncompleteCustomerServiceDetails,
4093    InvalidUrlWebsiteIncompleteLegalRestrictions,
4094    InvalidUrlWebsiteIncompleteRefundPolicy,
4095    InvalidUrlWebsiteIncompleteReturnPolicy,
4096    InvalidUrlWebsiteIncompleteTermsAndConditions,
4097    InvalidUrlWebsiteIncompleteUnderConstruction,
4098    InvalidUrlWebsiteOther,
4099    InvalidValueOther,
4100    VerificationDirectorsMismatch,
4101    VerificationDocumentAddressMismatch,
4102    VerificationDocumentAddressMissing,
4103    VerificationDocumentCorrupt,
4104    VerificationDocumentCountryNotSupported,
4105    VerificationDocumentDirectorsMismatch,
4106    VerificationDocumentDobMismatch,
4107    VerificationDocumentDuplicateType,
4108    VerificationDocumentExpired,
4109    VerificationDocumentFailedCopy,
4110    VerificationDocumentFailedGreyscale,
4111    VerificationDocumentFailedOther,
4112    VerificationDocumentFailedTestMode,
4113    VerificationDocumentFraudulent,
4114    VerificationDocumentIdNumberMismatch,
4115    VerificationDocumentIdNumberMissing,
4116    VerificationDocumentIncomplete,
4117    VerificationDocumentInvalid,
4118    VerificationDocumentIssueOrExpiryDateMissing,
4119    VerificationDocumentManipulated,
4120    VerificationDocumentMissingBack,
4121    VerificationDocumentMissingFront,
4122    VerificationDocumentNameMismatch,
4123    VerificationDocumentNameMissing,
4124    VerificationDocumentNationalityMismatch,
4125    VerificationDocumentNotReadable,
4126    VerificationDocumentNotSigned,
4127    VerificationDocumentNotUploaded,
4128    VerificationDocumentPhotoMismatch,
4129    VerificationDocumentTooLarge,
4130    VerificationDocumentTypeNotSupported,
4131    VerificationExtraneousDirectors,
4132    VerificationFailedAddressMatch,
4133    VerificationFailedBusinessIecNumber,
4134    VerificationFailedDocumentMatch,
4135    VerificationFailedIdNumberMatch,
4136    VerificationFailedKeyedIdentity,
4137    VerificationFailedKeyedMatch,
4138    VerificationFailedNameMatch,
4139    VerificationFailedOther,
4140    VerificationFailedResidentialAddress,
4141    VerificationFailedTaxIdMatch,
4142    VerificationFailedTaxIdNotIssued,
4143    VerificationMissingDirectors,
4144    VerificationMissingExecutives,
4145    VerificationMissingOwners,
4146    VerificationRequiresAdditionalMemorandumOfAssociations,
4147}
4148
4149impl AccountRequirementsErrorCode {
4150    pub fn as_str(self) -> &'static str {
4151        match self {
4152            AccountRequirementsErrorCode::InvalidAddressCityStatePostalCode => "invalid_address_city_state_postal_code",
4153            AccountRequirementsErrorCode::InvalidAddressHighwayContractBox => "invalid_address_highway_contract_box",
4154            AccountRequirementsErrorCode::InvalidAddressPrivateMailbox => "invalid_address_private_mailbox",
4155            AccountRequirementsErrorCode::InvalidBusinessProfileName => "invalid_business_profile_name",
4156            AccountRequirementsErrorCode::InvalidBusinessProfileNameDenylisted => "invalid_business_profile_name_denylisted",
4157            AccountRequirementsErrorCode::InvalidCompanyNameDenylisted => "invalid_company_name_denylisted",
4158            AccountRequirementsErrorCode::InvalidDobAgeOverMaximum => "invalid_dob_age_over_maximum",
4159            AccountRequirementsErrorCode::InvalidDobAgeUnder18 => "invalid_dob_age_under_18",
4160            AccountRequirementsErrorCode::InvalidDobAgeUnderMinimum => "invalid_dob_age_under_minimum",
4161            AccountRequirementsErrorCode::InvalidProductDescriptionLength => "invalid_product_description_length",
4162            AccountRequirementsErrorCode::InvalidProductDescriptionUrlMatch => "invalid_product_description_url_match",
4163            AccountRequirementsErrorCode::InvalidRepresentativeCountry => "invalid_representative_country",
4164            AccountRequirementsErrorCode::InvalidStatementDescriptorBusinessMismatch => "invalid_statement_descriptor_business_mismatch",
4165            AccountRequirementsErrorCode::InvalidStatementDescriptorDenylisted => "invalid_statement_descriptor_denylisted",
4166            AccountRequirementsErrorCode::InvalidStatementDescriptorLength => "invalid_statement_descriptor_length",
4167            AccountRequirementsErrorCode::InvalidStatementDescriptorPrefixDenylisted => "invalid_statement_descriptor_prefix_denylisted",
4168            AccountRequirementsErrorCode::InvalidStatementDescriptorPrefixMismatch => "invalid_statement_descriptor_prefix_mismatch",
4169            AccountRequirementsErrorCode::InvalidStreetAddress => "invalid_street_address",
4170            AccountRequirementsErrorCode::InvalidTaxId => "invalid_tax_id",
4171            AccountRequirementsErrorCode::InvalidTaxIdFormat => "invalid_tax_id_format",
4172            AccountRequirementsErrorCode::InvalidTosAcceptance => "invalid_tos_acceptance",
4173            AccountRequirementsErrorCode::InvalidUrlDenylisted => "invalid_url_denylisted",
4174            AccountRequirementsErrorCode::InvalidUrlFormat => "invalid_url_format",
4175            AccountRequirementsErrorCode::InvalidUrlLength => "invalid_url_length",
4176            AccountRequirementsErrorCode::InvalidUrlWebPresenceDetected => "invalid_url_web_presence_detected",
4177            AccountRequirementsErrorCode::InvalidUrlWebsiteBusinessInformationMismatch => "invalid_url_website_business_information_mismatch",
4178            AccountRequirementsErrorCode::InvalidUrlWebsiteEmpty => "invalid_url_website_empty",
4179            AccountRequirementsErrorCode::InvalidUrlWebsiteInaccessible => "invalid_url_website_inaccessible",
4180            AccountRequirementsErrorCode::InvalidUrlWebsiteInaccessibleGeoblocked => "invalid_url_website_inaccessible_geoblocked",
4181            AccountRequirementsErrorCode::InvalidUrlWebsiteInaccessiblePasswordProtected => "invalid_url_website_inaccessible_password_protected",
4182            AccountRequirementsErrorCode::InvalidUrlWebsiteIncomplete => "invalid_url_website_incomplete",
4183            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteCancellationPolicy => "invalid_url_website_incomplete_cancellation_policy",
4184            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteCustomerServiceDetails => "invalid_url_website_incomplete_customer_service_details",
4185            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteLegalRestrictions => "invalid_url_website_incomplete_legal_restrictions",
4186            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteRefundPolicy => "invalid_url_website_incomplete_refund_policy",
4187            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteReturnPolicy => "invalid_url_website_incomplete_return_policy",
4188            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteTermsAndConditions => "invalid_url_website_incomplete_terms_and_conditions",
4189            AccountRequirementsErrorCode::InvalidUrlWebsiteIncompleteUnderConstruction => "invalid_url_website_incomplete_under_construction",
4190            AccountRequirementsErrorCode::InvalidUrlWebsiteOther => "invalid_url_website_other",
4191            AccountRequirementsErrorCode::InvalidValueOther => "invalid_value_other",
4192            AccountRequirementsErrorCode::VerificationDirectorsMismatch => "verification_directors_mismatch",
4193            AccountRequirementsErrorCode::VerificationDocumentAddressMismatch => "verification_document_address_mismatch",
4194            AccountRequirementsErrorCode::VerificationDocumentAddressMissing => "verification_document_address_missing",
4195            AccountRequirementsErrorCode::VerificationDocumentCorrupt => "verification_document_corrupt",
4196            AccountRequirementsErrorCode::VerificationDocumentCountryNotSupported => "verification_document_country_not_supported",
4197            AccountRequirementsErrorCode::VerificationDocumentDirectorsMismatch => "verification_document_directors_mismatch",
4198            AccountRequirementsErrorCode::VerificationDocumentDobMismatch => "verification_document_dob_mismatch",
4199            AccountRequirementsErrorCode::VerificationDocumentDuplicateType => "verification_document_duplicate_type",
4200            AccountRequirementsErrorCode::VerificationDocumentExpired => "verification_document_expired",
4201            AccountRequirementsErrorCode::VerificationDocumentFailedCopy => "verification_document_failed_copy",
4202            AccountRequirementsErrorCode::VerificationDocumentFailedGreyscale => "verification_document_failed_greyscale",
4203            AccountRequirementsErrorCode::VerificationDocumentFailedOther => "verification_document_failed_other",
4204            AccountRequirementsErrorCode::VerificationDocumentFailedTestMode => "verification_document_failed_test_mode",
4205            AccountRequirementsErrorCode::VerificationDocumentFraudulent => "verification_document_fraudulent",
4206            AccountRequirementsErrorCode::VerificationDocumentIdNumberMismatch => "verification_document_id_number_mismatch",
4207            AccountRequirementsErrorCode::VerificationDocumentIdNumberMissing => "verification_document_id_number_missing",
4208            AccountRequirementsErrorCode::VerificationDocumentIncomplete => "verification_document_incomplete",
4209            AccountRequirementsErrorCode::VerificationDocumentInvalid => "verification_document_invalid",
4210            AccountRequirementsErrorCode::VerificationDocumentIssueOrExpiryDateMissing => "verification_document_issue_or_expiry_date_missing",
4211            AccountRequirementsErrorCode::VerificationDocumentManipulated => "verification_document_manipulated",
4212            AccountRequirementsErrorCode::VerificationDocumentMissingBack => "verification_document_missing_back",
4213            AccountRequirementsErrorCode::VerificationDocumentMissingFront => "verification_document_missing_front",
4214            AccountRequirementsErrorCode::VerificationDocumentNameMismatch => "verification_document_name_mismatch",
4215            AccountRequirementsErrorCode::VerificationDocumentNameMissing => "verification_document_name_missing",
4216            AccountRequirementsErrorCode::VerificationDocumentNationalityMismatch => "verification_document_nationality_mismatch",
4217            AccountRequirementsErrorCode::VerificationDocumentNotReadable => "verification_document_not_readable",
4218            AccountRequirementsErrorCode::VerificationDocumentNotSigned => "verification_document_not_signed",
4219            AccountRequirementsErrorCode::VerificationDocumentNotUploaded => "verification_document_not_uploaded",
4220            AccountRequirementsErrorCode::VerificationDocumentPhotoMismatch => "verification_document_photo_mismatch",
4221            AccountRequirementsErrorCode::VerificationDocumentTooLarge => "verification_document_too_large",
4222            AccountRequirementsErrorCode::VerificationDocumentTypeNotSupported => "verification_document_type_not_supported",
4223            AccountRequirementsErrorCode::VerificationExtraneousDirectors => "verification_extraneous_directors",
4224            AccountRequirementsErrorCode::VerificationFailedAddressMatch => "verification_failed_address_match",
4225            AccountRequirementsErrorCode::VerificationFailedBusinessIecNumber => "verification_failed_business_iec_number",
4226            AccountRequirementsErrorCode::VerificationFailedDocumentMatch => "verification_failed_document_match",
4227            AccountRequirementsErrorCode::VerificationFailedIdNumberMatch => "verification_failed_id_number_match",
4228            AccountRequirementsErrorCode::VerificationFailedKeyedIdentity => "verification_failed_keyed_identity",
4229            AccountRequirementsErrorCode::VerificationFailedKeyedMatch => "verification_failed_keyed_match",
4230            AccountRequirementsErrorCode::VerificationFailedNameMatch => "verification_failed_name_match",
4231            AccountRequirementsErrorCode::VerificationFailedOther => "verification_failed_other",
4232            AccountRequirementsErrorCode::VerificationFailedResidentialAddress => "verification_failed_residential_address",
4233            AccountRequirementsErrorCode::VerificationFailedTaxIdMatch => "verification_failed_tax_id_match",
4234            AccountRequirementsErrorCode::VerificationFailedTaxIdNotIssued => "verification_failed_tax_id_not_issued",
4235            AccountRequirementsErrorCode::VerificationMissingDirectors => "verification_missing_directors",
4236            AccountRequirementsErrorCode::VerificationMissingExecutives => "verification_missing_executives",
4237            AccountRequirementsErrorCode::VerificationMissingOwners => "verification_missing_owners",
4238            AccountRequirementsErrorCode::VerificationRequiresAdditionalMemorandumOfAssociations => "verification_requires_additional_memorandum_of_associations",
4239        }
4240    }
4241}
4242
4243impl AsRef<str> for AccountRequirementsErrorCode {
4244    fn as_ref(&self) -> &str {
4245        self.as_str()
4246    }
4247}
4248
4249impl std::fmt::Display for AccountRequirementsErrorCode {
4250    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4251        self.as_str().fmt(f)
4252    }
4253}
4254impl std::default::Default for AccountRequirementsErrorCode {
4255    fn default() -> Self {
4256        Self::InvalidAddressCityStatePostalCode
4257    }
4258}
4259
4260/// An enum representing the possible values of an `CreateAccount`'s `type_` field.
4261#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4262#[serde(rename_all = "snake_case")]
4263pub enum AccountType {
4264    Custom,
4265    Express,
4266    Standard,
4267}
4268
4269impl AccountType {
4270    pub fn as_str(self) -> &'static str {
4271        match self {
4272            AccountType::Custom => "custom",
4273            AccountType::Express => "express",
4274            AccountType::Standard => "standard",
4275        }
4276    }
4277}
4278
4279impl AsRef<str> for AccountType {
4280    fn as_ref(&self) -> &str {
4281        self.as_str()
4282    }
4283}
4284
4285impl std::fmt::Display for AccountType {
4286    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4287        self.as_str().fmt(f)
4288    }
4289}
4290impl std::default::Default for AccountType {
4291    fn default() -> Self {
4292        Self::Custom
4293    }
4294}
4295
4296/// An enum representing the possible values of an `AccountUnificationAccountController`'s `type` field.
4297#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4298#[serde(rename_all = "snake_case")]
4299pub enum AccountUnificationAccountControllerType {
4300    Account,
4301    Application,
4302}
4303
4304impl AccountUnificationAccountControllerType {
4305    pub fn as_str(self) -> &'static str {
4306        match self {
4307            AccountUnificationAccountControllerType::Account => "account",
4308            AccountUnificationAccountControllerType::Application => "application",
4309        }
4310    }
4311}
4312
4313impl AsRef<str> for AccountUnificationAccountControllerType {
4314    fn as_ref(&self) -> &str {
4315        self.as_str()
4316    }
4317}
4318
4319impl std::fmt::Display for AccountUnificationAccountControllerType {
4320    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4321        self.as_str().fmt(f)
4322    }
4323}
4324impl std::default::Default for AccountUnificationAccountControllerType {
4325    fn default() -> Self {
4326        Self::Account
4327    }
4328}
4329
4330/// An enum representing the possible values of an `AccountCapabilities`'s `au_becs_debit_payments` field.
4331#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4332#[serde(rename_all = "snake_case")]
4333pub enum CapabilityStatus {
4334    Active,
4335    Inactive,
4336    Pending,
4337}
4338
4339impl CapabilityStatus {
4340    pub fn as_str(self) -> &'static str {
4341        match self {
4342            CapabilityStatus::Active => "active",
4343            CapabilityStatus::Inactive => "inactive",
4344            CapabilityStatus::Pending => "pending",
4345        }
4346    }
4347}
4348
4349impl AsRef<str> for CapabilityStatus {
4350    fn as_ref(&self) -> &str {
4351        self.as_str()
4352    }
4353}
4354
4355impl std::fmt::Display for CapabilityStatus {
4356    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4357        self.as_str().fmt(f)
4358    }
4359}
4360impl std::default::Default for CapabilityStatus {
4361    fn default() -> Self {
4362        Self::Active
4363    }
4364}
4365
4366/// An enum representing the possible values of an `CompanyParams`'s `structure` field.
4367#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4368#[serde(rename_all = "snake_case")]
4369pub enum CompanyParamsStructure {
4370    FreeZoneEstablishment,
4371    FreeZoneLlc,
4372    GovernmentInstrumentality,
4373    GovernmentalUnit,
4374    IncorporatedNonProfit,
4375    IncorporatedPartnership,
4376    LimitedLiabilityPartnership,
4377    Llc,
4378    MultiMemberLlc,
4379    PrivateCompany,
4380    PrivateCorporation,
4381    PrivatePartnership,
4382    PublicCompany,
4383    PublicCorporation,
4384    PublicPartnership,
4385    RegisteredCharity,
4386    SingleMemberLlc,
4387    SoleEstablishment,
4388    SoleProprietorship,
4389    TaxExemptGovernmentInstrumentality,
4390    UnincorporatedAssociation,
4391    UnincorporatedNonProfit,
4392    UnincorporatedPartnership,
4393}
4394
4395impl CompanyParamsStructure {
4396    pub fn as_str(self) -> &'static str {
4397        match self {
4398            CompanyParamsStructure::FreeZoneEstablishment => "free_zone_establishment",
4399            CompanyParamsStructure::FreeZoneLlc => "free_zone_llc",
4400            CompanyParamsStructure::GovernmentInstrumentality => "government_instrumentality",
4401            CompanyParamsStructure::GovernmentalUnit => "governmental_unit",
4402            CompanyParamsStructure::IncorporatedNonProfit => "incorporated_non_profit",
4403            CompanyParamsStructure::IncorporatedPartnership => "incorporated_partnership",
4404            CompanyParamsStructure::LimitedLiabilityPartnership => "limited_liability_partnership",
4405            CompanyParamsStructure::Llc => "llc",
4406            CompanyParamsStructure::MultiMemberLlc => "multi_member_llc",
4407            CompanyParamsStructure::PrivateCompany => "private_company",
4408            CompanyParamsStructure::PrivateCorporation => "private_corporation",
4409            CompanyParamsStructure::PrivatePartnership => "private_partnership",
4410            CompanyParamsStructure::PublicCompany => "public_company",
4411            CompanyParamsStructure::PublicCorporation => "public_corporation",
4412            CompanyParamsStructure::PublicPartnership => "public_partnership",
4413            CompanyParamsStructure::RegisteredCharity => "registered_charity",
4414            CompanyParamsStructure::SingleMemberLlc => "single_member_llc",
4415            CompanyParamsStructure::SoleEstablishment => "sole_establishment",
4416            CompanyParamsStructure::SoleProprietorship => "sole_proprietorship",
4417            CompanyParamsStructure::TaxExemptGovernmentInstrumentality => {
4418                "tax_exempt_government_instrumentality"
4419            }
4420            CompanyParamsStructure::UnincorporatedAssociation => "unincorporated_association",
4421            CompanyParamsStructure::UnincorporatedNonProfit => "unincorporated_non_profit",
4422            CompanyParamsStructure::UnincorporatedPartnership => "unincorporated_partnership",
4423        }
4424    }
4425}
4426
4427impl AsRef<str> for CompanyParamsStructure {
4428    fn as_ref(&self) -> &str {
4429        self.as_str()
4430    }
4431}
4432
4433impl std::fmt::Display for CompanyParamsStructure {
4434    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4435        self.as_str().fmt(f)
4436    }
4437}
4438impl std::default::Default for CompanyParamsStructure {
4439    fn default() -> Self {
4440        Self::FreeZoneEstablishment
4441    }
4442}
4443
4444/// An enum representing the possible values of an `Company`'s `structure` field.
4445#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4446#[serde(rename_all = "snake_case")]
4447pub enum CompanyStructure {
4448    FreeZoneEstablishment,
4449    FreeZoneLlc,
4450    GovernmentInstrumentality,
4451    GovernmentalUnit,
4452    IncorporatedNonProfit,
4453    IncorporatedPartnership,
4454    LimitedLiabilityPartnership,
4455    Llc,
4456    MultiMemberLlc,
4457    PrivateCompany,
4458    PrivateCorporation,
4459    PrivatePartnership,
4460    PublicCompany,
4461    PublicCorporation,
4462    PublicPartnership,
4463    RegisteredCharity,
4464    SingleMemberLlc,
4465    SoleEstablishment,
4466    SoleProprietorship,
4467    TaxExemptGovernmentInstrumentality,
4468    UnincorporatedAssociation,
4469    UnincorporatedNonProfit,
4470    UnincorporatedPartnership,
4471}
4472
4473impl CompanyStructure {
4474    pub fn as_str(self) -> &'static str {
4475        match self {
4476            CompanyStructure::FreeZoneEstablishment => "free_zone_establishment",
4477            CompanyStructure::FreeZoneLlc => "free_zone_llc",
4478            CompanyStructure::GovernmentInstrumentality => "government_instrumentality",
4479            CompanyStructure::GovernmentalUnit => "governmental_unit",
4480            CompanyStructure::IncorporatedNonProfit => "incorporated_non_profit",
4481            CompanyStructure::IncorporatedPartnership => "incorporated_partnership",
4482            CompanyStructure::LimitedLiabilityPartnership => "limited_liability_partnership",
4483            CompanyStructure::Llc => "llc",
4484            CompanyStructure::MultiMemberLlc => "multi_member_llc",
4485            CompanyStructure::PrivateCompany => "private_company",
4486            CompanyStructure::PrivateCorporation => "private_corporation",
4487            CompanyStructure::PrivatePartnership => "private_partnership",
4488            CompanyStructure::PublicCompany => "public_company",
4489            CompanyStructure::PublicCorporation => "public_corporation",
4490            CompanyStructure::PublicPartnership => "public_partnership",
4491            CompanyStructure::RegisteredCharity => "registered_charity",
4492            CompanyStructure::SingleMemberLlc => "single_member_llc",
4493            CompanyStructure::SoleEstablishment => "sole_establishment",
4494            CompanyStructure::SoleProprietorship => "sole_proprietorship",
4495            CompanyStructure::TaxExemptGovernmentInstrumentality => {
4496                "tax_exempt_government_instrumentality"
4497            }
4498            CompanyStructure::UnincorporatedAssociation => "unincorporated_association",
4499            CompanyStructure::UnincorporatedNonProfit => "unincorporated_non_profit",
4500            CompanyStructure::UnincorporatedPartnership => "unincorporated_partnership",
4501        }
4502    }
4503}
4504
4505impl AsRef<str> for CompanyStructure {
4506    fn as_ref(&self) -> &str {
4507        self.as_str()
4508    }
4509}
4510
4511impl std::fmt::Display for CompanyStructure {
4512    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4513        self.as_str().fmt(f)
4514    }
4515}
4516impl std::default::Default for CompanyStructure {
4517    fn default() -> Self {
4518        Self::FreeZoneEstablishment
4519    }
4520}
4521
4522/// An enum representing the possible values of an `PersonParams`'s `political_exposure` field.
4523#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4524#[serde(rename_all = "snake_case")]
4525pub enum PersonParamsPoliticalExposure {
4526    Existing,
4527    None,
4528}
4529
4530impl PersonParamsPoliticalExposure {
4531    pub fn as_str(self) -> &'static str {
4532        match self {
4533            PersonParamsPoliticalExposure::Existing => "existing",
4534            PersonParamsPoliticalExposure::None => "none",
4535        }
4536    }
4537}
4538
4539impl AsRef<str> for PersonParamsPoliticalExposure {
4540    fn as_ref(&self) -> &str {
4541        self.as_str()
4542    }
4543}
4544
4545impl std::fmt::Display for PersonParamsPoliticalExposure {
4546    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4547        self.as_str().fmt(f)
4548    }
4549}
4550impl std::default::Default for PersonParamsPoliticalExposure {
4551    fn default() -> Self {
4552        Self::Existing
4553    }
4554}
4555
4556/// An enum representing the possible values of an `TransferScheduleParams`'s `interval` field.
4557#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4558#[serde(rename_all = "snake_case")]
4559pub enum TransferScheduleInterval {
4560    Daily,
4561    Manual,
4562    Monthly,
4563    Weekly,
4564}
4565
4566impl TransferScheduleInterval {
4567    pub fn as_str(self) -> &'static str {
4568        match self {
4569            TransferScheduleInterval::Daily => "daily",
4570            TransferScheduleInterval::Manual => "manual",
4571            TransferScheduleInterval::Monthly => "monthly",
4572            TransferScheduleInterval::Weekly => "weekly",
4573        }
4574    }
4575}
4576
4577impl AsRef<str> for TransferScheduleInterval {
4578    fn as_ref(&self) -> &str {
4579        self.as_str()
4580    }
4581}
4582
4583impl std::fmt::Display for TransferScheduleInterval {
4584    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4585        self.as_str().fmt(f)
4586    }
4587}
4588impl std::default::Default for TransferScheduleInterval {
4589    fn default() -> Self {
4590        Self::Daily
4591    }
4592}
4593
4594/// An enum representing the possible values of an `TransferScheduleParams`'s `weekly_anchor` field.
4595#[derive(Copy, Clone, Debug, Deserialize, Serialize, Eq, PartialEq)]
4596#[serde(rename_all = "snake_case")]
4597pub enum TransferScheduleParamsWeeklyAnchor {
4598    Friday,
4599    Monday,
4600    Saturday,
4601    Sunday,
4602    Thursday,
4603    Tuesday,
4604    Wednesday,
4605}
4606
4607impl TransferScheduleParamsWeeklyAnchor {
4608    pub fn as_str(self) -> &'static str {
4609        match self {
4610            TransferScheduleParamsWeeklyAnchor::Friday => "friday",
4611            TransferScheduleParamsWeeklyAnchor::Monday => "monday",
4612            TransferScheduleParamsWeeklyAnchor::Saturday => "saturday",
4613            TransferScheduleParamsWeeklyAnchor::Sunday => "sunday",
4614            TransferScheduleParamsWeeklyAnchor::Thursday => "thursday",
4615            TransferScheduleParamsWeeklyAnchor::Tuesday => "tuesday",
4616            TransferScheduleParamsWeeklyAnchor::Wednesday => "wednesday",
4617        }
4618    }
4619}
4620
4621impl AsRef<str> for TransferScheduleParamsWeeklyAnchor {
4622    fn as_ref(&self) -> &str {
4623        self.as_str()
4624    }
4625}
4626
4627impl std::fmt::Display for TransferScheduleParamsWeeklyAnchor {
4628    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
4629        self.as_str().fmt(f)
4630    }
4631}
4632impl std::default::Default for TransferScheduleParamsWeeklyAnchor {
4633    fn default() -> Self {
4634        Self::Friday
4635    }
4636}