github.com/stripe/stripe-go/v76@v76.25.0/treasury_financialaccount.go (about)

     1  //
     2  //
     3  // File generated from our OpenAPI spec
     4  //
     5  //
     6  
     7  package stripe
     8  
     9  // The array of paths to active Features in the Features hash.
    10  type TreasuryFinancialAccountActiveFeature string
    11  
    12  // List of values that TreasuryFinancialAccountActiveFeature can take
    13  const (
    14  	TreasuryFinancialAccountActiveFeatureCardIssuing                     TreasuryFinancialAccountActiveFeature = "card_issuing"
    15  	TreasuryFinancialAccountActiveFeatureDepositInsurance                TreasuryFinancialAccountActiveFeature = "deposit_insurance"
    16  	TreasuryFinancialAccountActiveFeatureFinancialAddressesABA           TreasuryFinancialAccountActiveFeature = "financial_addresses.aba"
    17  	TreasuryFinancialAccountActiveFeatureInboundTransfersACH             TreasuryFinancialAccountActiveFeature = "inbound_transfers.ach"
    18  	TreasuryFinancialAccountActiveFeatureIntraStripeFlows                TreasuryFinancialAccountActiveFeature = "intra_stripe_flows"
    19  	TreasuryFinancialAccountActiveFeatureOutboundPaymentsACH             TreasuryFinancialAccountActiveFeature = "outbound_payments.ach"
    20  	TreasuryFinancialAccountActiveFeatureOutboundPaymentsUSDomesticWire  TreasuryFinancialAccountActiveFeature = "outbound_payments.us_domestic_wire"
    21  	TreasuryFinancialAccountActiveFeatureOutboundTransfersACH            TreasuryFinancialAccountActiveFeature = "outbound_transfers.ach"
    22  	TreasuryFinancialAccountActiveFeatureOutboundTransfersUSDomesticWire TreasuryFinancialAccountActiveFeature = "outbound_transfers.us_domestic_wire"
    23  	TreasuryFinancialAccountActiveFeatureRemoteDepositCapture            TreasuryFinancialAccountActiveFeature = "remote_deposit_capture"
    24  )
    25  
    26  // The list of networks that the address supports
    27  type TreasuryFinancialAccountFinancialAddressSupportedNetwork string
    28  
    29  // List of values that TreasuryFinancialAccountFinancialAddressSupportedNetwork can take
    30  const (
    31  	TreasuryFinancialAccountFinancialAddressSupportedNetworkACH            TreasuryFinancialAccountFinancialAddressSupportedNetwork = "ach"
    32  	TreasuryFinancialAccountFinancialAddressSupportedNetworkUSDomesticWire TreasuryFinancialAccountFinancialAddressSupportedNetwork = "us_domestic_wire"
    33  )
    34  
    35  // The type of financial address
    36  type TreasuryFinancialAccountFinancialAddressType string
    37  
    38  // List of values that TreasuryFinancialAccountFinancialAddressType can take
    39  const (
    40  	TreasuryFinancialAccountFinancialAddressTypeABA TreasuryFinancialAccountFinancialAddressType = "aba"
    41  )
    42  
    43  // The array of paths to pending Features in the Features hash.
    44  type TreasuryFinancialAccountPendingFeature string
    45  
    46  // List of values that TreasuryFinancialAccountPendingFeature can take
    47  const (
    48  	TreasuryFinancialAccountPendingFeatureCardIssuing                     TreasuryFinancialAccountPendingFeature = "card_issuing"
    49  	TreasuryFinancialAccountPendingFeatureDepositInsurance                TreasuryFinancialAccountPendingFeature = "deposit_insurance"
    50  	TreasuryFinancialAccountPendingFeatureFinancialAddressesABA           TreasuryFinancialAccountPendingFeature = "financial_addresses.aba"
    51  	TreasuryFinancialAccountPendingFeatureInboundTransfersACH             TreasuryFinancialAccountPendingFeature = "inbound_transfers.ach"
    52  	TreasuryFinancialAccountPendingFeatureIntraStripeFlows                TreasuryFinancialAccountPendingFeature = "intra_stripe_flows"
    53  	TreasuryFinancialAccountPendingFeatureOutboundPaymentsACH             TreasuryFinancialAccountPendingFeature = "outbound_payments.ach"
    54  	TreasuryFinancialAccountPendingFeatureOutboundPaymentsUSDomesticWire  TreasuryFinancialAccountPendingFeature = "outbound_payments.us_domestic_wire"
    55  	TreasuryFinancialAccountPendingFeatureOutboundTransfersACH            TreasuryFinancialAccountPendingFeature = "outbound_transfers.ach"
    56  	TreasuryFinancialAccountPendingFeatureOutboundTransfersUSDomesticWire TreasuryFinancialAccountPendingFeature = "outbound_transfers.us_domestic_wire"
    57  	TreasuryFinancialAccountPendingFeatureRemoteDepositCapture            TreasuryFinancialAccountPendingFeature = "remote_deposit_capture"
    58  )
    59  
    60  // Restricts all inbound money movement.
    61  type TreasuryFinancialAccountPlatformRestrictionsInboundFlows string
    62  
    63  // List of values that TreasuryFinancialAccountPlatformRestrictionsInboundFlows can take
    64  const (
    65  	TreasuryFinancialAccountPlatformRestrictionsInboundFlowsRestricted   TreasuryFinancialAccountPlatformRestrictionsInboundFlows = "restricted"
    66  	TreasuryFinancialAccountPlatformRestrictionsInboundFlowsUnrestricted TreasuryFinancialAccountPlatformRestrictionsInboundFlows = "unrestricted"
    67  )
    68  
    69  // Restricts all outbound money movement.
    70  type TreasuryFinancialAccountPlatformRestrictionsOutboundFlows string
    71  
    72  // List of values that TreasuryFinancialAccountPlatformRestrictionsOutboundFlows can take
    73  const (
    74  	TreasuryFinancialAccountPlatformRestrictionsOutboundFlowsRestricted   TreasuryFinancialAccountPlatformRestrictionsOutboundFlows = "restricted"
    75  	TreasuryFinancialAccountPlatformRestrictionsOutboundFlowsUnrestricted TreasuryFinancialAccountPlatformRestrictionsOutboundFlows = "unrestricted"
    76  )
    77  
    78  // The array of paths to restricted Features in the Features hash.
    79  type TreasuryFinancialAccountRestrictedFeature string
    80  
    81  // List of values that TreasuryFinancialAccountRestrictedFeature can take
    82  const (
    83  	TreasuryFinancialAccountRestrictedFeatureCardIssuing                     TreasuryFinancialAccountRestrictedFeature = "card_issuing"
    84  	TreasuryFinancialAccountRestrictedFeatureDepositInsurance                TreasuryFinancialAccountRestrictedFeature = "deposit_insurance"
    85  	TreasuryFinancialAccountRestrictedFeatureFinancialAddressesABA           TreasuryFinancialAccountRestrictedFeature = "financial_addresses.aba"
    86  	TreasuryFinancialAccountRestrictedFeatureInboundTransfersACH             TreasuryFinancialAccountRestrictedFeature = "inbound_transfers.ach"
    87  	TreasuryFinancialAccountRestrictedFeatureIntraStripeFlows                TreasuryFinancialAccountRestrictedFeature = "intra_stripe_flows"
    88  	TreasuryFinancialAccountRestrictedFeatureOutboundPaymentsACH             TreasuryFinancialAccountRestrictedFeature = "outbound_payments.ach"
    89  	TreasuryFinancialAccountRestrictedFeatureOutboundPaymentsUSDomesticWire  TreasuryFinancialAccountRestrictedFeature = "outbound_payments.us_domestic_wire"
    90  	TreasuryFinancialAccountRestrictedFeatureOutboundTransfersACH            TreasuryFinancialAccountRestrictedFeature = "outbound_transfers.ach"
    91  	TreasuryFinancialAccountRestrictedFeatureOutboundTransfersUSDomesticWire TreasuryFinancialAccountRestrictedFeature = "outbound_transfers.us_domestic_wire"
    92  	TreasuryFinancialAccountRestrictedFeatureRemoteDepositCapture            TreasuryFinancialAccountRestrictedFeature = "remote_deposit_capture"
    93  )
    94  
    95  // The enum specifying what state the account is in.
    96  type TreasuryFinancialAccountStatus string
    97  
    98  // List of values that TreasuryFinancialAccountStatus can take
    99  const (
   100  	TreasuryFinancialAccountStatusClosed TreasuryFinancialAccountStatus = "closed"
   101  	TreasuryFinancialAccountStatusOpen   TreasuryFinancialAccountStatus = "open"
   102  )
   103  
   104  // The array that contains reasons for a FinancialAccount closure.
   105  type TreasuryFinancialAccountStatusDetailsClosedReason string
   106  
   107  // List of values that TreasuryFinancialAccountStatusDetailsClosedReason can take
   108  const (
   109  	TreasuryFinancialAccountStatusDetailsClosedReasonAccountRejected  TreasuryFinancialAccountStatusDetailsClosedReason = "account_rejected"
   110  	TreasuryFinancialAccountStatusDetailsClosedReasonClosedByPlatform TreasuryFinancialAccountStatusDetailsClosedReason = "closed_by_platform"
   111  	TreasuryFinancialAccountStatusDetailsClosedReasonOther            TreasuryFinancialAccountStatusDetailsClosedReason = "other"
   112  )
   113  
   114  // Returns a list of FinancialAccounts.
   115  type TreasuryFinancialAccountListParams struct {
   116  	ListParams `form:"*"`
   117  	// Only return FinancialAccounts that were created during the given date interval.
   118  	Created *int64 `form:"created"`
   119  	// Only return FinancialAccounts that were created during the given date interval.
   120  	CreatedRange *RangeQueryParams `form:"created"`
   121  	// Specifies which fields in the response should be expanded.
   122  	Expand []*string `form:"expand"`
   123  }
   124  
   125  // AddExpand appends a new field to expand.
   126  func (p *TreasuryFinancialAccountListParams) AddExpand(f string) {
   127  	p.Expand = append(p.Expand, &f)
   128  }
   129  
   130  // Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.
   131  type TreasuryFinancialAccountFeaturesCardIssuingParams struct {
   132  	// Whether the FinancialAccount should have the Feature.
   133  	Requested *bool `form:"requested"`
   134  }
   135  
   136  // Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.
   137  type TreasuryFinancialAccountFeaturesDepositInsuranceParams struct {
   138  	// Whether the FinancialAccount should have the Feature.
   139  	Requested *bool `form:"requested"`
   140  }
   141  
   142  // Adds an ABA FinancialAddress to the FinancialAccount.
   143  type TreasuryFinancialAccountFeaturesFinancialAddressesABAParams struct {
   144  	// Whether the FinancialAccount should have the Feature.
   145  	Requested *bool `form:"requested"`
   146  }
   147  
   148  // Contains Features that add FinancialAddresses to the FinancialAccount.
   149  type TreasuryFinancialAccountFeaturesFinancialAddressesParams struct {
   150  	// Adds an ABA FinancialAddress to the FinancialAccount.
   151  	ABA *TreasuryFinancialAccountFeaturesFinancialAddressesABAParams `form:"aba"`
   152  }
   153  
   154  // Enables ACH Debits via the InboundTransfers API.
   155  type TreasuryFinancialAccountFeaturesInboundTransfersACHParams struct {
   156  	// Whether the FinancialAccount should have the Feature.
   157  	Requested *bool `form:"requested"`
   158  }
   159  
   160  // Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.
   161  type TreasuryFinancialAccountFeaturesInboundTransfersParams struct {
   162  	// Enables ACH Debits via the InboundTransfers API.
   163  	ACH *TreasuryFinancialAccountFeaturesInboundTransfersACHParams `form:"ach"`
   164  }
   165  
   166  // Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).
   167  type TreasuryFinancialAccountFeaturesIntraStripeFlowsParams struct {
   168  	// Whether the FinancialAccount should have the Feature.
   169  	Requested *bool `form:"requested"`
   170  }
   171  
   172  // Enables ACH transfers via the OutboundPayments API.
   173  type TreasuryFinancialAccountFeaturesOutboundPaymentsACHParams struct {
   174  	// Whether the FinancialAccount should have the Feature.
   175  	Requested *bool `form:"requested"`
   176  }
   177  
   178  // Enables US domestic wire transfers via the OutboundPayments API.
   179  type TreasuryFinancialAccountFeaturesOutboundPaymentsUSDomesticWireParams struct {
   180  	// Whether the FinancialAccount should have the Feature.
   181  	Requested *bool `form:"requested"`
   182  }
   183  
   184  // Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.
   185  type TreasuryFinancialAccountFeaturesOutboundPaymentsParams struct {
   186  	// Enables ACH transfers via the OutboundPayments API.
   187  	ACH *TreasuryFinancialAccountFeaturesOutboundPaymentsACHParams `form:"ach"`
   188  	// Enables US domestic wire transfers via the OutboundPayments API.
   189  	USDomesticWire *TreasuryFinancialAccountFeaturesOutboundPaymentsUSDomesticWireParams `form:"us_domestic_wire"`
   190  }
   191  
   192  // Enables ACH transfers via the OutboundTransfers API.
   193  type TreasuryFinancialAccountFeaturesOutboundTransfersACHParams struct {
   194  	// Whether the FinancialAccount should have the Feature.
   195  	Requested *bool `form:"requested"`
   196  }
   197  
   198  // Enables US domestic wire transfers via the OutboundTransfers API.
   199  type TreasuryFinancialAccountFeaturesOutboundTransfersUSDomesticWireParams struct {
   200  	// Whether the FinancialAccount should have the Feature.
   201  	Requested *bool `form:"requested"`
   202  }
   203  
   204  // Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.
   205  type TreasuryFinancialAccountFeaturesOutboundTransfersParams struct {
   206  	// Enables ACH transfers via the OutboundTransfers API.
   207  	ACH *TreasuryFinancialAccountFeaturesOutboundTransfersACHParams `form:"ach"`
   208  	// Enables US domestic wire transfers via the OutboundTransfers API.
   209  	USDomesticWire *TreasuryFinancialAccountFeaturesOutboundTransfersUSDomesticWireParams `form:"us_domestic_wire"`
   210  }
   211  
   212  // Encodes whether a FinancialAccount has access to a particular feature. Stripe or the platform can control features via the requested field.
   213  type TreasuryFinancialAccountFeaturesParams struct {
   214  	// Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.
   215  	CardIssuing *TreasuryFinancialAccountFeaturesCardIssuingParams `form:"card_issuing"`
   216  	// Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.
   217  	DepositInsurance *TreasuryFinancialAccountFeaturesDepositInsuranceParams `form:"deposit_insurance"`
   218  	// Contains Features that add FinancialAddresses to the FinancialAccount.
   219  	FinancialAddresses *TreasuryFinancialAccountFeaturesFinancialAddressesParams `form:"financial_addresses"`
   220  	// Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.
   221  	InboundTransfers *TreasuryFinancialAccountFeaturesInboundTransfersParams `form:"inbound_transfers"`
   222  	// Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).
   223  	IntraStripeFlows *TreasuryFinancialAccountFeaturesIntraStripeFlowsParams `form:"intra_stripe_flows"`
   224  	// Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.
   225  	OutboundPayments *TreasuryFinancialAccountFeaturesOutboundPaymentsParams `form:"outbound_payments"`
   226  	// Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.
   227  	OutboundTransfers *TreasuryFinancialAccountFeaturesOutboundTransfersParams `form:"outbound_transfers"`
   228  }
   229  
   230  // The set of functionalities that the platform can restrict on the FinancialAccount.
   231  type TreasuryFinancialAccountPlatformRestrictionsParams struct {
   232  	// Restricts all inbound money movement.
   233  	InboundFlows *string `form:"inbound_flows"`
   234  	// Restricts all outbound money movement.
   235  	OutboundFlows *string `form:"outbound_flows"`
   236  }
   237  
   238  // Creates a new FinancialAccount. For now, each connected account can only have one FinancialAccount.
   239  type TreasuryFinancialAccountParams struct {
   240  	Params `form:"*"`
   241  	// Specifies which fields in the response should be expanded.
   242  	Expand []*string `form:"expand"`
   243  	// Encodes whether a FinancialAccount has access to a particular feature, with a status enum and associated `status_details`. Stripe or the platform may control features via the requested field.
   244  	Features *TreasuryFinancialAccountFeaturesParams `form:"features"`
   245  	// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
   246  	Metadata map[string]string `form:"metadata"`
   247  	// The set of functionalities that the platform can restrict on the FinancialAccount.
   248  	PlatformRestrictions *TreasuryFinancialAccountPlatformRestrictionsParams `form:"platform_restrictions"`
   249  	// The currencies the FinancialAccount can hold a balance in.
   250  	SupportedCurrencies []*string `form:"supported_currencies"`
   251  }
   252  
   253  // AddExpand appends a new field to expand.
   254  func (p *TreasuryFinancialAccountParams) AddExpand(f string) {
   255  	p.Expand = append(p.Expand, &f)
   256  }
   257  
   258  // AddMetadata adds a new key-value pair to the Metadata.
   259  func (p *TreasuryFinancialAccountParams) AddMetadata(key string, value string) {
   260  	if p.Metadata == nil {
   261  		p.Metadata = make(map[string]string)
   262  	}
   263  
   264  	p.Metadata[key] = value
   265  }
   266  
   267  // Retrieves Features information associated with the FinancialAccount.
   268  type TreasuryFinancialAccountRetrieveFeaturesParams struct {
   269  	Params `form:"*"`
   270  	// Specifies which fields in the response should be expanded.
   271  	Expand []*string `form:"expand"`
   272  }
   273  
   274  // AddExpand appends a new field to expand.
   275  func (p *TreasuryFinancialAccountRetrieveFeaturesParams) AddExpand(f string) {
   276  	p.Expand = append(p.Expand, &f)
   277  }
   278  
   279  // Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.
   280  type TreasuryFinancialAccountUpdateFeaturesCardIssuingParams struct {
   281  	// Whether the FinancialAccount should have the Feature.
   282  	Requested *bool `form:"requested"`
   283  }
   284  
   285  // Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.
   286  type TreasuryFinancialAccountUpdateFeaturesDepositInsuranceParams struct {
   287  	// Whether the FinancialAccount should have the Feature.
   288  	Requested *bool `form:"requested"`
   289  }
   290  
   291  // Adds an ABA FinancialAddress to the FinancialAccount.
   292  type TreasuryFinancialAccountUpdateFeaturesFinancialAddressesABAParams struct {
   293  	// Whether the FinancialAccount should have the Feature.
   294  	Requested *bool `form:"requested"`
   295  }
   296  
   297  // Contains Features that add FinancialAddresses to the FinancialAccount.
   298  type TreasuryFinancialAccountUpdateFeaturesFinancialAddressesParams struct {
   299  	// Adds an ABA FinancialAddress to the FinancialAccount.
   300  	ABA *TreasuryFinancialAccountUpdateFeaturesFinancialAddressesABAParams `form:"aba"`
   301  }
   302  
   303  // Enables ACH Debits via the InboundTransfers API.
   304  type TreasuryFinancialAccountUpdateFeaturesInboundTransfersACHParams struct {
   305  	// Whether the FinancialAccount should have the Feature.
   306  	Requested *bool `form:"requested"`
   307  }
   308  
   309  // Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.
   310  type TreasuryFinancialAccountUpdateFeaturesInboundTransfersParams struct {
   311  	// Enables ACH Debits via the InboundTransfers API.
   312  	ACH *TreasuryFinancialAccountUpdateFeaturesInboundTransfersACHParams `form:"ach"`
   313  }
   314  
   315  // Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).
   316  type TreasuryFinancialAccountUpdateFeaturesIntraStripeFlowsParams struct {
   317  	// Whether the FinancialAccount should have the Feature.
   318  	Requested *bool `form:"requested"`
   319  }
   320  
   321  // Enables ACH transfers via the OutboundPayments API.
   322  type TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsACHParams struct {
   323  	// Whether the FinancialAccount should have the Feature.
   324  	Requested *bool `form:"requested"`
   325  }
   326  
   327  // Enables US domestic wire transfers via the OutboundPayments API.
   328  type TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsUSDomesticWireParams struct {
   329  	// Whether the FinancialAccount should have the Feature.
   330  	Requested *bool `form:"requested"`
   331  }
   332  
   333  // Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.
   334  type TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsParams struct {
   335  	// Enables ACH transfers via the OutboundPayments API.
   336  	ACH *TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsACHParams `form:"ach"`
   337  	// Enables US domestic wire transfers via the OutboundPayments API.
   338  	USDomesticWire *TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsUSDomesticWireParams `form:"us_domestic_wire"`
   339  }
   340  
   341  // Enables ACH transfers via the OutboundTransfers API.
   342  type TreasuryFinancialAccountUpdateFeaturesOutboundTransfersACHParams struct {
   343  	// Whether the FinancialAccount should have the Feature.
   344  	Requested *bool `form:"requested"`
   345  }
   346  
   347  // Enables US domestic wire transfers via the OutboundTransfers API.
   348  type TreasuryFinancialAccountUpdateFeaturesOutboundTransfersUSDomesticWireParams struct {
   349  	// Whether the FinancialAccount should have the Feature.
   350  	Requested *bool `form:"requested"`
   351  }
   352  
   353  // Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.
   354  type TreasuryFinancialAccountUpdateFeaturesOutboundTransfersParams struct {
   355  	// Enables ACH transfers via the OutboundTransfers API.
   356  	ACH *TreasuryFinancialAccountUpdateFeaturesOutboundTransfersACHParams `form:"ach"`
   357  	// Enables US domestic wire transfers via the OutboundTransfers API.
   358  	USDomesticWire *TreasuryFinancialAccountUpdateFeaturesOutboundTransfersUSDomesticWireParams `form:"us_domestic_wire"`
   359  }
   360  
   361  // Updates the Features associated with a FinancialAccount.
   362  type TreasuryFinancialAccountUpdateFeaturesParams struct {
   363  	Params `form:"*"`
   364  	// Encodes the FinancialAccount's ability to be used with the Issuing product, including attaching cards to and drawing funds from the FinancialAccount.
   365  	CardIssuing *TreasuryFinancialAccountUpdateFeaturesCardIssuingParams `form:"card_issuing"`
   366  	// Represents whether this FinancialAccount is eligible for deposit insurance. Various factors determine the insurance amount.
   367  	DepositInsurance *TreasuryFinancialAccountUpdateFeaturesDepositInsuranceParams `form:"deposit_insurance"`
   368  	// Specifies which fields in the response should be expanded.
   369  	Expand []*string `form:"expand"`
   370  	// Contains Features that add FinancialAddresses to the FinancialAccount.
   371  	FinancialAddresses *TreasuryFinancialAccountUpdateFeaturesFinancialAddressesParams `form:"financial_addresses"`
   372  	// Contains settings related to adding funds to a FinancialAccount from another Account with the same owner.
   373  	InboundTransfers *TreasuryFinancialAccountUpdateFeaturesInboundTransfersParams `form:"inbound_transfers"`
   374  	// Represents the ability for the FinancialAccount to send money to, or receive money from other FinancialAccounts (for example, via OutboundPayment).
   375  	IntraStripeFlows *TreasuryFinancialAccountUpdateFeaturesIntraStripeFlowsParams `form:"intra_stripe_flows"`
   376  	// Includes Features related to initiating money movement out of the FinancialAccount to someone else's bucket of money.
   377  	OutboundPayments *TreasuryFinancialAccountUpdateFeaturesOutboundPaymentsParams `form:"outbound_payments"`
   378  	// Contains a Feature and settings related to moving money out of the FinancialAccount into another Account with the same owner.
   379  	OutboundTransfers *TreasuryFinancialAccountUpdateFeaturesOutboundTransfersParams `form:"outbound_transfers"`
   380  }
   381  
   382  // AddExpand appends a new field to expand.
   383  func (p *TreasuryFinancialAccountUpdateFeaturesParams) AddExpand(f string) {
   384  	p.Expand = append(p.Expand, &f)
   385  }
   386  
   387  // Balance information for the FinancialAccount
   388  type TreasuryFinancialAccountBalance struct {
   389  	// Funds the user can spend right now.
   390  	Cash map[string]int64 `json:"cash"`
   391  	// Funds not spendable yet, but will become available at a later time.
   392  	InboundPending map[string]int64 `json:"inbound_pending"`
   393  	// Funds in the account, but not spendable because they are being held for pending outbound flows.
   394  	OutboundPending map[string]int64 `json:"outbound_pending"`
   395  }
   396  
   397  // ABA Records contain U.S. bank account details per the ABA format.
   398  type TreasuryFinancialAccountFinancialAddressABA struct {
   399  	// The name of the person or business that owns the bank account.
   400  	AccountHolderName string `json:"account_holder_name"`
   401  	// The account number.
   402  	AccountNumber string `json:"account_number"`
   403  	// The last four characters of the account number.
   404  	AccountNumberLast4 string `json:"account_number_last4"`
   405  	// Name of the bank.
   406  	BankName string `json:"bank_name"`
   407  	// Routing number for the account.
   408  	RoutingNumber string `json:"routing_number"`
   409  }
   410  
   411  // The set of credentials that resolve to a FinancialAccount.
   412  type TreasuryFinancialAccountFinancialAddress struct {
   413  	// ABA Records contain U.S. bank account details per the ABA format.
   414  	ABA *TreasuryFinancialAccountFinancialAddressABA `json:"aba"`
   415  	// The list of networks that the address supports
   416  	SupportedNetworks []TreasuryFinancialAccountFinancialAddressSupportedNetwork `json:"supported_networks"`
   417  	// The type of financial address
   418  	Type TreasuryFinancialAccountFinancialAddressType `json:"type"`
   419  }
   420  
   421  // The set of functionalities that the platform can restrict on the FinancialAccount.
   422  type TreasuryFinancialAccountPlatformRestrictions struct {
   423  	// Restricts all inbound money movement.
   424  	InboundFlows TreasuryFinancialAccountPlatformRestrictionsInboundFlows `json:"inbound_flows"`
   425  	// Restricts all outbound money movement.
   426  	OutboundFlows TreasuryFinancialAccountPlatformRestrictionsOutboundFlows `json:"outbound_flows"`
   427  }
   428  
   429  // Details related to the closure of this FinancialAccount
   430  type TreasuryFinancialAccountStatusDetailsClosed struct {
   431  	// The array that contains reasons for a FinancialAccount closure.
   432  	Reasons []TreasuryFinancialAccountStatusDetailsClosedReason `json:"reasons"`
   433  }
   434  type TreasuryFinancialAccountStatusDetails struct {
   435  	// Details related to the closure of this FinancialAccount
   436  	Closed *TreasuryFinancialAccountStatusDetailsClosed `json:"closed"`
   437  }
   438  
   439  // Stripe Treasury provides users with a container for money called a FinancialAccount that is separate from their Payments balance.
   440  // FinancialAccounts serve as the source and destination of Treasury's money movement APIs.
   441  type TreasuryFinancialAccount struct {
   442  	APIResource
   443  	// The array of paths to active Features in the Features hash.
   444  	ActiveFeatures []TreasuryFinancialAccountActiveFeature `json:"active_features"`
   445  	// Balance information for the FinancialAccount
   446  	Balance *TreasuryFinancialAccountBalance `json:"balance"`
   447  	// Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
   448  	Country string `json:"country"`
   449  	// Time at which the object was created. Measured in seconds since the Unix epoch.
   450  	Created int64 `json:"created"`
   451  	// Encodes whether a FinancialAccount has access to a particular Feature, with a `status` enum and associated `status_details`.
   452  	// Stripe or the platform can control Features via the requested field.
   453  	Features *TreasuryFinancialAccountFeatures `json:"features"`
   454  	// The set of credentials that resolve to a FinancialAccount.
   455  	FinancialAddresses []*TreasuryFinancialAccountFinancialAddress `json:"financial_addresses"`
   456  	// Unique identifier for the object.
   457  	ID string `json:"id"`
   458  	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
   459  	Livemode bool `json:"livemode"`
   460  	// Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
   461  	Metadata map[string]string `json:"metadata"`
   462  	// String representing the object's type. Objects of the same type share the same value.
   463  	Object string `json:"object"`
   464  	// The array of paths to pending Features in the Features hash.
   465  	PendingFeatures []TreasuryFinancialAccountPendingFeature `json:"pending_features"`
   466  	// The set of functionalities that the platform can restrict on the FinancialAccount.
   467  	PlatformRestrictions *TreasuryFinancialAccountPlatformRestrictions `json:"platform_restrictions"`
   468  	// The array of paths to restricted Features in the Features hash.
   469  	RestrictedFeatures []TreasuryFinancialAccountRestrictedFeature `json:"restricted_features"`
   470  	// The enum specifying what state the account is in.
   471  	Status        TreasuryFinancialAccountStatus         `json:"status"`
   472  	StatusDetails *TreasuryFinancialAccountStatusDetails `json:"status_details"`
   473  	// The currencies the FinancialAccount can hold a balance in. Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase.
   474  	SupportedCurrencies []Currency `json:"supported_currencies"`
   475  }
   476  
   477  // TreasuryFinancialAccountList is a list of FinancialAccounts as retrieved from a list endpoint.
   478  type TreasuryFinancialAccountList struct {
   479  	APIResource
   480  	ListMeta
   481  	Data []*TreasuryFinancialAccount `json:"data"`
   482  }