diff --git a/rbi/stripe.rbi b/rbi/stripe.rbi index ae95c3dd..6c49a0c3 100644 --- a/rbi/stripe.rbi +++ b/rbi/stripe.rbi @@ -1,4474 +1,6 @@ # File generated from our OpenAPI spec # frozen_string_literal: true -# typed: true -module Stripe - module V2 - module Core - # A V2 Account is a representation of a company or individual that a Stripe user does business with. Accounts contain the contact details, Legal Entity information, and configuration required to enable the Account for use across Stripe products. - class Account < APIResource - class Configuration < Stripe::StripeObject - class Customer < Stripe::StripeObject - class AutomaticIndirectTax < Stripe::StripeObject - class Location < Stripe::StripeObject - # The identified tax country of the customer. - sig { returns(T.nilable(String)) } - attr_reader :country - # The identified tax state, county, province, or region of the customer. - sig { returns(T.nilable(String)) } - attr_reader :state - end - # Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to reverse, invoice and receipt PDFs include the following text: “Reverse charge”. - sig { returns(T.nilable(String)) } - attr_reader :exempt - # A recent IP address of the customer used for tax reporting and tax location inference. - sig { returns(T.nilable(String)) } - attr_reader :ip_address - # The customer’s identified tax location - uses `location_source`. Will only be rendered if the `automatic_indirect_tax` feature is requested and `active`. - sig { returns(T.nilable(Location)) } - attr_reader :location - # The data source used to identify the customer's tax location - defaults to 'identity_address'. Will only be used for automatic tax calculation on the customer's Invoices and Subscriptions. - sig { returns(T.nilable(String)) } - attr_reader :location_source - end - class Billing < Stripe::StripeObject - class Invoice < Stripe::StripeObject - class CustomField < Stripe::StripeObject - # The name of the custom field. This may be up to 40 characters. - sig { returns(String) } - attr_reader :name - # The value of the custom field. This may be up to 140 characters. When updating, pass an empty string to remove previously-defined values. - sig { returns(String) } - attr_reader :value - end - class Rendering < Stripe::StripeObject - # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. - sig { returns(T.nilable(String)) } - attr_reader :amount_tax_display - # ID of the invoice rendering template to use for future invoices. - sig { returns(T.nilable(String)) } - attr_reader :template - end - # The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. - sig { returns(T::Array[CustomField]) } - attr_reader :custom_fields - # Default footer to be displayed on invoices for this customer. - sig { returns(T.nilable(String)) } - attr_reader :footer - # The sequence to be used on the customer's next invoice. Defaults to 1. - sig { returns(T.nilable(Integer)) } - attr_reader :next_sequence - # The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. - sig { returns(T.nilable(String)) } - attr_reader :prefix - # Default options for invoice PDF rendering for this customer. - sig { returns(T.nilable(Rendering)) } - attr_reader :rendering - end - # ID of a payment method that’s attached to the customer, to be used as the customer’s default payment method for invoices and subscriptions. - sig { returns(T.nilable(String)) } - attr_reader :default_payment_method - # Default settings used on invoices for this customer. - sig { returns(T.nilable(Invoice)) } - attr_reader :invoice - end - class Capabilities < Stripe::StripeObject - class AutomaticIndirectTax < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - # Generates requirements for enabling automatic indirect tax calculation on this customer's invoices or subscriptions. Recommended to request this capability if planning to enable automatic tax calculation on this customer's invoices or subscriptions. Uses the `location_source` field. - sig { returns(T.nilable(AutomaticIndirectTax)) } - attr_reader :automatic_indirect_tax - end - class Shipping < Stripe::StripeObject - class Address < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - end - # Customer shipping address. - sig { returns(T.nilable(Address)) } - attr_reader :address - # Customer name. - sig { returns(T.nilable(String)) } - attr_reader :name - # Customer phone (including extension). - sig { returns(T.nilable(String)) } - attr_reader :phone - end - # Automatic indirect tax settings to be used when automatic tax calculation is enabled on the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if automatic tax calculation is possible given the current customer location information. - sig { returns(T.nilable(AutomaticIndirectTax)) } - attr_reader :automatic_indirect_tax - # Billing settings - default settings used for this customer in Billing flows such as Invoices and Subscriptions. - sig { returns(T.nilable(Billing)) } - attr_reader :billing - # Capabilities that have been requested on the Customer Configuration. - sig { returns(T.nilable(Capabilities)) } - attr_reader :capabilities - # The customer's shipping information. Appears on invoices emailed to this customer. - sig { returns(T.nilable(Shipping)) } - attr_reader :shipping - # ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and when the Customer Configuration is first set on an Account. - sig { returns(T.nilable(String)) } - attr_reader :test_clock - end - class Merchant < Stripe::StripeObject - class BacsDebitPayments < Stripe::StripeObject - # Display name for Bacs debit payments. - sig { returns(T.nilable(String)) } - attr_reader :display_name - # Service user number for Bacs debit payments. - sig { returns(T.nilable(String)) } - attr_reader :service_user_number - end - class Branding < Stripe::StripeObject - # ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): An icon for the merchant. Must be square and at least 128px x 128px. - sig { returns(T.nilable(String)) } - attr_reader :icon - # ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. - sig { returns(T.nilable(String)) } - attr_reader :logo - # A CSS hex color value representing the primary branding color for the merchant. - sig { returns(T.nilable(String)) } - attr_reader :primary_color - # A CSS hex color value representing the secondary branding color for the merchant. - sig { returns(T.nilable(String)) } - attr_reader :secondary_color - end - class Capabilities < Stripe::StripeObject - class AchDebitPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AcssDebitPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AffirmPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AfterpayClearpayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AlmaPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AmazonPayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class AuBecsDebitPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class BacsDebitPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class BancontactPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class BlikPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class BoletoPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class CardPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class CartesBancairesPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class CashappPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class EpsPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class FpxPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class GbBankTransferPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class GrabpayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class IdealPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class JcbPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class JpBankTransferPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class KakaoPayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class KlarnaPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class KonbiniPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class KrCardPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class LinkPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class MobilepayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class MultibancoPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class MxBankTransferPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class NaverPayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class OxxoPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class P24Payments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class PayByBankPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class PaycoPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class PaynowPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class PromptpayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class RevolutPayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class SamsungPayPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class SepaBankTransferPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class SepaDebitPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class StripeBalance < Stripe::StripeObject - class Payouts < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - # Allows the account to do payouts using their Stripe Balance (/v1/balance). - sig { returns(T.nilable(Payouts)) } - attr_reader :payouts - end - class SwishPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class TwintPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class UsBankTransferPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class ZipPayments < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - # Allow the merchant to process ACH debit payments. - sig { returns(T.nilable(AchDebitPayments)) } - attr_reader :ach_debit_payments - # Allow the merchant to process ACSS debit payments. - sig { returns(T.nilable(AcssDebitPayments)) } - attr_reader :acss_debit_payments - # Allow the merchant to process Affirm payments. - sig { returns(T.nilable(AffirmPayments)) } - attr_reader :affirm_payments - # Allow the merchant to process Afterpay/Clearpay payments. - sig { returns(T.nilable(AfterpayClearpayPayments)) } - attr_reader :afterpay_clearpay_payments - # Allow the merchant to process Alma payments. - sig { returns(T.nilable(AlmaPayments)) } - attr_reader :alma_payments - # Allow the merchant to process Amazon Pay payments. - sig { returns(T.nilable(AmazonPayPayments)) } - attr_reader :amazon_pay_payments - # Allow the merchant to process Australian BECS Direct Debit payments. - sig { returns(T.nilable(AuBecsDebitPayments)) } - attr_reader :au_becs_debit_payments - # Allow the merchant to process BACS Direct Debit payments. - sig { returns(T.nilable(BacsDebitPayments)) } - attr_reader :bacs_debit_payments - # Allow the merchant to process Bancontact payments. - sig { returns(T.nilable(BancontactPayments)) } - attr_reader :bancontact_payments - # Allow the merchant to process BLIK payments. - sig { returns(T.nilable(BlikPayments)) } - attr_reader :blik_payments - # Allow the merchant to process Boleto payments. - sig { returns(T.nilable(BoletoPayments)) } - attr_reader :boleto_payments - # Allow the merchant to collect card payments. - sig { returns(T.nilable(CardPayments)) } - attr_reader :card_payments - # Allow the merchant to process Cartes Bancaires payments. - sig { returns(T.nilable(CartesBancairesPayments)) } - attr_reader :cartes_bancaires_payments - # Allow the merchant to process Cash App payments. - sig { returns(T.nilable(CashappPayments)) } - attr_reader :cashapp_payments - # Allow the merchant to process EPS payments. - sig { returns(T.nilable(EpsPayments)) } - attr_reader :eps_payments - # Allow the merchant to process FPX payments. - sig { returns(T.nilable(FpxPayments)) } - attr_reader :fpx_payments - # Allow the merchant to process UK bank transfer payments. - sig { returns(T.nilable(GbBankTransferPayments)) } - attr_reader :gb_bank_transfer_payments - # Allow the merchant to process GrabPay payments. - sig { returns(T.nilable(GrabpayPayments)) } - attr_reader :grabpay_payments - # Allow the merchant to process iDEAL payments. - sig { returns(T.nilable(IdealPayments)) } - attr_reader :ideal_payments - # Allow the merchant to process JCB card payments. - sig { returns(T.nilable(JcbPayments)) } - attr_reader :jcb_payments - # Allow the merchant to process Japanese bank transfer payments. - sig { returns(T.nilable(JpBankTransferPayments)) } - attr_reader :jp_bank_transfer_payments - # Allow the merchant to process Kakao Pay payments. - sig { returns(T.nilable(KakaoPayPayments)) } - attr_reader :kakao_pay_payments - # Allow the merchant to process Klarna payments. - sig { returns(T.nilable(KlarnaPayments)) } - attr_reader :klarna_payments - # Allow the merchant to process Konbini convenience store payments. - sig { returns(T.nilable(KonbiniPayments)) } - attr_reader :konbini_payments - # Allow the merchant to process Korean card payments. - sig { returns(T.nilable(KrCardPayments)) } - attr_reader :kr_card_payments - # Allow the merchant to process Link payments. - sig { returns(T.nilable(LinkPayments)) } - attr_reader :link_payments - # Allow the merchant to process MobilePay payments. - sig { returns(T.nilable(MobilepayPayments)) } - attr_reader :mobilepay_payments - # Allow the merchant to process Multibanco payments. - sig { returns(T.nilable(MultibancoPayments)) } - attr_reader :multibanco_payments - # Allow the merchant to process Mexican bank transfer payments. - sig { returns(T.nilable(MxBankTransferPayments)) } - attr_reader :mx_bank_transfer_payments - # Allow the merchant to process Naver Pay payments. - sig { returns(T.nilable(NaverPayPayments)) } - attr_reader :naver_pay_payments - # Allow the merchant to process OXXO payments. - sig { returns(T.nilable(OxxoPayments)) } - attr_reader :oxxo_payments - # Allow the merchant to process Przelewy24 (P24) payments. - sig { returns(T.nilable(P24Payments)) } - attr_reader :p24_payments - # Allow the merchant to process Pay by Bank payments. - sig { returns(T.nilable(PayByBankPayments)) } - attr_reader :pay_by_bank_payments - # Allow the merchant to process PAYCO payments. - sig { returns(T.nilable(PaycoPayments)) } - attr_reader :payco_payments - # Allow the merchant to process PayNow payments. - sig { returns(T.nilable(PaynowPayments)) } - attr_reader :paynow_payments - # Allow the merchant to process PromptPay payments. - sig { returns(T.nilable(PromptpayPayments)) } - attr_reader :promptpay_payments - # Allow the merchant to process Revolut Pay payments. - sig { returns(T.nilable(RevolutPayPayments)) } - attr_reader :revolut_pay_payments - # Allow the merchant to process Samsung Pay payments. - sig { returns(T.nilable(SamsungPayPayments)) } - attr_reader :samsung_pay_payments - # Allow the merchant to process SEPA bank transfer payments. - sig { returns(T.nilable(SepaBankTransferPayments)) } - attr_reader :sepa_bank_transfer_payments - # Allow the merchant to process SEPA Direct Debit payments. - sig { returns(T.nilable(SepaDebitPayments)) } - attr_reader :sepa_debit_payments - # Capabilities that enable the merchant to manage their Stripe Balance (/v1/balance). - sig { returns(T.nilable(StripeBalance)) } - attr_reader :stripe_balance - # Allow the merchant to process Swish payments. - sig { returns(T.nilable(SwishPayments)) } - attr_reader :swish_payments - # Allow the merchant to process TWINT payments. - sig { returns(T.nilable(TwintPayments)) } - attr_reader :twint_payments - # Allow the merchant to process US bank transfer payments. - sig { returns(T.nilable(UsBankTransferPayments)) } - attr_reader :us_bank_transfer_payments - # Allow the merchant to process Zip payments. - sig { returns(T.nilable(ZipPayments)) } - attr_reader :zip_payments - end - class CardPayments < Stripe::StripeObject - class DeclineOn < Stripe::StripeObject - # Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :avs_failure - # Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :cvc_failure - end - # Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge. - sig { returns(T.nilable(DeclineOn)) } - attr_reader :decline_on - end - class SepaDebitPayments < Stripe::StripeObject - # Creditor ID for SEPA debit payments. - sig { returns(T.nilable(String)) } - attr_reader :creditor_id - end - class StatementDescriptor < Stripe::StripeObject - # The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don’t set a statement_descriptor_prefix, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the statement_descriptor text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the Merchant Configuration settings documentation. - sig { returns(T.nilable(String)) } - attr_reader :descriptor - # Default text that appears on statements for card charges outside of Japan, prefixing any dynamic statement_descriptor_suffix specified on the charge. To maximize space for the dynamic part of the descriptor, keep this text short. If you don’t specify this value, statement_descriptor is used as the prefix. For more information about statement descriptors and their requirements, see the Merchant Configuration settings documentation. - sig { returns(T.nilable(String)) } - attr_reader :prefix - end - class Support < Stripe::StripeObject - class Address < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - # A publicly available mailing address for sending support issues to. - sig { returns(T.nilable(Address)) } - attr_reader :address - # A publicly available email address for sending support issues to. - sig { returns(T.nilable(String)) } - attr_reader :email - # A publicly available phone number to call with support issues. - sig { returns(T.nilable(String)) } - attr_reader :phone - # A publicly available website for handling support issues. - sig { returns(T.nilable(String)) } - attr_reader :url - end - # Settings used for Bacs debit payments. - sig { returns(T.nilable(BacsDebitPayments)) } - attr_reader :bacs_debit_payments - # Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and other products. - sig { returns(T.nilable(Branding)) } - attr_reader :branding - # Capabilities that have been requested on the Merchant Configuration. - sig { returns(T.nilable(Capabilities)) } - attr_reader :capabilities - # Card payments settings. - sig { returns(T.nilable(CardPayments)) } - attr_reader :card_payments - # The merchant category code for the merchant. MCCs are used to classify businesses based on the goods or services they provide. - sig { returns(T.nilable(String)) } - attr_reader :mcc - # Settings used for SEPA debit payments. - sig { returns(T.nilable(SepaDebitPayments)) } - attr_reader :sepa_debit_payments - # Statement descriptor. - sig { returns(T.nilable(StatementDescriptor)) } - attr_reader :statement_descriptor - # Publicly available contact information for sending support issues to. - sig { returns(T.nilable(Support)) } - attr_reader :support - end - class Recipient < Stripe::StripeObject - class Capabilities < Stripe::StripeObject - class BankAccounts < Stripe::StripeObject - class Local < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class Wire < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - # Enables this Account to receive OutboundPayments to linked bank accounts over local networks. - sig { returns(T.nilable(Local)) } - attr_reader :local - # Enables this Account to receive OutboundPayments to linked bank accounts over wire. - sig { returns(T.nilable(Wire)) } - attr_reader :wire - end - class Cards < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class StripeBalance < Stripe::StripeObject - class Payouts < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - class StripeTransfers < Stripe::StripeObject - class StatusDetail < Stripe::StripeObject - # Machine-readable code explaining the reason for the Capability to be in its current status. - sig { returns(String) } - attr_reader :code - # Machine-readable code explaining how to make the Capability active. - sig { returns(String) } - attr_reader :resolution - end - # Whether the Capability has been requested. - sig { returns(T::Boolean) } - attr_reader :requested - # The status of the Capability. - sig { returns(String) } - attr_reader :status - # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. - sig { returns(T::Array[StatusDetail]) } - attr_reader :status_details - end - # Allows the account to do payouts using their Stripe Balance (/v1/balance). - sig { returns(T.nilable(Payouts)) } - attr_reader :payouts - # Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). - sig { returns(T.nilable(StripeTransfers)) } - attr_reader :stripe_transfers - end - # Capabilities that enable OutboundPayments to a bank account linked to this Account. - sig { returns(T.nilable(BankAccounts)) } - attr_reader :bank_accounts - # Capability that enable OutboundPayments to a debit card linked to this Account. - sig { returns(T.nilable(Cards)) } - attr_reader :cards - # Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). - sig { returns(T.nilable(StripeBalance)) } - attr_reader :stripe_balance - end - class DefaultOutboundDestination < Stripe::StripeObject - # The payout method ID of the default outbound destination. - sig { returns(String) } - attr_reader :id - # Closed Enum. The payout method type of the default outbound destination. - sig { returns(String) } - attr_reader :type - end - # Capabilities that have been requested on the Recipient Configuration. - sig { returns(T.nilable(Capabilities)) } - attr_reader :capabilities - # The payout method to be used as a default outbound destination. This will allow the PayoutMethod to be omitted on OutboundPayments made through the dashboard. - sig { returns(T.nilable(DefaultOutboundDestination)) } - attr_reader :default_outbound_destination - end - # The Customer Configuration allows the Account to be used in inbound payment flows. - sig { returns(T.nilable(Customer)) } - attr_reader :customer - # The Merchant configuration allows the Account to act as a connected account and collect payments facilitated by a Connect platform. You can add this configuration to your connected accounts only if you’ve completed onboarding as a Connect platform. - sig { returns(T.nilable(Merchant)) } - attr_reader :merchant - # The Recipient Configuration allows the Account to receive funds. - sig { returns(T.nilable(Recipient)) } - attr_reader :recipient - end - class Defaults < Stripe::StripeObject - class Responsibilities < Stripe::StripeObject - # A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this Account. - sig { returns(String) } - attr_reader :fees_collector - # A value indicating who is responsible for losses when this Account can’t pay back negative balances from payments. - sig { returns(String) } - attr_reader :losses_collector - end - # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). - sig { returns(T.nilable(String)) } - attr_reader :currency - # The Account's preferred locales (languages), ordered by preference. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :locales - # Default responsibilities held by either Stripe or the platform. - sig { returns(T.nilable(Responsibilities)) } - attr_reader :responsibilities - end - class Identity < Stripe::StripeObject - class Attestations < Stripe::StripeObject - class DirectorshipDeclaration < Stripe::StripeObject - # The time marking when the director attestation was made. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :date - # The IP address from which the director attestation was made. - sig { returns(T.nilable(String)) } - attr_reader :ip - # The user agent of the browser from which the director attestation was made. - sig { returns(T.nilable(String)) } - attr_reader :user_agent - end - class OwnershipDeclaration < Stripe::StripeObject - # The time marking when the beneficial owner attestation was made. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :date - # The IP address from which the beneficial owner attestation was made. - sig { returns(T.nilable(String)) } - attr_reader :ip - # The user agent of the browser from which the beneficial owner attestation was made. - sig { returns(T.nilable(String)) } - attr_reader :user_agent - end - class PersonsProvided < Stripe::StripeObject - # Whether the company’s directors have been provided. Set this Boolean to true after creating all the company’s directors with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). - sig { returns(T.nilable(T::Boolean)) } - attr_reader :directors - # Whether the company’s executives have been provided. Set this Boolean to true after creating all the company’s executives with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). - sig { returns(T.nilable(T::Boolean)) } - attr_reader :executives - # Whether the company’s owners have been provided. Set this Boolean to true after creating all the company’s owners with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). - sig { returns(T.nilable(T::Boolean)) } - attr_reader :owners - # Reason for why the company is exempt from providing ownership information. - sig { returns(T.nilable(String)) } - attr_reader :ownership_exemption_reason - end - class TermsOfService < Stripe::StripeObject - class Account < Stripe::StripeObject - # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :date - # The IP address from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :ip - # The user agent of the browser from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :user_agent - end - # Details on the Account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). - sig { returns(T.nilable(Account)) } - attr_reader :account - end - # This hash is used to attest that the directors information provided to Stripe is both current and correct. - sig { returns(T.nilable(DirectorshipDeclaration)) } - attr_reader :directorship_declaration - # This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. - sig { returns(T.nilable(OwnershipDeclaration)) } - attr_reader :ownership_declaration - # Attestation that all Persons with a specific Relationship value have been provided. - sig { returns(T.nilable(PersonsProvided)) } - attr_reader :persons_provided - # Attestations of accepted terms of service agreements. - sig { returns(T.nilable(TermsOfService)) } - attr_reader :terms_of_service - end - class BusinessDetails < Stripe::StripeObject - class Address < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class AnnualRevenue < Stripe::StripeObject - # A non-negative integer representing the amount in the smallest currency unit. - sig { returns(T.nilable(Stripe::V2::Amount)) } - attr_reader :amount - # The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. - sig { returns(T.nilable(String)) } - attr_reader :fiscal_year_end - end - class Documents < Stripe::StripeObject - class BankAccountOwnershipVerification < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class CompanyLicense < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class CompanyMemorandumOfAssociation < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class CompanyMinisterialDecree < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class CompanyRegistrationVerification < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class CompanyTaxIdVerification < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class PrimaryVerification < Stripe::StripeObject - class FrontBack < Stripe::StripeObject - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(T.nilable(String)) } - attr_reader :back - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(String) } - attr_reader :front - end - # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. - sig { returns(FrontBack) } - attr_reader :front_back - # The format of the verification document. Currently supports `front_back` only. - sig { returns(String) } - attr_reader :type - end - class ProofOfRegistration < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class ProofOfUltimateBeneficialOwnership < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - # One or more documents that support the Bank account ownership verification requirement. Must be a document associated with the account’s primary active bank account that displays the last 4 digits of the account number, either a statement or a check. - sig { returns(T.nilable(BankAccountOwnershipVerification)) } - attr_reader :bank_account_ownership_verification - # One or more documents that demonstrate proof of a company’s license to operate. - sig { returns(T.nilable(CompanyLicense)) } - attr_reader :company_license - # One or more documents showing the company’s Memorandum of Association. - sig { returns(T.nilable(CompanyMemorandumOfAssociation)) } - attr_reader :company_memorandum_of_association - # Certain countries only: One or more documents showing the ministerial decree legalizing the company’s establishment. - sig { returns(T.nilable(CompanyMinisterialDecree)) } - attr_reader :company_ministerial_decree - # One or more documents that demonstrate proof of a company’s registration with the appropriate local authorities. - sig { returns(T.nilable(CompanyRegistrationVerification)) } - attr_reader :company_registration_verification - # One or more documents that demonstrate proof of a company’s tax ID. - sig { returns(T.nilable(CompanyTaxIdVerification)) } - attr_reader :company_tax_id_verification - # A document verifying the business. - sig { returns(T.nilable(PrimaryVerification)) } - attr_reader :primary_verification - # One or more documents showing the company’s proof of registration with the national business registry. - sig { returns(T.nilable(ProofOfRegistration)) } - attr_reader :proof_of_registration - # One or more documents that demonstrate proof of ultimate beneficial ownership. - sig { returns(T.nilable(ProofOfUltimateBeneficialOwnership)) } - attr_reader :proof_of_ultimate_beneficial_ownership - end - class IdNumber < Stripe::StripeObject - # The registrar of the ID number (Only valid for DE ID number types). - sig { returns(T.nilable(String)) } - attr_reader :registrar - # Open Enum. The ID number type of a business entity. - sig { returns(String) } - attr_reader :type - end - class MonthlyEstimatedRevenue < Stripe::StripeObject - # A non-negative integer representing the amount in the smallest currency unit. - sig { returns(T.nilable(Stripe::V2::Amount)) } - attr_reader :amount - end - class ScriptAddresses < Stripe::StripeObject - class Kana < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class Kanji < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - # Kana Address. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Kanji Address. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - class ScriptNames < Stripe::StripeObject - class Kana < Stripe::StripeObject - # Registered name of the business. - sig { returns(T.nilable(String)) } - attr_reader :registered_name - end - class Kanji < Stripe::StripeObject - # Registered name of the business. - sig { returns(T.nilable(String)) } - attr_reader :registered_name - end - # Kana name. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Kanji name. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - # The company’s primary address. - sig { returns(T.nilable(Address)) } - attr_reader :address - # The business gross annual revenue for its preceding fiscal year. - sig { returns(T.nilable(AnnualRevenue)) } - attr_reader :annual_revenue - # Documents that may be submitted to satisfy various informational requests. - sig { returns(T.nilable(Documents)) } - attr_reader :documents - # The company’s legal name. - sig { returns(T.nilable(String)) } - attr_reader :doing_business_as - # An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. - sig { returns(T.nilable(Integer)) } - attr_reader :estimated_worker_count - # The provided ID numbers of a business entity. - sig { returns(T.nilable(T::Array[IdNumber])) } - attr_reader :id_numbers - # An estimate of the monthly revenue of the business. - sig { returns(T.nilable(MonthlyEstimatedRevenue)) } - attr_reader :monthly_estimated_revenue - # The company’s phone number (used for verification). - sig { returns(T.nilable(String)) } - attr_reader :phone - # Internal-only description of the product sold or service provided by the business. It’s used by Stripe for risk and underwriting purposes. - sig { returns(T.nilable(String)) } - attr_reader :product_description - # The business legal name. - sig { returns(T.nilable(String)) } - attr_reader :registered_name - # The business registration address of the business entity in non latin script. - sig { returns(T.nilable(ScriptAddresses)) } - attr_reader :script_addresses - # The business legal name in non latin script. - sig { returns(T.nilable(ScriptNames)) } - attr_reader :script_names - # The category identifying the legal structure of the business. - sig { returns(T.nilable(String)) } - attr_reader :structure - # The business's publicly available website. - sig { returns(T.nilable(String)) } - attr_reader :url - end - class Individual < Stripe::StripeObject - class AdditionalAddress < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # Purpose of additional address. - sig { returns(String) } - attr_reader :purpose - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class AdditionalName < Stripe::StripeObject - # The individual's full name. - sig { returns(T.nilable(String)) } - attr_reader :full_name - # The individual's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The purpose or type of the additional name. - sig { returns(String) } - attr_reader :purpose - # The individual's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - class AdditionalTermsOfService < Stripe::StripeObject - class Account < Stripe::StripeObject - # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :date - # The IP address from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :ip - # The user agent of the browser from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :user_agent - end - # Stripe terms of service agreement. - sig { returns(T.nilable(Account)) } - attr_reader :account - end - class Address < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class DateOfBirth < Stripe::StripeObject - # The day of birth, between 1 and 31. - sig { returns(Integer) } - attr_reader :day - # The month of birth, between 1 and 12. - sig { returns(Integer) } - attr_reader :month - # The four-digit year of birth. - sig { returns(Integer) } - attr_reader :year - end - class Documents < Stripe::StripeObject - class CompanyAuthorization < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class Passport < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class PrimaryVerification < Stripe::StripeObject - class FrontBack < Stripe::StripeObject - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(T.nilable(String)) } - attr_reader :back - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(String) } - attr_reader :front - end - # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. - sig { returns(FrontBack) } - attr_reader :front_back - # The format of the verification document. Currently supports `front_back` only. - sig { returns(String) } - attr_reader :type - end - class SecondaryVerification < Stripe::StripeObject - class FrontBack < Stripe::StripeObject - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(T.nilable(String)) } - attr_reader :back - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(String) } - attr_reader :front - end - # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. - sig { returns(FrontBack) } - attr_reader :front_back - # The format of the verification document. Currently supports `front_back` only. - sig { returns(String) } - attr_reader :type - end - class Visa < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - # One or more documents that demonstrate proof that this person is authorized to represent the company. - sig { returns(T.nilable(CompanyAuthorization)) } - attr_reader :company_authorization - # One or more documents showing the person’s passport page with photo and personal data. - sig { returns(T.nilable(Passport)) } - attr_reader :passport - # An identifying document showing the person's name, either a passport or local ID card. - sig { returns(T.nilable(PrimaryVerification)) } - attr_reader :primary_verification - # A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. - sig { returns(T.nilable(SecondaryVerification)) } - attr_reader :secondary_verification - # One or more documents showing the person’s visa required for living in the country where they are residing. - sig { returns(T.nilable(Visa)) } - attr_reader :visa - end - class IdNumber < Stripe::StripeObject - # The ID number type of an individual. - sig { returns(String) } - attr_reader :type - end - class Relationship < Stripe::StripeObject - # Whether the individual is an authorizer of the Account’s legal entity. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :authorizer - # Whether the individual is a director of the Account’s legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :director - # Whether the individual has significant responsibility to control, manage, or direct the organization. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :executive - # Whether the individual is the legal guardian of the Account’s representative. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :legal_guardian - # Whether the individual is an owner of the Account’s legal entity. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :owner - # The percent owned by the individual of the Account’s legal entity. - sig { returns(T.nilable(String)) } - attr_reader :percent_ownership - # Whether the individual is authorized as the primary representative of the Account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :representative - # The individual's title (e.g., CEO, Support Engineer). - sig { returns(T.nilable(String)) } - attr_reader :title - end - class ScriptAddresses < Stripe::StripeObject - class Kana < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class Kanji < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - # Kana Address. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Kanji Address. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - class ScriptNames < Stripe::StripeObject - class Kana < Stripe::StripeObject - # The person's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The person's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - class Kanji < Stripe::StripeObject - # The person's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The person's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - # Persons name in kana script. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Persons name in kanji script. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - # The account ID which the individual belongs to. - sig { returns(String) } - attr_reader :account - # Additional addresses associated with the individual. - sig { returns(T.nilable(T::Array[AdditionalAddress])) } - attr_reader :additional_addresses - # Additional names (e.g. aliases) associated with the individual. - sig { returns(T.nilable(T::Array[AdditionalName])) } - attr_reader :additional_names - # Terms of service acceptances. - sig { returns(T.nilable(AdditionalTermsOfService)) } - attr_reader :additional_terms_of_service - # The individual's residential address. - sig { returns(T.nilable(Address)) } - attr_reader :address - # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # The individual's date of birth. - sig { returns(T.nilable(DateOfBirth)) } - attr_reader :date_of_birth - # Documents that may be submitted to satisfy various informational requests. - sig { returns(T.nilable(Documents)) } - attr_reader :documents - # The individual's email address. - sig { returns(T.nilable(String)) } - attr_reader :email - # The individual's first name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # The identification numbers (e.g., SSN) associated with the individual. - sig { returns(T.nilable(T::Array[IdNumber])) } - attr_reader :id_numbers - # The individual's gender (International regulations require either "male” or "female"). - sig { returns(T.nilable(String)) } - attr_reader :legal_gender - # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # The countries where the individual is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(T::Array[String])) } - attr_reader :nationalities - # String representing the object's type. Objects of the same type share the same value. - sig { returns(String) } - attr_reader :object - # The individual's phone number. - sig { returns(T.nilable(String)) } - attr_reader :phone - # Indicates if the individual 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. - sig { returns(T.nilable(String)) } - attr_reader :political_exposure - # The relationship that this individual has with the Account's identity. - sig { returns(T.nilable(Relationship)) } - attr_reader :relationship - # The script addresses (e.g., non-Latin characters) associated with the individual. - sig { returns(T.nilable(ScriptAddresses)) } - attr_reader :script_addresses - # The script names (e.g. non-Latin characters) associated with the individual. - sig { returns(T.nilable(ScriptNames)) } - attr_reader :script_names - # The individual's last name. - sig { returns(T.nilable(String)) } - attr_reader :surname - # Time at which the object was last updated. - sig { returns(String) } - attr_reader :updated - end - # Attestations from the identity's key people, e.g. owners, executives, directors. - sig { returns(T.nilable(Attestations)) } - attr_reader :attestations - # Information about the company or business. - sig { returns(T.nilable(BusinessDetails)) } - attr_reader :business_details - # The country in which the account holder resides, or in which the business is legally established. This should be an [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. - sig { returns(T.nilable(String)) } - attr_reader :country - # The entity type. - sig { returns(T.nilable(String)) } - attr_reader :entity_type - # Information about the individual represented by the Account. This property is `null` unless `entity_type` is set to `individual`. - sig { returns(T.nilable(Individual)) } - attr_reader :individual - end - class Requirements < Stripe::StripeObject - class Entry < Stripe::StripeObject - class Error < Stripe::StripeObject - # Machine-readable code describing the error. - sig { returns(String) } - attr_reader :code - # Human-readable description of the error. - sig { returns(String) } - attr_reader :description - end - class Impact < Stripe::StripeObject - class RestrictsCapability < Stripe::StripeObject - class Deadline < Stripe::StripeObject - # The current status of the requirement's impact. - sig { returns(String) } - attr_reader :status - end - # The name of the Capability which will be restricted. - sig { returns(String) } - attr_reader :capability - # The configuration which specifies the Capability which will be restricted. - sig { returns(String) } - attr_reader :configuration - # Details about when in the account lifecycle the requirement must be collected by the avoid the Capability restriction. - sig { returns(Deadline) } - attr_reader :deadline - end - # The Capabilities that will be restricted if the requirement is not collected and satisfactory to Stripe. - sig { returns(T.nilable(T::Array[RestrictsCapability])) } - attr_reader :restricts_capabilities - end - class MinimumDeadline < Stripe::StripeObject - # The current status of the requirement's impact. - sig { returns(String) } - attr_reader :status - end - class Reference < Stripe::StripeObject - # If `inquiry` is the type, the inquiry token. - sig { returns(T.nilable(String)) } - attr_reader :inquiry - # If `resource` is the type, the resource token. - sig { returns(T.nilable(String)) } - attr_reader :resource - # The type of the reference. An additional hash is included with a name matching the type. It contains additional information specific to the type. - sig { returns(String) } - attr_reader :type - end - class RequestedReason < Stripe::StripeObject - # Machine-readable description of Stripe's reason for collecting the requirement. - sig { returns(String) } - attr_reader :code - end - # Whether the responsibility is with the integrator or with Stripe (to review info, to wait for some condition, etc.) to action the requirement. - sig { returns(String) } - attr_reader :awaiting_action_from - # Machine-readable string describing the requirement. - sig { returns(String) } - attr_reader :description - # Descriptions of why the requirement must be collected, or why the collected information isn't satisfactory to Stripe. - sig { returns(T::Array[Error]) } - attr_reader :errors - # A hash describing the impact of not collecting the requirement, or Stripe not being able to verify the collected information. - sig { returns(Impact) } - attr_reader :impact - # The soonest point when the account will be impacted by not providing the requirement. - sig { returns(MinimumDeadline) } - attr_reader :minimum_deadline - # A reference to the location of the requirement. - sig { returns(T.nilable(Reference)) } - attr_reader :reference - # A list of reasons why Stripe is collecting the requirement. - sig { returns(T::Array[RequestedReason]) } - attr_reader :requested_reasons - end - class Summary < Stripe::StripeObject - class MinimumDeadline < Stripe::StripeObject - # The current strictest status of all requirements on the Account. - sig { returns(String) } - attr_reader :status - # The soonest RFC3339 date & time UTC value a requirement can impact the Account. - sig { returns(T.nilable(String)) } - attr_reader :time - end - # The soonest date and time a requirement on the Account will become `past due`. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. - sig { returns(T.nilable(MinimumDeadline)) } - attr_reader :minimum_deadline - end - # A value indicating responsibility for collecting requirements on this account. - sig { returns(String) } - attr_reader :collector - # A list of requirements for the Account. - sig { returns(T.nilable(T::Array[Entry])) } - attr_reader :entries - # An object containing an overview of requirements for the Account. - sig { returns(T.nilable(Summary)) } - attr_reader :summary - end - # Filter only accounts that have all of the configurations specified. If omitted, returns all accounts regardless of which configurations they have. - sig { returns(T::Array[String]) } - attr_reader :applied_configurations - # An Account Configuration which allows the Account to take on a key persona across Stripe products. - sig { returns(T.nilable(Configuration)) } - attr_reader :configuration - # The default contact email address for the Account. Required when configuring the account as a merchant or recipient. - sig { returns(T.nilable(String)) } - attr_reader :contact_email - # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # A value indicating the Stripe dashboard this Account has access to. This will depend on which configurations are enabled for this account. - sig { returns(T.nilable(String)) } - attr_reader :dashboard - # Default values to be used on Account Configurations. - sig { returns(T.nilable(Defaults)) } - attr_reader :defaults - # A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard and on any invoices sent to the Account. - sig { returns(T.nilable(String)) } - attr_reader :display_name - # Unique identifier for the Account. - sig { returns(String) } - attr_reader :id - # Information about the company, individual, and business represented by the Account. - sig { returns(T.nilable(Identity)) } - attr_reader :identity - # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Information about the requirements for the Account, including what information needs to be collected, and by when. - sig { returns(T.nilable(Requirements)) } - attr_reader :requirements - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Core - # AccountLinks are the means by which a Merchant grants an Account permission to access Stripe-hosted applications, such as Recipient Onboarding. This API is only available for users enrolled in the public preview for Global Payouts. - class AccountLink < APIResource - class UseCase < Stripe::StripeObject - class AccountOnboarding < Stripe::StripeObject - # Open Enum. A v2/account can be configured to enable certain functionality. The configuration param targets the v2/account_link to collect information for the specified v2/account configuration/s. - sig { returns(T::Array[String]) } - attr_reader :configurations - # The URL the user will be redirected to if the AccountLink is expired, has been used, or is otherwise invalid. The URL you specify should attempt to generate a new AccountLink with the same parameters used to create the original AccountLink, then redirect the user to the new AccountLink’s URL so they can continue the flow. If a new AccountLink cannot be generated or the redirect fails you should display a useful error to the user. Please make sure to implement authentication before redirecting the user in case this URL is leaked to a third party. - sig { returns(String) } - attr_reader :refresh_url - # The URL that the user will be redirected to upon completing the linked flow. - sig { returns(T.nilable(String)) } - attr_reader :return_url - end - class AccountUpdate < Stripe::StripeObject - # Open Enum. A v2/account can be configured to enable certain functionality. The configuration param targets the v2/account_link to collect information for the specified v2/account configuration/s. - sig { returns(T::Array[String]) } - attr_reader :configurations - # The URL the user will be redirected to if the AccountLink is expired, has been used, or is otherwise invalid. The URL you specify should attempt to generate a new AccountLink with the same parameters used to create the original AccountLink, then redirect the user to the new AccountLink’s URL so they can continue the flow. If a new AccountLink cannot be generated or the redirect fails you should display a useful error to the user. Please make sure to implement authentication before redirecting the user in case this URL is leaked to a third party. - sig { returns(String) } - attr_reader :refresh_url - # The URL that the user will be redirected to upon completing the linked flow. - sig { returns(T.nilable(String)) } - attr_reader :return_url - end - # Open Enum. The type of AccountLink the user is requesting. - sig { returns(String) } - attr_reader :type - # Indicates that the AccountLink provided should onboard an account. - sig { returns(T.nilable(AccountOnboarding)) } - attr_reader :account_onboarding - # Indicates that the AccountLink provided should update a previously onboarded account. - sig { returns(T.nilable(AccountUpdate)) } - attr_reader :account_update - end - # The ID of the Account the link was created for. - sig { returns(String) } - attr_reader :account - # The timestamp at which this AccountLink was created. - sig { returns(String) } - attr_reader :created - # The timestamp at which this AccountLink will expire. - sig { returns(String) } - attr_reader :expires_at - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The URL for the AccountLink. - sig { returns(String) } - attr_reader :url - # The use case of AccountLink the user is requesting. - sig { returns(UseCase) } - attr_reader :use_case - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Core - # Person retrieval response schema. - class Person < APIResource - class AdditionalAddress < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # Purpose of additional address. - sig { returns(String) } - attr_reader :purpose - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class AdditionalName < Stripe::StripeObject - # The individual's full name. - sig { returns(T.nilable(String)) } - attr_reader :full_name - # The individual's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The purpose or type of the additional name. - sig { returns(String) } - attr_reader :purpose - # The individual's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - class AdditionalTermsOfService < Stripe::StripeObject - class Account < Stripe::StripeObject - # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :date - # The IP address from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :ip - # The user agent of the browser from which the Account's representative accepted the terms of service. - sig { returns(T.nilable(String)) } - attr_reader :user_agent - end - # Stripe terms of service agreement. - sig { returns(T.nilable(Account)) } - attr_reader :account - end - class Address < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class DateOfBirth < Stripe::StripeObject - # The day of birth, between 1 and 31. - sig { returns(Integer) } - attr_reader :day - # The month of birth, between 1 and 12. - sig { returns(Integer) } - attr_reader :month - # The four-digit year of birth. - sig { returns(Integer) } - attr_reader :year - end - class Documents < Stripe::StripeObject - class CompanyAuthorization < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class Passport < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - class PrimaryVerification < Stripe::StripeObject - class FrontBack < Stripe::StripeObject - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(T.nilable(String)) } - attr_reader :back - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(String) } - attr_reader :front - end - # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. - sig { returns(FrontBack) } - attr_reader :front_back - # The format of the verification document. Currently supports `front_back` only. - sig { returns(String) } - attr_reader :type - end - class SecondaryVerification < Stripe::StripeObject - class FrontBack < Stripe::StripeObject - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(T.nilable(String)) } - attr_reader :back - # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. - sig { returns(String) } - attr_reader :front - end - # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. - sig { returns(FrontBack) } - attr_reader :front_back - # The format of the verification document. Currently supports `front_back` only. - sig { returns(String) } - attr_reader :type - end - class Visa < Stripe::StripeObject - # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. - sig { returns(T::Array[String]) } - attr_reader :files - # The format of the document. Currently supports `files` only. - sig { returns(String) } - attr_reader :type - end - # One or more documents that demonstrate proof that this person is authorized to represent the company. - sig { returns(T.nilable(CompanyAuthorization)) } - attr_reader :company_authorization - # One or more documents showing the person’s passport page with photo and personal data. - sig { returns(T.nilable(Passport)) } - attr_reader :passport - # An identifying document showing the person's name, either a passport or local ID card. - sig { returns(T.nilable(PrimaryVerification)) } - attr_reader :primary_verification - # A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. - sig { returns(T.nilable(SecondaryVerification)) } - attr_reader :secondary_verification - # One or more documents showing the person’s visa required for living in the country where they are residing. - sig { returns(T.nilable(Visa)) } - attr_reader :visa - end - class IdNumber < Stripe::StripeObject - # The ID number type of an individual. - sig { returns(String) } - attr_reader :type - end - class Relationship < Stripe::StripeObject - # Whether the individual is an authorizer of the Account’s legal entity. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :authorizer - # Whether the individual is a director of the Account’s legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :director - # Whether the individual has significant responsibility to control, manage, or direct the organization. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :executive - # Whether the individual is the legal guardian of the Account’s representative. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :legal_guardian - # Whether the individual is an owner of the Account’s legal entity. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :owner - # The percent owned by the individual of the Account’s legal entity. - sig { returns(T.nilable(String)) } - attr_reader :percent_ownership - # Whether the individual is authorized as the primary representative of the Account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. - sig { returns(T.nilable(T::Boolean)) } - attr_reader :representative - # The individual's title (e.g., CEO, Support Engineer). - sig { returns(T.nilable(String)) } - attr_reader :title - end - class ScriptAddresses < Stripe::StripeObject - class Kana < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - class Kanji < Stripe::StripeObject - # City, district, suburb, town, or village. - sig { returns(T.nilable(String)) } - attr_reader :city - # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(String)) } - attr_reader :country - # Address line 1 (e.g., street, PO Box, or company name). - sig { returns(T.nilable(String)) } - attr_reader :line1 - # Address line 2 (e.g., apartment, suite, unit, or building). - sig { returns(T.nilable(String)) } - attr_reader :line2 - # ZIP or postal code. - sig { returns(T.nilable(String)) } - attr_reader :postal_code - # State, county, province, or region. - sig { returns(T.nilable(String)) } - attr_reader :state - # Town or cho-me. - sig { returns(T.nilable(String)) } - attr_reader :town - end - # Kana Address. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Kanji Address. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - class ScriptNames < Stripe::StripeObject - class Kana < Stripe::StripeObject - # The person's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The person's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - class Kanji < Stripe::StripeObject - # The person's first or given name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # The person's last or family name. - sig { returns(T.nilable(String)) } - attr_reader :surname - end - # Persons name in kana script. - sig { returns(T.nilable(Kana)) } - attr_reader :kana - # Persons name in kanji script. - sig { returns(T.nilable(Kanji)) } - attr_reader :kanji - end - # The account ID which the individual belongs to. - sig { returns(String) } - attr_reader :account - # Additional addresses associated with the person. - sig { returns(T.nilable(T::Array[AdditionalAddress])) } - attr_reader :additional_addresses - # Additional names (e.g. aliases) associated with the person. - sig { returns(T.nilable(T::Array[AdditionalName])) } - attr_reader :additional_names - # Attestations of accepted terms of service agreements. - sig { returns(T.nilable(AdditionalTermsOfService)) } - attr_reader :additional_terms_of_service - # The person's residential address. - sig { returns(T.nilable(Address)) } - attr_reader :address - # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # The person's date of birth. - sig { returns(T.nilable(DateOfBirth)) } - attr_reader :date_of_birth - # Documents that may be submitted to satisfy various informational requests. - sig { returns(T.nilable(Documents)) } - attr_reader :documents - # The person's email address. - sig { returns(T.nilable(String)) } - attr_reader :email - # The person's first name. - sig { returns(T.nilable(String)) } - attr_reader :given_name - # Unique identifier for the Person. - sig { returns(String) } - attr_reader :id - # The identification numbers (e.g., SSN) associated with the person. - sig { returns(T.nilable(T::Array[IdNumber])) } - attr_reader :id_numbers - # The person's gender (International regulations require either "male" or "female"). - sig { returns(T.nilable(String)) } - attr_reader :legal_gender - # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # The countries where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). - sig { returns(T.nilable(T::Array[String])) } - attr_reader :nationalities - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The person's phone number. - sig { returns(T.nilable(String)) } - attr_reader :phone - # The person's political exposure. - sig { returns(T.nilable(String)) } - attr_reader :political_exposure - # The relationship that this person has with the Account's business or legal entity. - sig { returns(T.nilable(Relationship)) } - attr_reader :relationship - # The script addresses (e.g., non-Latin characters) associated with the person. - sig { returns(T.nilable(ScriptAddresses)) } - attr_reader :script_addresses - # The script names (e.g. non-Latin characters) associated with the person. - sig { returns(T.nilable(ScriptNames)) } - attr_reader :script_names - # The person's last name. - sig { returns(T.nilable(String)) } - attr_reader :surname - # Time at which the object was last updated. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :updated - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # Adjustments represent Stripe-initiated credits or debits to a user balance. They might be used to amend balances due to technical or operational error. - class Adjustment < APIResource - class AdjustedFlow < Stripe::StripeObject - # Closed Enum. If applicable, the type of flow linked to this Adjustment. The field matching this value will contain the ID of the flow. - sig { returns(String) } - attr_reader :type - # If applicable, the ID of the Adjustment linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :adjustment - # If applicable, the ID of the InboundTransfer linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :inbound_transfer - # If applicable, the ID of the OutboundPayment linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :outbound_payment - # If applicable, the ID of the OutboundTransfer linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :outbound_transfer - # If applicable, the ID of the ReceivedCredit linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :received_credit - # If applicable, the ID of the ReceivedDebit linked to this Adjustment. - sig { returns(T.nilable(String)) } - attr_reader :received_debit - end - # If applicable, contains information about the original flow linked to this Adjustment. - sig { returns(T.nilable(AdjustedFlow)) } - attr_reader :adjusted_flow - # The amount of the Adjustment. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Description of the Adjustment and what it was used for. - sig { returns(T.nilable(String)) } - attr_reader :description - # The FinancialAccount that this adjustment is for. - sig { returns(String) } - attr_reader :financial_account - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # A link to the Stripe-hosted receipt that is provided when money movement is considered regulated under Stripe’s money transmission licenses. The receipt link remains active for 60 days from the Adjustment creation date. After this period, the link will expire and the receipt url value will be null. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Billing - class MeterEventSession < APIResource - # The authentication token for this session. Use this token when calling the - # high-throughput meter event API. - sig { returns(String) } - attr_reader :authentication_token - # The creation time of this session. - sig { returns(String) } - attr_reader :created - # The time at which this session will expire. - sig { returns(String) } - attr_reader :expires_at - # The unique id of this auth session. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Billing - class MeterEventAdjustment < APIResource - class Cancel < Stripe::StripeObject - # Unique identifier for the event. You can only cancel events within 24 hours of Stripe receiving them. - sig { returns(String) } - attr_reader :identifier - end - # Specifies which event to cancel. - sig { returns(Cancel) } - attr_reader :cancel - # The time the adjustment was created. - sig { returns(String) } - attr_reader :created - # The name of the meter event. Corresponds with the `event_name` field on a meter. - sig { returns(String) } - attr_reader :event_name - # The unique id of this meter event adjustment. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Open Enum. The meter event adjustment’s status. - sig { returns(String) } - attr_reader :status - # Open Enum. Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. - sig { returns(String) } - attr_reader :type - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Billing - # Fix me empty_doc_string. - class MeterEvent < APIResource - # The creation time of this meter event. - sig { returns(String) } - attr_reader :created - # The name of the meter event. Corresponds with the `event_name` field on a meter. - sig { returns(String) } - attr_reader :event_name - # A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period. - sig { returns(String) } - attr_reader :identifier - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The payload of the event. This must contain the fields corresponding to a meter’s - # `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and - # `value_settings.event_payload_key` (default is `value`). Read more about the payload. - sig { returns(T::Hash[String, String]) } - attr_reader :payload - # The time of the event. Must be within the past 35 calendar days or up to - # 5 minutes in the future. Defaults to current timestamp if not specified. - sig { returns(String) } - attr_reader :timestamp - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # The Financial Account is the container that allows for the configuration of money movement. - class FinancialAccount < APIResource - class Balance < Stripe::StripeObject - # Balance that can be used for money movement. - sig { returns(T::Hash[String, Stripe::V2::Amount]) } - attr_reader :available - # Balance of inbound funds that will later transition to the `cash` balance. - sig { returns(T::Hash[String, Stripe::V2::Amount]) } - attr_reader :inbound_pending - # Balance of funds that are being used for a pending outbound money movement. - sig { returns(T::Hash[String, Stripe::V2::Amount]) } - attr_reader :outbound_pending - end - class Other < Stripe::StripeObject - # The type of the FinancialAccount, represented as a string. Upgrade your API version to see the type reflected in `financial_account.type`. - sig { returns(String) } - attr_reader :type - end - class Storage < Stripe::StripeObject - # The currencies that this FinancialAccount can hold. - sig { returns(T::Array[String]) } - attr_reader :holds_currencies - end - # Multi-currency balance of this FinancialAccount, split by availability state. Each balance is represented as a hash where the key is the three-letter ISO currency code, in lowercase, and the value is the amount for that currency. - sig { returns(Balance) } - attr_reader :balance - # Open Enum. Two-letter country code that represents the country where the LegalEntity associated with the FinancialAccount is based in. - sig { returns(String) } - attr_reader :country - # Time at which the object was created. - sig { returns(String) } - attr_reader :created - # Attribute for field description - sig { returns(T.nilable(String)) } - attr_reader :description - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # If this is a `other` FinancialAccount, this hash indicates what the actual type is. Upgrade your API version to see it reflected in `type`. - sig { returns(T.nilable(Other)) } - attr_reader :other - # Closed Enum. An enum representing the status of the FinancialAccount. This indicates whether or not the FinancialAccount can be used for any money movement flows. - sig { returns(String) } - attr_reader :status - # If this is a `storage` FinancialAccount, this hash includes details specific to `storage` FinancialAccounts. - sig { returns(T.nilable(Storage)) } - attr_reader :storage - # Type of the FinancialAccount. An additional hash is included on the FinancialAccount with a name matching this value. - # It contains additional information specific to the FinancialAccount type. - sig { returns(String) } - attr_reader :type - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # A FinancialAddress contains information needed to transfer money to a Financial Account. A Financial Account can have more than one Financial Address. - class FinancialAddress < APIResource - class Credentials < Stripe::StripeObject - class GbBankAccount < Stripe::StripeObject - # The account holder name to be used during bank transference. - sig { returns(String) } - attr_reader :account_holder_name - # The account number of the UK Bank Account. - sig { returns(T.nilable(String)) } - attr_reader :account_number - # The last four digits of the UK Bank Account number. This will always be returned. - # To view the full account number when retrieving or listing FinancialAddresses, use the `include` request parameter. - sig { returns(String) } - attr_reader :last4 - # The sort code of the UK Bank Account. - sig { returns(String) } - attr_reader :sort_code - end - class UsBankAccount < Stripe::StripeObject - # The account number of the US Bank Account. - sig { returns(T.nilable(String)) } - attr_reader :account_number - # The name of the Bank. - sig { returns(T.nilable(String)) } - attr_reader :bank_name - # The last four digits of the US Bank Account number. This will always be returned. - # To view the full account number when retrieving or listing FinancialAddresses, use the `include` request parameter. - sig { returns(String) } - attr_reader :last4 - # The routing number of the US Bank Account. - sig { returns(String) } - attr_reader :routing_number - # The swift code of the bank or financial institution. - sig { returns(T.nilable(String)) } - attr_reader :swift_code - end - # Open Enum. The type of Credentials that are provisioned for the FinancialAddress. - sig { returns(String) } - attr_reader :type - # The credentials of the UK Bank Account for the FinancialAddress. This contains unique banking details such as the sort code, account number, etc. of a UK bank account. - sig { returns(T.nilable(GbBankAccount)) } - attr_reader :gb_bank_account - # The credentials of the US Bank Account for the FinancialAddress. This contains unique banking details such as the routing number, account number, etc. of a US bank account. - sig { returns(T.nilable(UsBankAccount)) } - attr_reader :us_bank_account - end - # The creation timestamp of the FinancialAddress. - sig { returns(String) } - attr_reader :created - # Object indicates the type of credentials that have been allocated and attached to the FinancialAddress. - # It contains all necessary banking details with which to perform money movements with the FinancialAddress. - # This field is only available for FinancialAddresses with an active status. - sig { returns(T.nilable(Credentials)) } - attr_reader :credentials - # Open Enum. The currency the FinancialAddress supports. - sig { returns(String) } - attr_reader :currency - # A ID of the FinancialAccount this FinancialAddress corresponds to. - sig { returns(String) } - attr_reader :financial_account - # The ID of a FinancialAddress. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Closed Enum. An enum representing the status of the FinancialAddress. This indicates whether or not the FinancialAddress can be used for any money movement flows. - sig { returns(String) } - attr_reader :status - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - class FinancialAddressCreditSimulation < APIResource - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The status of the request, signifying whether a simulated credit was initiated. - sig { returns(String) } - attr_reader :status - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end -end -# typed: true -module Stripe - module V2 - class FinancialAddressGeneratedMicrodeposits < APIResource - # The amounts of the microdeposits that were generated. - sig { returns(T::Array[Stripe::V2::Amount]) } - attr_reader :amounts - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Closed Enum. The status of the request. - sig { returns(String) } - attr_reader :status - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # An InboundTransfer object, representing a money movement from a - # user owned PaymentMethod to a FinancialAccount belonging to the same user. - class InboundTransfer < APIResource - class From < Stripe::StripeObject - class PaymentMethod < Stripe::StripeObject - # The type of object this destination represents. For a us bank account, we expect us_bank_account. - sig { returns(String) } - attr_reader :type - # The destination US bank account identifier. eg "usba_***". - sig { returns(T.nilable(String)) } - attr_reader :us_bank_account - end - # The amount in specified currency that was debited from the Payment Method. - sig { returns(Stripe::V2::Amount) } - attr_reader :debited - # The Payment Method object used to create the InboundTransfer. - sig { returns(PaymentMethod) } - attr_reader :payment_method - end - class To < Stripe::StripeObject - # The amount by which the FinancialAccount balance is credited. - sig { returns(Stripe::V2::Amount) } - attr_reader :credited - # The FinancialAccount that funds will land in. - sig { returns(String) } - attr_reader :financial_account - end - class TransferHistory < Stripe::StripeObject - class BankDebitFailed < Stripe::StripeObject - # Open Enum. The return reason for the failed InboundTransfer. - sig { returns(String) } - attr_reader :failure_reason - end - class BankDebitProcessing < Stripe::StripeObject; end - class BankDebitQueued < Stripe::StripeObject; end - class BankDebitReturned < Stripe::StripeObject - # Open Enum. The return reason for the returned InboundTransfer. - sig { returns(String) } - attr_reader :return_reason - end - class BankDebitSucceeded < Stripe::StripeObject; end - # Creation time of the HistoryEntry in RFC 3339 format and UTC. - sig { returns(String) } - attr_reader :created - # Effective at time of the HistoryEntry in RFC 3339 format and UTC. - sig { returns(String) } - attr_reader :effective_at - # A unique ID for the HistoryEntry. - sig { returns(String) } - attr_reader :id - # Open Enum. The Level of the HistoryEntry. - sig { returns(String) } - attr_reader :level - # Open Enum. The type of the HistoryEntry. - sig { returns(String) } - attr_reader :type - # The history entry for a failed InboundTransfer. - sig { returns(T.nilable(BankDebitFailed)) } - attr_reader :bank_debit_failed - # The history entry for a processing InboundTransfer. - sig { returns(T.nilable(BankDebitProcessing)) } - attr_reader :bank_debit_processing - # The history entry for a queued InboundTransfer. - sig { returns(T.nilable(BankDebitQueued)) } - attr_reader :bank_debit_queued - # The history entry for a returned InboundTransfer. - sig { returns(T.nilable(BankDebitReturned)) } - attr_reader :bank_debit_returned - # The history entry for a succeeded InboundTransfer. - sig { returns(T.nilable(BankDebitSucceeded)) } - attr_reader :bank_debit_succeeded - end - # The amount in specified currency that will land in the FinancialAccount balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Creation time of the InboundTransfer. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # A freeform text field provided by user, containing metadata. - sig { returns(String) } - attr_reader :description - # A nested object containing information about the origin of the InboundTransfer. - sig { returns(From) } - attr_reader :from - # Unique identifier for the InboundTransfer. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # A nested object containing information about the destination of the InboundTransfer. - sig { returns(To) } - attr_reader :to - # A list of history objects, representing changes in the state of the InboundTransfer. - sig { returns(T::Array[TransferHistory]) } - attr_reader :transfer_history - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - # Set up an event destination to receive events from Stripe across multiple destination types, including [webhook endpoints](https://docs.stripe.com/webhooks) and [Amazon EventBridge](https://docs.stripe.com/event-destinations/eventbridge). Event destinations support receiving [thin events](https://docs.stripe.com/api/v2/events) and [snapshot events](https://docs.stripe.com/api/events). - class EventDestination < APIResource - class StatusDetails < Stripe::StripeObject - class Disabled < Stripe::StripeObject - # Reason event destination has been disabled. - sig { returns(String) } - attr_reader :reason - end - # Details about why the event destination has been disabled. - sig { returns(T.nilable(Disabled)) } - attr_reader :disabled - end - class AmazonEventbridge < Stripe::StripeObject - # The AWS account ID. - sig { returns(String) } - attr_reader :aws_account_id - # The ARN of the AWS event source. - sig { returns(String) } - attr_reader :aws_event_source_arn - # The state of the AWS event source. - sig { returns(String) } - attr_reader :aws_event_source_status - end - class WebhookEndpoint < Stripe::StripeObject - # The signing secret of the webhook endpoint, only includable on creation. - sig { returns(T.nilable(String)) } - attr_reader :signing_secret - # The URL of the webhook endpoint, includable. - sig { returns(T.nilable(String)) } - attr_reader :url - end - # Time at which the object was created. - sig { returns(String) } - attr_reader :created - # An optional description of what the event destination is used for. - sig { returns(String) } - attr_reader :description - # The list of events to enable for this endpoint. - sig { returns(T::Array[String]) } - attr_reader :enabled_events - # Payload type of events being subscribed to. - sig { returns(String) } - attr_reader :event_payload - # Where events should be routed from. - sig { returns(T.nilable(T::Array[String])) } - attr_reader :events_from - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # Metadata. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # Event destination name. - sig { returns(String) } - attr_reader :name - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # If using the snapshot event payload, the API version events are rendered as. - sig { returns(T.nilable(String)) } - attr_reader :snapshot_api_version - # Status. It can be set to either enabled or disabled. - sig { returns(String) } - attr_reader :status - # Additional information about event destination status. - sig { returns(T.nilable(StatusDetails)) } - attr_reader :status_details - # Event destination type. - sig { returns(String) } - attr_reader :type - # Time at which the object was last updated. - sig { returns(String) } - attr_reader :updated - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - # Amazon EventBridge configuration. - sig { returns(T.nilable(AmazonEventbridge)) } - attr_reader :amazon_eventbridge - # Webhook endpoint configuration. - sig { returns(T.nilable(WebhookEndpoint)) } - attr_reader :webhook_endpoint - end - end -end -# typed: true -module Stripe - module V2 - # Events are generated to keep you informed of activity in your business account. APIs in the /v2 namespace generate [thin events](https://docs.stripe.com/event-destinations#benefits-of-thin-events) which have small, unversioned payloads that include a reference to the ID of the object that has changed. The Events v2 API returns these new thin events. [Retrieve the event object](https://docs.stripe.com/event-destinations#fetch-data) for additional data about the event. Use the related object ID in the event payload to [fetch the API resource](https://docs.stripe.com/event-destinations#retrieve-the-object-associated-with-thin-events) of the object associated with the event. Comparatively, events generated by most API v1 include a versioned snapshot of an API object in their payload. - class Event < APIResource - class Reason < Stripe::StripeObject - class Request < Stripe::StripeObject - # ID of the API request that caused the event. - sig { returns(String) } - attr_reader :id - # The idempotency key transmitted during the request. - sig { returns(String) } - attr_reader :idempotency_key - end - # Event reason type. - sig { returns(String) } - attr_reader :type - # Information on the API request that instigated the event. - sig { returns(T.nilable(Request)) } - attr_reader :request - end - # Authentication context needed to fetch the event or related object. - sig { returns(T.nilable(String)) } - attr_reader :context - # Time at which the object was created. - sig { returns(String) } - attr_reader :created - # Unique identifier for the event. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Reason for the event. - sig { returns(T.nilable(Reason)) } - attr_reader :reason - # The type of the event. - sig { returns(String) } - attr_reader :type - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end -end -# typed: true -module Stripe - module V2 - module Payments - # Off-session payment resource. - class OffSessionPayment < APIResource - class RetryDetails < Stripe::StripeObject - # Number of authorization attempts so far. - sig { returns(Integer) } - attr_reader :attempts - # How you want Stripe to retry the payment. - sig { returns(String) } - attr_reader :retry_strategy - end - class TransferData < Stripe::StripeObject - # Amount in minor units that you want to transfer. - sig { returns(Integer) } - attr_reader :amount - # ID of the connected account where you want money to go. - sig { returns(String) } - attr_reader :destination - end - # The amount you requested to be collected on the OSP upon creation. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount_requested - # Number of authorization attempts. - sig { returns(Integer) } - attr_reader :attempts - # The frequency of the underlying payment that this OSP represents. - sig { returns(String) } - attr_reader :cadence - # ID of owning compartment. - sig { returns(String) } - attr_reader :compartment_id - # Timestamp of creation. - sig { returns(String) } - attr_reader :created - # Customer owning the supplied payment method. - sig { returns(String) } - attr_reader :customer - # Reason why the OSP failed. - sig { returns(T.nilable(String)) } - attr_reader :failure_reason - # ID of the OSP. - sig { returns(String) } - attr_reader :id - # Last error returned by the financial partner for a failed authorization. - sig { returns(T.nilable(String)) } - attr_reader :last_authorization_attempt_error - # Payment attempt record for the latest attempt, if one exists. - sig { returns(T.nilable(String)) } - attr_reader :latest_payment_attempt_record - # True if the txn is livemode, false otherwise. - sig { returns(T::Boolean) } - attr_reader :livemode - # Metadata you provided. - sig { returns(T::Hash[String, String]) } - attr_reader :metadata - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # OBO, same as on the PI. - sig { returns(T.nilable(String)) } - attr_reader :on_behalf_of - # ID of payment method. - sig { returns(String) } - attr_reader :payment_method - # Payment record associated with the OSP. consistent across attempts. - sig { returns(T.nilable(String)) } - attr_reader :payment_record - # Details about the OSP retries. - sig { returns(RetryDetails) } - attr_reader :retry_details - # Statement descriptor you provided. - sig { returns(T.nilable(String)) } - attr_reader :statement_descriptor - # Statement descriptor suffix you provided, similar to that on the PI. - sig { returns(T.nilable(String)) } - attr_reader :statement_descriptor_suffix - # Status of the OSP. - sig { returns(String) } - attr_reader :status - # Test clock to be used to advance the retry attempts. - sig { returns(T.nilable(String)) } - attr_reader :test_clock - # Instructions for the transfer to be made with this OSP after successful money movement. - sig { returns(T.nilable(TransferData)) } - attr_reader :transfer_data - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # OutboundPayment represents a single money movement from one FinancialAccount you own to a payout method someone else owns. - class OutboundPayment < APIResource - class DeliveryOptions < Stripe::StripeObject - # Open Enum. Method for bank account. - sig { returns(T.nilable(String)) } - attr_reader :bank_account - end - class From < Stripe::StripeObject - # The monetary amount debited from the sender, only set on responses. - sig { returns(Stripe::V2::Amount) } - attr_reader :debited - # The FinancialAccount that funds were pulled from. - sig { returns(String) } - attr_reader :financial_account - end - class RecipientNotification < Stripe::StripeObject - # Closed Enum. Configuration option to enable or disable notifications to recipients. - # Do not send notifications when setting is NONE. Default to account setting when setting is CONFIGURED or not set. - sig { returns(String) } - attr_reader :setting - end - class StatusDetails < Stripe::StripeObject - class Failed < Stripe::StripeObject - # Open Enum. The `failed` status reason. - sig { returns(String) } - attr_reader :reason - end - class Returned < Stripe::StripeObject - # Open Enum. The `returned` status reason. - sig { returns(String) } - attr_reader :reason - end - # The `failed` status reason. - sig { returns(T.nilable(Failed)) } - attr_reader :failed - # The `returned` status reason. - sig { returns(T.nilable(Returned)) } - attr_reader :returned - end - class StatusTransitions < Stripe::StripeObject - # Timestamp describing when an OutboundPayment changed status to `canceled`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :canceled_at - # Timestamp describing when an OutboundPayment changed status to `failed`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :failed_at - # Timestamp describing when an OutboundPayment changed status to `posted`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :posted_at - # Timestamp describing when an OutboundPayment changed status to `returned`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :returned_at - end - class To < Stripe::StripeObject - # The monetary amount being credited to the destination. - sig { returns(Stripe::V2::Amount) } - attr_reader :credited - # The payout method which the OutboundPayment uses to send payout. - sig { returns(String) } - attr_reader :payout_method - # To which account the OutboundPayment is sent. - sig { returns(String) } - attr_reader :recipient - end - class TraceId < Stripe::StripeObject - # Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to - # `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. - # Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` - # even after the payment or transfer is posted. - sig { returns(String) } - attr_reader :status - # The trace ID value if `trace_id.status` is `supported`, otherwise empty. - sig { returns(T.nilable(String)) } - attr_reader :value - end - # The "presentment amount" for the OutboundPayment. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Returns true if the OutboundPayment can be canceled, and false otherwise. - sig { returns(T::Boolean) } - attr_reader :cancelable - # Time at which the OutboundPayment was created. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Delivery options to be used to send the OutboundPayment. - sig { returns(T.nilable(DeliveryOptions)) } - attr_reader :delivery_options - # An arbitrary string attached to the OutboundPayment. Often useful for displaying to users. - sig { returns(T.nilable(String)) } - attr_reader :description - # The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a `failed`, `canceled`, or `returned` state. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :expected_arrival_date - # The FinancialAccount that funds were pulled from. - sig { returns(From) } - attr_reader :from - # Unique identifier for the OutboundPayment. - sig { returns(String) } - attr_reader :id - # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation. - sig { returns(T.nilable(String)) } - attr_reader :outbound_payment_quote - # A link to the Stripe-hosted receipt for this OutboundPayment. The receipt link remains active for 60 days from the OutboundPayment creation date. After this period, the link will expire and the receipt url value will be null. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # Details about the OutboundPayment notification settings for recipient. - sig { returns(RecipientNotification) } - attr_reader :recipient_notification - # The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). - sig { returns(String) } - attr_reader :statement_descriptor - # Closed Enum. Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. - # An OutboundPayment is `processing` if it has been created and is processing. - # The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. - # If an OutboundPayment fails to arrive at its payout method, its status will change to `returned`. - sig { returns(String) } - attr_reader :status - # Status details for an OutboundPayment in a `failed` or `returned` state. - sig { returns(T.nilable(StatusDetails)) } - attr_reader :status_details - # Hash containing timestamps of when the object transitioned to a particular status. - sig { returns(T.nilable(StatusTransitions)) } - attr_reader :status_transitions - # To which payout method the OutboundPayment was sent. - sig { returns(To) } - attr_reader :to - # A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a “reference number” or something similar. - sig { returns(TraceId) } - attr_reader :trace_id - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # OutboundPaymentQuote represents a quote - class OutboundPaymentQuote < APIResource - class DeliveryOptions < Stripe::StripeObject - # Open Enum. Method for bank account. - sig { returns(T.nilable(String)) } - attr_reader :bank_account - end - class EstimatedFee < Stripe::StripeObject - # The fee amount for corresponding fee type. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # The fee type. - sig { returns(String) } - attr_reader :type - end - class From < Stripe::StripeObject - # The monetary amount debited from the sender, only set on responses. - sig { returns(Stripe::V2::Amount) } - attr_reader :debited - # The FinancialAccount that funds were pulled from. - sig { returns(String) } - attr_reader :financial_account - end - class FxQuote < Stripe::StripeObject - class Rates < Stripe::StripeObject - # The exchange rate going from_currency -> to_currency. - sig { returns(String) } - attr_reader :exchange_rate - end - # The duration the exchange rate lock remains valid from creation time. Allowed value is five_minutes. - sig { returns(String) } - attr_reader :lock_duration - # Time at which the rate lock will expire, measured in seconds since the Unix epoch. - sig { returns(String) } - attr_reader :lock_expires_at - # Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp. Value can be active or expired. - sig { returns(String) } - attr_reader :lock_status - # Key pair: from currency Value: exchange rate going from_currency -> to_currency. - sig { returns(T::Hash[String, Rates]) } - attr_reader :rates - # The currency that the transaction is exchanging to. - sig { returns(String) } - attr_reader :to_currency - end - class To < Stripe::StripeObject - # The monetary amount being credited to the destination. - sig { returns(Stripe::V2::Amount) } - attr_reader :credited - # The payout method which the OutboundPayment uses to send payout. - sig { returns(String) } - attr_reader :payout_method - # To which account the OutboundPayment is sent. - sig { returns(String) } - attr_reader :recipient - end - # The "presentment amount" for the OutboundPaymentQuote. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Time at which the OutboundPaymentQuote was created. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Delivery options to be used to send the OutboundPayment. - sig { returns(T.nilable(DeliveryOptions)) } - attr_reader :delivery_options - # The estimated fees for the OutboundPaymentQuote. - sig { returns(T::Array[EstimatedFee]) } - attr_reader :estimated_fees - # Details about the sender of an OutboundPaymentQuote. - sig { returns(From) } - attr_reader :from - # The underlying FXQuote details for the OutboundPaymentQuote. - sig { returns(FxQuote) } - attr_reader :fx_quote - # Unique identifier for the OutboundPaymentQuote. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Details about the recipient of an OutboundPaymentQuote. - sig { returns(To) } - attr_reader :to - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # OutboundTransfer represents a single money movement from one FinancialAccount you own to a payout method you also own. - class OutboundTransfer < APIResource - class DeliveryOptions < Stripe::StripeObject - # Open Enum. Method for bank account. - sig { returns(T.nilable(String)) } - attr_reader :bank_account - end - class From < Stripe::StripeObject - # The monetary amount debited from the sender, only set on responses. - sig { returns(Stripe::V2::Amount) } - attr_reader :debited - # The FinancialAccount that funds were pulled from. - sig { returns(String) } - attr_reader :financial_account - end - class StatusDetails < Stripe::StripeObject - class Failed < Stripe::StripeObject - # Open Enum. The `failed` status reason. - sig { returns(String) } - attr_reader :reason - end - class Returned < Stripe::StripeObject - # Open Enum. The `returned` status reason. - sig { returns(String) } - attr_reader :reason - end - # The `failed` status reason. - sig { returns(T.nilable(Failed)) } - attr_reader :failed - # The `returned` status reason. - sig { returns(T.nilable(Returned)) } - attr_reader :returned - end - class StatusTransitions < Stripe::StripeObject - # Timestamp describing when an OutboundTransfer changed status to `canceled`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :canceled_at - # Timestamp describing when an OutboundTransfer changed status to `failed`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :failed_at - # Timestamp describing when an OutboundTransfer changed status to `posted`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :posted_at - # Timestamp describing when an OutboundTransfer changed status to `returned`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :returned_at - end - class To < Stripe::StripeObject - # The monetary amount being credited to the destination. - sig { returns(Stripe::V2::Amount) } - attr_reader :credited - # The payout method which the OutboundTransfer uses to send payout. - sig { returns(String) } - attr_reader :payout_method - end - class TraceId < Stripe::StripeObject - # Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to - # `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. - # Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` - # even after the payment or transfer is posted. - sig { returns(String) } - attr_reader :status - # The trace ID value if `trace_id.status` is `supported`, otherwise empty. - sig { returns(T.nilable(String)) } - attr_reader :value - end - # The "presentment amount" for the OutboundTransfer. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Returns true if the OutboundTransfer can be canceled, and false otherwise. - sig { returns(T::Boolean) } - attr_reader :cancelable - # Time at which the OutboundTransfer was created. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Delivery options to be used to send the OutboundTransfer. - sig { returns(T.nilable(DeliveryOptions)) } - attr_reader :delivery_options - # An arbitrary string attached to the OutboundTransfer. Often useful for displaying to users. - sig { returns(T.nilable(String)) } - attr_reader :description - # The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a `failed`, `canceled`, or `returned` state. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :expected_arrival_date - # The FinancialAccount that funds were pulled from. - sig { returns(From) } - attr_reader :from - # Unique identifier for the OutboundTransfer. - sig { returns(String) } - attr_reader :id - # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. - sig { returns(T.nilable(T::Hash[String, String])) } - attr_reader :metadata - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # A link to the Stripe-hosted receipt for this OutboundTransfer. The receipt link remains active for 60 days from the OutboundTransfer creation date. After this period, the link will expire and the receipt url value will be null. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # The description that appears on the receiving end for an OutboundTransfer (for example, bank statement for external bank transfer). - sig { returns(String) } - attr_reader :statement_descriptor - # Closed Enum. Current status of the OutboundTransfer: `processing`, `failed`, `posted`, `returned`, `canceled`. - # An OutboundTransfer is `processing` if it has been created and is processing. - # The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. - # If an OutboundTransfer fails to arrive at its payout method, its status will change to `returned`. - sig { returns(String) } - attr_reader :status - # Status details for an OutboundTransfer in a `failed` or `returned` state. - sig { returns(T.nilable(StatusDetails)) } - attr_reader :status_details - # Hash containing timestamps of when the object transitioned to a particular status. - sig { returns(T.nilable(StatusTransitions)) } - attr_reader :status_transitions - # To which payout method the OutboundTransfer was sent. - sig { returns(To) } - attr_reader :to - # A unique identifier that can be used to track this OutboundTransfer with recipient bank. Banks might call this a “reference number” or something similar. - sig { returns(TraceId) } - attr_reader :trace_id - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # Use the PayoutMethods API to list and interact with PayoutMethod objects. - class PayoutMethod < APIResource - class UsageStatus < Stripe::StripeObject - # Payments status - used when sending OutboundPayments (sending funds to recipients). - sig { returns(String) } - attr_reader :payments - # Transfers status - used when making an OutboundTransfer (sending funds to yourself). - sig { returns(String) } - attr_reader :transfers - end - class BankAccount < Stripe::StripeObject - # Whether this PayoutMethodBankAccount object was archived. PayoutMethodBankAccount objects can be archived through - # the /archive API, and they will not be automatically archived by Stripe. Archived PayoutMethodBankAccount objects - # cannot be used as payout methods and will not appear in the payout method list. - sig { returns(T::Boolean) } - attr_reader :archived - # The name of the bank this bank account is in. This field is populated automatically by Stripe. - sig { returns(String) } - attr_reader :bank_name - # The country code of the bank account. - sig { returns(String) } - attr_reader :country - # List of enabled flows for this bank account (wire or local). - sig { returns(T::Array[String]) } - attr_reader :enabled_delivery_options - # The last 4 digits of the account number. - sig { returns(String) } - attr_reader :last4 - # The routing number of the bank account, if present. - sig { returns(T.nilable(String)) } - attr_reader :routing_number - # The list of currencies supported by this bank account. - sig { returns(T::Array[String]) } - attr_reader :supported_currencies - end - class Card < Stripe::StripeObject - # Whether the PayoutMethodCard object was archived. PayoutMethodCard objects can be archived through - # the /archive API, and they will not be automatically archived by Stripe. Archived PayoutMethodCard objects - # cannot be used as payout methods and will not appear in the payout method list. - sig { returns(T::Boolean) } - attr_reader :archived - # The month the card expires. - sig { returns(String) } - attr_reader :exp_month - # The year the card expires. - sig { returns(String) } - attr_reader :exp_year - # The last 4 digits of the card number. - sig { returns(String) } - attr_reader :last4 - end - # A set of available payout speeds for this payout method. - sig { returns(T::Array[String]) } - attr_reader :available_payout_speeds - # Created timestamp. - sig { returns(String) } - attr_reader :created - # ID of the PayoutMethod object. - sig { returns(String) } - attr_reader :id - # ID of the underlying active OutboundSetupIntent object, if any. - sig { returns(T.nilable(String)) } - attr_reader :latest_outbound_setup_intent - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Closed Enum. The type of payout method. - sig { returns(String) } - attr_reader :type - # Indicates whether the payout method has met the necessary requirements for outbound money movement. - sig { returns(UsageStatus) } - attr_reader :usage_status - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - # The PayoutMethodBankAccount object details. - sig { returns(T.nilable(BankAccount)) } - attr_reader :bank_account - # The PayoutMethodCard object details. - sig { returns(T.nilable(Card)) } - attr_reader :card - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # Use the OutboundSetupIntent API to create and setup usable payout methods. - class OutboundSetupIntent < APIResource - class NextAction < Stripe::StripeObject - class ConfirmationOfPayee < Stripe::StripeObject - # The type of the credential. - sig { returns(String) } - attr_reader :object - # The Confirmation of Payee status. - sig { returns(String) } - attr_reader :status - end - # The type of next action. - sig { returns(String) } - attr_reader :type - # Confirmation of Payee details. - sig { returns(T.nilable(ConfirmationOfPayee)) } - attr_reader :confirmation_of_payee - end - # Created timestamp. - sig { returns(String) } - attr_reader :created - # ID of the outbound setup intent. - sig { returns(String) } - attr_reader :id - # Specifies which actions needs to be taken next to continue setup of the credential. - sig { returns(T.nilable(NextAction)) } - attr_reader :next_action - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Information about the payout method that’s created and linked to this outbound setup intent. - sig { returns(Stripe::V2::MoneyManagement::PayoutMethod) } - attr_reader :payout_method - # Closed Enum. Status of the outbound setup intent. - sig { returns(String) } - attr_reader :status - # The intended money movement flow this payout method should be set up for, specified in params. - sig { returns(String) } - attr_reader :usage_intent - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # The PayoutMethodsBankAccountSpec object. - class PayoutMethodsBankAccountSpec < APIResource - class Countries < Stripe::StripeObject - class Field < Stripe::StripeObject - class LocalNameHuman < Stripe::StripeObject - # Attribute for field content - sig { returns(String) } - attr_reader :content - # Attribute for field localization_key - sig { returns(String) } - attr_reader :localization_key - end - # The local name of the field. - sig { returns(String) } - attr_reader :local_name - # The human readable local name of the field. - sig { returns(LocalNameHuman) } - attr_reader :local_name_human - # The maximum length of the field. - sig { returns(Integer) } - attr_reader :max_length - # THe minimum length of the field. - sig { returns(Integer) } - attr_reader :min_length - # The placeholder value of the field. - sig { returns(String) } - attr_reader :placeholder - # The stripe name of the field. - sig { returns(String) } - attr_reader :stripe_name - # The validation regex of the field. - sig { returns(String) } - attr_reader :validation_regex - end - # The list of fields for a country, along with associated information. - sig { returns(T::Array[Field]) } - attr_reader :fields - end - # The list of specs by country. - sig { returns(T::Hash[String, Countries]) } - attr_reader :countries - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module Core - module Vault - # Use the GBBankAccounts API to create and manage GB bank account objects - class GbBankAccount < APIResource - class ConfirmationOfPayee < Stripe::StripeObject - class Result < Stripe::StripeObject - class Matched < Stripe::StripeObject - # The business type given by the bank for this account, in case of a MATCH or PARTIAL_MATCH. - # Closed enum. - sig { returns(T.nilable(String)) } - attr_reader :business_type - # The name given by the bank for this account, in case of a MATCH or PARTIAL_MATCH. - sig { returns(T.nilable(String)) } - attr_reader :name - end - class Provided < Stripe::StripeObject - # The provided or Legal Entity business type to match against the CoP service. Closed enum. - sig { returns(String) } - attr_reader :business_type - # The provided or Legal Entity name to match against the CoP service. - sig { returns(String) } - attr_reader :name - end - # When the CoP result was created. - sig { returns(String) } - attr_reader :created - # Whether or not the information of the bank account matches what you have provided. Closed enum. - sig { returns(String) } - attr_reader :match_result - # The fields that CoP service matched against. Only has value if MATCH or PARTIAL_MATCH, empty otherwise. - sig { returns(Matched) } - attr_reader :matched - # Human-readable message describing the match result. - sig { returns(String) } - attr_reader :message - # The fields that are matched against what the network has on file. - sig { returns(Provided) } - attr_reader :provided - end - # The result of the Confirmation of Payee check, once the check has been initiated. Closed enum. - sig { returns(Result) } - attr_reader :result - # The current state of Confirmation of Payee on this bank account. Closed enum. - sig { returns(String) } - attr_reader :status - end - # Whether this bank account object was archived. Bank account objects can be archived through - # the /archive API, and they will not be automatically archived by Stripe. Archived bank account objects - # cannot be used as outbound destinations and will not appear in the outbound destination list. - sig { returns(T::Boolean) } - attr_reader :archived - # Closed Enum. The type of the bank account (checking or savings). - sig { returns(String) } - attr_reader :bank_account_type - # The name of the bank. - sig { returns(String) } - attr_reader :bank_name - # Information around the status of Confirmation of Payee matching done on this bank account. - # Confirmation of Payee is a name matching service that must be done before making OutboundPayments in the UK. - sig { returns(ConfirmationOfPayee) } - attr_reader :confirmation_of_payee - # Creation time. - sig { returns(String) } - attr_reader :created - # The ID of the GBBankAccount object. - sig { returns(String) } - attr_reader :id - # The last 4 digits of the account number or IBAN. - sig { returns(String) } - attr_reader :last4 - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The Sort Code of the bank account. - sig { returns(String) } - attr_reader :sort_code - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end - end -end -# typed: true -module Stripe - module V2 - module Core - module Vault - # Use the USBankAccounts API to create and manage US bank accounts objects that you can use to receive funds. Note that these are not interchangeable with v1 Tokens. - class UsBankAccount < APIResource - # Whether this USBankAccount object was archived. - sig { returns(T::Boolean) } - attr_reader :archived - # Closed Enum. The type of bank account (checking or savings). - sig { returns(String) } - attr_reader :bank_account_type - # The name of the bank this bank account belongs to. This field is populated automatically by Stripe based on the routing number. - sig { returns(String) } - attr_reader :bank_name - # Creation time of the object. - sig { returns(String) } - attr_reader :created - # The fedwire routing number of the bank account. - sig { returns(T.nilable(String)) } - attr_reader :fedwire_routing_number - # The ID of the USBankAccount object. - sig { returns(String) } - attr_reader :id - # The last 4 digits of the account number. - sig { returns(String) } - attr_reader :last4 - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The ACH routing number of the bank account. - sig { returns(T.nilable(String)) } - attr_reader :routing_number - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # Use ReceivedCredits API to retrieve information on when, where, and how funds are sent into your FinancialAccount. - class ReceivedCredit < APIResource - class StatusDetails < Stripe::StripeObject - class Failed < Stripe::StripeObject - # Open Enum. The `failed` status reason. - sig { returns(String) } - attr_reader :reason - end - class Returned < Stripe::StripeObject - # Open Enum. The `returned` status reason. - sig { returns(String) } - attr_reader :reason - end - # Hash that provides additional information regarding the reason behind a `failed` ReceivedCredit status. It is only present when the ReceivedCredit status is `failed`. - sig { returns(T.nilable(Failed)) } - attr_reader :failed - # Hash that provides additional information regarding the reason behind a `returned` ReceivedCredit status. It is only present when the ReceivedCredit status is `returned`. - sig { returns(T.nilable(Returned)) } - attr_reader :returned - end - class StatusTransitions < Stripe::StripeObject - # Timestamp describing when the ReceivedCredit was marked as `failed`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :failed_at - # Timestamp describing when the ReceivedCredit changed status to `returned`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :returned_at - # Timestamp describing when the ReceivedCredit was marked as `succeeded`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(T.nilable(String)) } - attr_reader :succeeded_at - end - class BalanceTransfer < Stripe::StripeObject - # The ID of the Stripe Money Movement that originated the ReceivedCredit. - sig { returns(String) } - attr_reader :payout_v1 - # Open Enum. The type of Stripe Money Movement that originated the ReceivedCredit. - sig { returns(String) } - attr_reader :type - end - class BankTransfer < Stripe::StripeObject - class GbBankAccount < Stripe::StripeObject - # The bank name the transfer was received from. - sig { returns(T.nilable(String)) } - attr_reader :account_holder_name - # The bank name the transfer was received from. - sig { returns(T.nilable(String)) } - attr_reader :bank_name - # The last 4 digits of the account number that originated the transfer. - sig { returns(T.nilable(String)) } - attr_reader :last4 - # Open Enum. The money transmission network used to send funds for this ReceivedCredit. - sig { returns(String) } - attr_reader :network - # The sort code of the account that originated the transfer. - sig { returns(T.nilable(String)) } - attr_reader :sort_code - end - class UsBankAccount < Stripe::StripeObject - # The bank name the transfer was received from. - sig { returns(T.nilable(String)) } - attr_reader :bank_name - # The last 4 digits of the account number that originated the transfer. - sig { returns(T.nilable(String)) } - attr_reader :last4 - # Open Enum. The money transmission network used to send funds for this ReceivedCredit. - sig { returns(String) } - attr_reader :network - # The routing number of the account that originated the transfer. - sig { returns(T.nilable(String)) } - attr_reader :routing_number - end - # Financial Address on which funds for ReceivedCredit were received. - sig { returns(String) } - attr_reader :financial_address - # Open Enum. Indicates the type of source via from which external funds originated. - sig { returns(String) } - attr_reader :payment_method_type - # Freeform string set by originator of the external ReceivedCredit. - sig { returns(T.nilable(String)) } - attr_reader :statement_descriptor - # Hash containing the transaction bank details. Present if `payment_method_type` field value is `gb_bank_account`. - sig { returns(T.nilable(GbBankAccount)) } - attr_reader :gb_bank_account - # Hash containing the transaction bank details. Present if `payment_method_type` field value is `us_bank_account`. - sig { returns(T.nilable(UsBankAccount)) } - attr_reader :us_bank_account - end - # The amount and currency of the ReceivedCredit. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # Time at which the ReceivedCredit was created. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Freeform string set by originator of the ReceivedCredit. - sig { returns(T.nilable(String)) } - attr_reader :description - # Financial Account ID on which funds for ReceivedCredit were received. - sig { returns(String) } - attr_reader :financial_account - # Unique identifier for the ReceivedCredit. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # Open Enum. The status of the ReceivedCredit. - sig { returns(String) } - attr_reader :status - # This hash contains detailed information that elaborates on the specific status of the ReceivedCredit. e.g the reason behind a failure if the status is marked as `failed`. - sig { returns(T.nilable(StatusDetails)) } - attr_reader :status_details - # Hash containing timestamps of when the object transitioned to a particular status. - sig { returns(T.nilable(StatusTransitions)) } - attr_reader :status_transitions - # Open Enum. The type of flow that caused the ReceivedCredit. - sig { returns(String) } - attr_reader :type - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - # This object stores details about the originating Stripe transaction that resulted in the ReceivedCredit. Present if `type` field value is `balance_transfer`. - sig { returns(T.nilable(BalanceTransfer)) } - attr_reader :balance_transfer - # This object stores details about the originating banking transaction that resulted in the ReceivedCredit. Present if `type` field value is `external_credit`. - sig { returns(T.nilable(BankTransfer)) } - attr_reader :bank_transfer - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # ReceivedDebit resource - class ReceivedDebit < APIResource - class StatusDetails < Stripe::StripeObject - class Failed < Stripe::StripeObject - # Open Enum. The reason for the failure of the ReceivedDebit. - sig { returns(String) } - attr_reader :reason - end - # Information that elaborates on the `failed` status of a ReceivedDebit. - # It is only present when the ReceivedDebit status is `failed`. - sig { returns(Failed) } - attr_reader :failed - end - class StatusTransitions < Stripe::StripeObject - # The time when the ReceivedDebit was marked as `canceled`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. - sig { returns(T.nilable(String)) } - attr_reader :canceled_at - # The time when the ReceivedDebit was marked as `failed`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. - sig { returns(T.nilable(String)) } - attr_reader :failed_at - # The time when the ReceivedDebit was marked as `succeeded`. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. - sig { returns(T.nilable(String)) } - attr_reader :succeeded_at - end - class BankTransfer < Stripe::StripeObject - class UsBankAccount < Stripe::StripeObject - # The name of the bank the debit originated from. - sig { returns(T.nilable(String)) } - attr_reader :bank_name - # Open Enum. The bank network the debit was originated on. - sig { returns(String) } - attr_reader :network - # The routing number of the bank that originated the debit. - sig { returns(T.nilable(String)) } - attr_reader :routing_number - end - # The Financial Address that was debited. - sig { returns(String) } - attr_reader :financial_address - # Open Enum. The type of the payment method used to originate the debit. - sig { returns(String) } - attr_reader :payment_method_type - # The statement descriptor set by the originator of the debit. - sig { returns(T.nilable(String)) } - attr_reader :statement_descriptor - # The payment method used to originate the debit. - sig { returns(UsBankAccount) } - attr_reader :us_bank_account - end - # Amount and currency of the ReceivedDebit. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # The time at which the ReceivedDebit was created. - # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. - sig { returns(String) } - attr_reader :created - # Freeform string sent by the originator of the ReceivedDebit. - sig { returns(T.nilable(String)) } - attr_reader :description - # Financial Account on which funds for ReceivedDebit were debited. - sig { returns(String) } - attr_reader :financial_account - # Unique identifier for the ReceivedDebit. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # A link to the Stripe-hosted receipt for this ReceivedDebit. - sig { returns(T.nilable(String)) } - attr_reader :receipt_url - # Open Enum. The status of the ReceivedDebit. - sig { returns(String) } - attr_reader :status - # Detailed information about the status of the ReceivedDebit. - sig { returns(T.nilable(StatusDetails)) } - attr_reader :status_details - # The time at which the ReceivedDebit transitioned to a particular status. - sig { returns(T.nilable(StatusTransitions)) } - attr_reader :status_transitions - # Open Enum. The type of the ReceivedDebit. - sig { returns(String) } - attr_reader :type - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - # This object stores details about the originating banking transaction that resulted in the ReceivedDebit. Present if `type` field value is `bank_transfer`. - sig { returns(T.nilable(BankTransfer)) } - attr_reader :bank_transfer - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # Use Transactions to view changes to your FinancialAccount balance over time. Every flow that moves money, such as OutboundPayments or ReceivedCredits, will have one or more Transactions that describes how the flow impacted your balance. Note that while the FinancialAccount balance will always be up to date, be aware that Transactions and TransactionEntries are created shortly after to reflect changes. - class Transaction < APIResource - class BalanceImpact < Stripe::StripeObject - # Impact to the available balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :available - # Impact to the inbound_pending balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :inbound_pending - # Impact to the outbound_pending balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :outbound_pending - end - class Flow < Stripe::StripeObject - # Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. - sig { returns(String) } - attr_reader :type - # If applicable, the ID of the Adjustment that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :adjustment - # If applicable, the ID of the FeeTransaction that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :fee_transaction - # If applicable, the ID of the InboundTransfer that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :inbound_transfer - # If applicable, the ID of the OutboundPayment that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :outbound_payment - # If applicable, the ID of the OutboundTransfer that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :outbound_transfer - # If applicable, the ID of the ReceivedCredit that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :received_credit - # If applicable, the ID of the ReceivedDebit that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :received_debit - end - class StatusTransitions < Stripe::StripeObject - # The time at which the Transaction became posted. Only present if status == posted. - sig { returns(T.nilable(String)) } - attr_reader :posted_at - # The time at which the Transaction became void. Only present if status == void. - sig { returns(T.nilable(String)) } - attr_reader :void_at - end - # The amount of the Transaction. - sig { returns(Stripe::V2::Amount) } - attr_reader :amount - # The delta to the FinancialAccount's balance. The balance_impact for the Transaction is equal to sum of its - # TransactionEntries that have `effective_at`s in the past. - sig { returns(BalanceImpact) } - attr_reader :balance_impact - # Open Enum. A descriptive category used to classify the Transaction. - sig { returns(String) } - attr_reader :category - # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - sig { returns(String) } - attr_reader :created - # Indicates the FinancialAccount affected by this Transaction. - sig { returns(String) } - attr_reader :financial_account - # Details about the Flow object that created the Transaction. - sig { returns(Flow) } - attr_reader :flow - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # Closed Enum. Current status of the Transaction. - # A Transaction is `pending` if either `balance_impact.inbound_pending` or `balance_impact.outbound_pending` is non-zero. - # A Transaction is `posted` if only `balance_impact.available` is non-zero. - # A Transaction is `void` if there is no balance impact. - # `posted` and `void` are terminal states, and no additional entries will be added to the Transaction. - sig { returns(String) } - attr_reader :status - # Timestamps for when the Transaction transitioned to a particular status. - sig { returns(StatusTransitions) } - attr_reader :status_transitions - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end -# typed: true -module Stripe - module V2 - module MoneyManagement - # TransactionEntries represent individual money movements across different states within a Transaction. - class TransactionEntry < APIResource - class BalanceImpact < Stripe::StripeObject - # Impact to the available balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :available - # Impact to the inbound_pending balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :inbound_pending - # Impact to the outbound_pending balance. - sig { returns(Stripe::V2::Amount) } - attr_reader :outbound_pending - end - class TransactionDetails < Stripe::StripeObject - class Flow < Stripe::StripeObject - # Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. - sig { returns(String) } - attr_reader :type - # If applicable, the ID of the Adjustment that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :adjustment - # If applicable, the ID of the FeeTransaction that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :fee_transaction - # If applicable, the ID of the InboundTransfer that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :inbound_transfer - # If applicable, the ID of the OutboundPayment that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :outbound_payment - # If applicable, the ID of the OutboundTransfer that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :outbound_transfer - # If applicable, the ID of the ReceivedCredit that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :received_credit - # If applicable, the ID of the ReceivedDebit that created this Transaction. - sig { returns(T.nilable(String)) } - attr_reader :received_debit - end - # Closed Enum for now, and will be turned into an Open Enum soon. A descriptive category used to classify the Transaction. - sig { returns(String) } - attr_reader :category - # Indicates the FinancialAccount affected by this Transaction. - sig { returns(String) } - attr_reader :financial_account - # Details about the Flow object that created the Transaction. - sig { returns(Flow) } - attr_reader :flow - end - # The delta to the FinancialAccount's balance. - sig { returns(BalanceImpact) } - attr_reader :balance_impact - # Time at which the object was created. - sig { returns(String) } - attr_reader :created - # Time at which the entry impacted (or will impact if it's in the future) the FinancialAccount balance. - sig { returns(String) } - attr_reader :effective_at - # Unique identifier for the object. - sig { returns(String) } - attr_reader :id - # String representing the object's type. Objects of the same type share the same value of the object field. - sig { returns(String) } - attr_reader :object - # The Transaction that this TransactionEntry belongs to. - sig { returns(String) } - attr_reader :transaction - # Details copied from the transaction that this TransactionEntry belongs to. - sig { returns(TransactionDetails) } - attr_reader :transaction_details - # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. - sig { returns(T::Boolean) } - attr_reader :livemode - end - end - end -end # typed: true module Stripe # This is an object representing a Stripe account. You can retrieve it to see @@ -109510,6 +105042,4474 @@ module Stripe end end # typed: true +module Stripe + module V2 + module Core + # A V2 Account is a representation of a company or individual that a Stripe user does business with. Accounts contain the contact details, Legal Entity information, and configuration required to enable the Account for use across Stripe products. + class Account < APIResource + class Configuration < Stripe::StripeObject + class Customer < Stripe::StripeObject + class AutomaticIndirectTax < Stripe::StripeObject + class Location < Stripe::StripeObject + # The identified tax country of the customer. + sig { returns(T.nilable(String)) } + attr_reader :country + # The identified tax state, county, province, or region of the customer. + sig { returns(T.nilable(String)) } + attr_reader :state + end + # Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to reverse, invoice and receipt PDFs include the following text: “Reverse charge”. + sig { returns(T.nilable(String)) } + attr_reader :exempt + # A recent IP address of the customer used for tax reporting and tax location inference. + sig { returns(T.nilable(String)) } + attr_reader :ip_address + # The customer’s identified tax location - uses `location_source`. Will only be rendered if the `automatic_indirect_tax` feature is requested and `active`. + sig { returns(T.nilable(Location)) } + attr_reader :location + # The data source used to identify the customer's tax location - defaults to 'identity_address'. Will only be used for automatic tax calculation on the customer's Invoices and Subscriptions. + sig { returns(T.nilable(String)) } + attr_reader :location_source + end + class Billing < Stripe::StripeObject + class Invoice < Stripe::StripeObject + class CustomField < Stripe::StripeObject + # The name of the custom field. This may be up to 40 characters. + sig { returns(String) } + attr_reader :name + # The value of the custom field. This may be up to 140 characters. When updating, pass an empty string to remove previously-defined values. + sig { returns(String) } + attr_reader :value + end + class Rendering < Stripe::StripeObject + # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + sig { returns(T.nilable(String)) } + attr_reader :amount_tax_display + # ID of the invoice rendering template to use for future invoices. + sig { returns(T.nilable(String)) } + attr_reader :template + end + # The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields. + sig { returns(T::Array[CustomField]) } + attr_reader :custom_fields + # Default footer to be displayed on invoices for this customer. + sig { returns(T.nilable(String)) } + attr_reader :footer + # The sequence to be used on the customer's next invoice. Defaults to 1. + sig { returns(T.nilable(Integer)) } + attr_reader :next_sequence + # The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers. + sig { returns(T.nilable(String)) } + attr_reader :prefix + # Default options for invoice PDF rendering for this customer. + sig { returns(T.nilable(Rendering)) } + attr_reader :rendering + end + # ID of a payment method that’s attached to the customer, to be used as the customer’s default payment method for invoices and subscriptions. + sig { returns(T.nilable(String)) } + attr_reader :default_payment_method + # Default settings used on invoices for this customer. + sig { returns(T.nilable(Invoice)) } + attr_reader :invoice + end + class Capabilities < Stripe::StripeObject + class AutomaticIndirectTax < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + # Generates requirements for enabling automatic indirect tax calculation on this customer's invoices or subscriptions. Recommended to request this capability if planning to enable automatic tax calculation on this customer's invoices or subscriptions. Uses the `location_source` field. + sig { returns(T.nilable(AutomaticIndirectTax)) } + attr_reader :automatic_indirect_tax + end + class Shipping < Stripe::StripeObject + class Address < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + end + # Customer shipping address. + sig { returns(T.nilable(Address)) } + attr_reader :address + # Customer name. + sig { returns(T.nilable(String)) } + attr_reader :name + # Customer phone (including extension). + sig { returns(T.nilable(String)) } + attr_reader :phone + end + # Automatic indirect tax settings to be used when automatic tax calculation is enabled on the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if automatic tax calculation is possible given the current customer location information. + sig { returns(T.nilable(AutomaticIndirectTax)) } + attr_reader :automatic_indirect_tax + # Billing settings - default settings used for this customer in Billing flows such as Invoices and Subscriptions. + sig { returns(T.nilable(Billing)) } + attr_reader :billing + # Capabilities that have been requested on the Customer Configuration. + sig { returns(T.nilable(Capabilities)) } + attr_reader :capabilities + # The customer's shipping information. Appears on invoices emailed to this customer. + sig { returns(T.nilable(Shipping)) } + attr_reader :shipping + # ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and when the Customer Configuration is first set on an Account. + sig { returns(T.nilable(String)) } + attr_reader :test_clock + end + class Merchant < Stripe::StripeObject + class BacsDebitPayments < Stripe::StripeObject + # Display name for Bacs debit payments. + sig { returns(T.nilable(String)) } + attr_reader :display_name + # Service user number for Bacs debit payments. + sig { returns(T.nilable(String)) } + attr_reader :service_user_number + end + class Branding < Stripe::StripeObject + # ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): An icon for the merchant. Must be square and at least 128px x 128px. + sig { returns(T.nilable(String)) } + attr_reader :icon + # ID of a [file upload](https://docs.stripe.com/api/persons/update#create_file): A logo for the merchant that will be used in Checkout instead of the icon and without the merchant's name next to it if provided. Must be at least 128px x 128px. + sig { returns(T.nilable(String)) } + attr_reader :logo + # A CSS hex color value representing the primary branding color for the merchant. + sig { returns(T.nilable(String)) } + attr_reader :primary_color + # A CSS hex color value representing the secondary branding color for the merchant. + sig { returns(T.nilable(String)) } + attr_reader :secondary_color + end + class Capabilities < Stripe::StripeObject + class AchDebitPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AcssDebitPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AffirmPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AfterpayClearpayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AlmaPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AmazonPayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class AuBecsDebitPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class BacsDebitPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class BancontactPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class BlikPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class BoletoPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class CardPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class CartesBancairesPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class CashappPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class EpsPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class FpxPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class GbBankTransferPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class GrabpayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class IdealPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class JcbPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class JpBankTransferPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class KakaoPayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class KlarnaPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class KonbiniPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class KrCardPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class LinkPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class MobilepayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class MultibancoPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class MxBankTransferPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class NaverPayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class OxxoPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class P24Payments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class PayByBankPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class PaycoPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class PaynowPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class PromptpayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class RevolutPayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class SamsungPayPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class SepaBankTransferPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class SepaDebitPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class StripeBalance < Stripe::StripeObject + class Payouts < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + # Allows the account to do payouts using their Stripe Balance (/v1/balance). + sig { returns(T.nilable(Payouts)) } + attr_reader :payouts + end + class SwishPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class TwintPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class UsBankTransferPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class ZipPayments < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + # Allow the merchant to process ACH debit payments. + sig { returns(T.nilable(AchDebitPayments)) } + attr_reader :ach_debit_payments + # Allow the merchant to process ACSS debit payments. + sig { returns(T.nilable(AcssDebitPayments)) } + attr_reader :acss_debit_payments + # Allow the merchant to process Affirm payments. + sig { returns(T.nilable(AffirmPayments)) } + attr_reader :affirm_payments + # Allow the merchant to process Afterpay/Clearpay payments. + sig { returns(T.nilable(AfterpayClearpayPayments)) } + attr_reader :afterpay_clearpay_payments + # Allow the merchant to process Alma payments. + sig { returns(T.nilable(AlmaPayments)) } + attr_reader :alma_payments + # Allow the merchant to process Amazon Pay payments. + sig { returns(T.nilable(AmazonPayPayments)) } + attr_reader :amazon_pay_payments + # Allow the merchant to process Australian BECS Direct Debit payments. + sig { returns(T.nilable(AuBecsDebitPayments)) } + attr_reader :au_becs_debit_payments + # Allow the merchant to process BACS Direct Debit payments. + sig { returns(T.nilable(BacsDebitPayments)) } + attr_reader :bacs_debit_payments + # Allow the merchant to process Bancontact payments. + sig { returns(T.nilable(BancontactPayments)) } + attr_reader :bancontact_payments + # Allow the merchant to process BLIK payments. + sig { returns(T.nilable(BlikPayments)) } + attr_reader :blik_payments + # Allow the merchant to process Boleto payments. + sig { returns(T.nilable(BoletoPayments)) } + attr_reader :boleto_payments + # Allow the merchant to collect card payments. + sig { returns(T.nilable(CardPayments)) } + attr_reader :card_payments + # Allow the merchant to process Cartes Bancaires payments. + sig { returns(T.nilable(CartesBancairesPayments)) } + attr_reader :cartes_bancaires_payments + # Allow the merchant to process Cash App payments. + sig { returns(T.nilable(CashappPayments)) } + attr_reader :cashapp_payments + # Allow the merchant to process EPS payments. + sig { returns(T.nilable(EpsPayments)) } + attr_reader :eps_payments + # Allow the merchant to process FPX payments. + sig { returns(T.nilable(FpxPayments)) } + attr_reader :fpx_payments + # Allow the merchant to process UK bank transfer payments. + sig { returns(T.nilable(GbBankTransferPayments)) } + attr_reader :gb_bank_transfer_payments + # Allow the merchant to process GrabPay payments. + sig { returns(T.nilable(GrabpayPayments)) } + attr_reader :grabpay_payments + # Allow the merchant to process iDEAL payments. + sig { returns(T.nilable(IdealPayments)) } + attr_reader :ideal_payments + # Allow the merchant to process JCB card payments. + sig { returns(T.nilable(JcbPayments)) } + attr_reader :jcb_payments + # Allow the merchant to process Japanese bank transfer payments. + sig { returns(T.nilable(JpBankTransferPayments)) } + attr_reader :jp_bank_transfer_payments + # Allow the merchant to process Kakao Pay payments. + sig { returns(T.nilable(KakaoPayPayments)) } + attr_reader :kakao_pay_payments + # Allow the merchant to process Klarna payments. + sig { returns(T.nilable(KlarnaPayments)) } + attr_reader :klarna_payments + # Allow the merchant to process Konbini convenience store payments. + sig { returns(T.nilable(KonbiniPayments)) } + attr_reader :konbini_payments + # Allow the merchant to process Korean card payments. + sig { returns(T.nilable(KrCardPayments)) } + attr_reader :kr_card_payments + # Allow the merchant to process Link payments. + sig { returns(T.nilable(LinkPayments)) } + attr_reader :link_payments + # Allow the merchant to process MobilePay payments. + sig { returns(T.nilable(MobilepayPayments)) } + attr_reader :mobilepay_payments + # Allow the merchant to process Multibanco payments. + sig { returns(T.nilable(MultibancoPayments)) } + attr_reader :multibanco_payments + # Allow the merchant to process Mexican bank transfer payments. + sig { returns(T.nilable(MxBankTransferPayments)) } + attr_reader :mx_bank_transfer_payments + # Allow the merchant to process Naver Pay payments. + sig { returns(T.nilable(NaverPayPayments)) } + attr_reader :naver_pay_payments + # Allow the merchant to process OXXO payments. + sig { returns(T.nilable(OxxoPayments)) } + attr_reader :oxxo_payments + # Allow the merchant to process Przelewy24 (P24) payments. + sig { returns(T.nilable(P24Payments)) } + attr_reader :p24_payments + # Allow the merchant to process Pay by Bank payments. + sig { returns(T.nilable(PayByBankPayments)) } + attr_reader :pay_by_bank_payments + # Allow the merchant to process PAYCO payments. + sig { returns(T.nilable(PaycoPayments)) } + attr_reader :payco_payments + # Allow the merchant to process PayNow payments. + sig { returns(T.nilable(PaynowPayments)) } + attr_reader :paynow_payments + # Allow the merchant to process PromptPay payments. + sig { returns(T.nilable(PromptpayPayments)) } + attr_reader :promptpay_payments + # Allow the merchant to process Revolut Pay payments. + sig { returns(T.nilable(RevolutPayPayments)) } + attr_reader :revolut_pay_payments + # Allow the merchant to process Samsung Pay payments. + sig { returns(T.nilable(SamsungPayPayments)) } + attr_reader :samsung_pay_payments + # Allow the merchant to process SEPA bank transfer payments. + sig { returns(T.nilable(SepaBankTransferPayments)) } + attr_reader :sepa_bank_transfer_payments + # Allow the merchant to process SEPA Direct Debit payments. + sig { returns(T.nilable(SepaDebitPayments)) } + attr_reader :sepa_debit_payments + # Capabilities that enable the merchant to manage their Stripe Balance (/v1/balance). + sig { returns(T.nilable(StripeBalance)) } + attr_reader :stripe_balance + # Allow the merchant to process Swish payments. + sig { returns(T.nilable(SwishPayments)) } + attr_reader :swish_payments + # Allow the merchant to process TWINT payments. + sig { returns(T.nilable(TwintPayments)) } + attr_reader :twint_payments + # Allow the merchant to process US bank transfer payments. + sig { returns(T.nilable(UsBankTransferPayments)) } + attr_reader :us_bank_transfer_payments + # Allow the merchant to process Zip payments. + sig { returns(T.nilable(ZipPayments)) } + attr_reader :zip_payments + end + class CardPayments < Stripe::StripeObject + class DeclineOn < Stripe::StripeObject + # Whether Stripe automatically declines charges with an incorrect ZIP or postal code. This setting only applies when a ZIP or postal code is provided and they fail bank verification. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :avs_failure + # Whether Stripe automatically declines charges with an incorrect CVC. This setting only applies when a CVC is provided and it fails bank verification. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :cvc_failure + end + # Automatically declines certain charge types regardless of whether the card issuer accepted or declined the charge. + sig { returns(T.nilable(DeclineOn)) } + attr_reader :decline_on + end + class SepaDebitPayments < Stripe::StripeObject + # Creditor ID for SEPA debit payments. + sig { returns(T.nilable(String)) } + attr_reader :creditor_id + end + class StatementDescriptor < Stripe::StripeObject + # The default text that appears on statements for non-card charges outside of Japan. For card charges, if you don’t set a statement_descriptor_prefix, this text is also used as the statement descriptor prefix. In that case, if concatenating the statement descriptor suffix causes the combined statement descriptor to exceed 22 characters, we truncate the statement_descriptor text to limit the full descriptor to 22 characters. For more information about statement descriptors and their requirements, see the Merchant Configuration settings documentation. + sig { returns(T.nilable(String)) } + attr_reader :descriptor + # Default text that appears on statements for card charges outside of Japan, prefixing any dynamic statement_descriptor_suffix specified on the charge. To maximize space for the dynamic part of the descriptor, keep this text short. If you don’t specify this value, statement_descriptor is used as the prefix. For more information about statement descriptors and their requirements, see the Merchant Configuration settings documentation. + sig { returns(T.nilable(String)) } + attr_reader :prefix + end + class Support < Stripe::StripeObject + class Address < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + # A publicly available mailing address for sending support issues to. + sig { returns(T.nilable(Address)) } + attr_reader :address + # A publicly available email address for sending support issues to. + sig { returns(T.nilable(String)) } + attr_reader :email + # A publicly available phone number to call with support issues. + sig { returns(T.nilable(String)) } + attr_reader :phone + # A publicly available website for handling support issues. + sig { returns(T.nilable(String)) } + attr_reader :url + end + # Settings used for Bacs debit payments. + sig { returns(T.nilable(BacsDebitPayments)) } + attr_reader :bacs_debit_payments + # Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and other products. + sig { returns(T.nilable(Branding)) } + attr_reader :branding + # Capabilities that have been requested on the Merchant Configuration. + sig { returns(T.nilable(Capabilities)) } + attr_reader :capabilities + # Card payments settings. + sig { returns(T.nilable(CardPayments)) } + attr_reader :card_payments + # The merchant category code for the merchant. MCCs are used to classify businesses based on the goods or services they provide. + sig { returns(T.nilable(String)) } + attr_reader :mcc + # Settings used for SEPA debit payments. + sig { returns(T.nilable(SepaDebitPayments)) } + attr_reader :sepa_debit_payments + # Statement descriptor. + sig { returns(T.nilable(StatementDescriptor)) } + attr_reader :statement_descriptor + # Publicly available contact information for sending support issues to. + sig { returns(T.nilable(Support)) } + attr_reader :support + end + class Recipient < Stripe::StripeObject + class Capabilities < Stripe::StripeObject + class BankAccounts < Stripe::StripeObject + class Local < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class Wire < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + # Enables this Account to receive OutboundPayments to linked bank accounts over local networks. + sig { returns(T.nilable(Local)) } + attr_reader :local + # Enables this Account to receive OutboundPayments to linked bank accounts over wire. + sig { returns(T.nilable(Wire)) } + attr_reader :wire + end + class Cards < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class StripeBalance < Stripe::StripeObject + class Payouts < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + class StripeTransfers < Stripe::StripeObject + class StatusDetail < Stripe::StripeObject + # Machine-readable code explaining the reason for the Capability to be in its current status. + sig { returns(String) } + attr_reader :code + # Machine-readable code explaining how to make the Capability active. + sig { returns(String) } + attr_reader :resolution + end + # Whether the Capability has been requested. + sig { returns(T::Boolean) } + attr_reader :requested + # The status of the Capability. + sig { returns(String) } + attr_reader :status + # Additional details regarding the status of the Capability. `status_details` will be empty if the Capability's status is `active`. + sig { returns(T::Array[StatusDetail]) } + attr_reader :status_details + end + # Allows the account to do payouts using their Stripe Balance (/v1/balance). + sig { returns(T.nilable(Payouts)) } + attr_reader :payouts + # Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + sig { returns(T.nilable(StripeTransfers)) } + attr_reader :stripe_transfers + end + # Capabilities that enable OutboundPayments to a bank account linked to this Account. + sig { returns(T.nilable(BankAccounts)) } + attr_reader :bank_accounts + # Capability that enable OutboundPayments to a debit card linked to this Account. + sig { returns(T.nilable(Cards)) } + attr_reader :cards + # Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + sig { returns(T.nilable(StripeBalance)) } + attr_reader :stripe_balance + end + class DefaultOutboundDestination < Stripe::StripeObject + # The payout method ID of the default outbound destination. + sig { returns(String) } + attr_reader :id + # Closed Enum. The payout method type of the default outbound destination. + sig { returns(String) } + attr_reader :type + end + # Capabilities that have been requested on the Recipient Configuration. + sig { returns(T.nilable(Capabilities)) } + attr_reader :capabilities + # The payout method to be used as a default outbound destination. This will allow the PayoutMethod to be omitted on OutboundPayments made through the dashboard. + sig { returns(T.nilable(DefaultOutboundDestination)) } + attr_reader :default_outbound_destination + end + # The Customer Configuration allows the Account to be used in inbound payment flows. + sig { returns(T.nilable(Customer)) } + attr_reader :customer + # The Merchant configuration allows the Account to act as a connected account and collect payments facilitated by a Connect platform. You can add this configuration to your connected accounts only if you’ve completed onboarding as a Connect platform. + sig { returns(T.nilable(Merchant)) } + attr_reader :merchant + # The Recipient Configuration allows the Account to receive funds. + sig { returns(T.nilable(Recipient)) } + attr_reader :recipient + end + class Defaults < Stripe::StripeObject + class Responsibilities < Stripe::StripeObject + # A value indicating the responsible payer of a bundle of Stripe fees for pricing-control eligible products on this Account. + sig { returns(String) } + attr_reader :fees_collector + # A value indicating who is responsible for losses when this Account can’t pay back negative balances from payments. + sig { returns(String) } + attr_reader :losses_collector + end + # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). + sig { returns(T.nilable(String)) } + attr_reader :currency + # The Account's preferred locales (languages), ordered by preference. + sig { returns(T.nilable(T::Array[String])) } + attr_reader :locales + # Default responsibilities held by either Stripe or the platform. + sig { returns(T.nilable(Responsibilities)) } + attr_reader :responsibilities + end + class Identity < Stripe::StripeObject + class Attestations < Stripe::StripeObject + class DirectorshipDeclaration < Stripe::StripeObject + # The time marking when the director attestation was made. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :date + # The IP address from which the director attestation was made. + sig { returns(T.nilable(String)) } + attr_reader :ip + # The user agent of the browser from which the director attestation was made. + sig { returns(T.nilable(String)) } + attr_reader :user_agent + end + class OwnershipDeclaration < Stripe::StripeObject + # The time marking when the beneficial owner attestation was made. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :date + # The IP address from which the beneficial owner attestation was made. + sig { returns(T.nilable(String)) } + attr_reader :ip + # The user agent of the browser from which the beneficial owner attestation was made. + sig { returns(T.nilable(String)) } + attr_reader :user_agent + end + class PersonsProvided < Stripe::StripeObject + # Whether the company’s directors have been provided. Set this Boolean to true after creating all the company’s directors with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). + sig { returns(T.nilable(T::Boolean)) } + attr_reader :directors + # Whether the company’s executives have been provided. Set this Boolean to true after creating all the company’s executives with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). + sig { returns(T.nilable(T::Boolean)) } + attr_reader :executives + # Whether the company’s owners have been provided. Set this Boolean to true after creating all the company’s owners with the [Persons API](https://docs.stripe.com/api/v2/core/accounts/createperson). + sig { returns(T.nilable(T::Boolean)) } + attr_reader :owners + # Reason for why the company is exempt from providing ownership information. + sig { returns(T.nilable(String)) } + attr_reader :ownership_exemption_reason + end + class TermsOfService < Stripe::StripeObject + class Account < Stripe::StripeObject + # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :date + # The IP address from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :ip + # The user agent of the browser from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :user_agent + end + # Details on the Account's acceptance of the [Stripe Services Agreement](https://docs.stripe.com/connect/updating-accounts#tos-acceptance). + sig { returns(T.nilable(Account)) } + attr_reader :account + end + # This hash is used to attest that the directors information provided to Stripe is both current and correct. + sig { returns(T.nilable(DirectorshipDeclaration)) } + attr_reader :directorship_declaration + # This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. + sig { returns(T.nilable(OwnershipDeclaration)) } + attr_reader :ownership_declaration + # Attestation that all Persons with a specific Relationship value have been provided. + sig { returns(T.nilable(PersonsProvided)) } + attr_reader :persons_provided + # Attestations of accepted terms of service agreements. + sig { returns(T.nilable(TermsOfService)) } + attr_reader :terms_of_service + end + class BusinessDetails < Stripe::StripeObject + class Address < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class AnnualRevenue < Stripe::StripeObject + # A non-negative integer representing the amount in the smallest currency unit. + sig { returns(T.nilable(Stripe::V2::Amount)) } + attr_reader :amount + # The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for the 31st of December, 2023. + sig { returns(T.nilable(String)) } + attr_reader :fiscal_year_end + end + class Documents < Stripe::StripeObject + class BankAccountOwnershipVerification < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class CompanyLicense < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class CompanyMemorandumOfAssociation < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class CompanyMinisterialDecree < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class CompanyRegistrationVerification < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class CompanyTaxIdVerification < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class PrimaryVerification < Stripe::StripeObject + class FrontBack < Stripe::StripeObject + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(T.nilable(String)) } + attr_reader :back + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(String) } + attr_reader :front + end + # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + sig { returns(FrontBack) } + attr_reader :front_back + # The format of the verification document. Currently supports `front_back` only. + sig { returns(String) } + attr_reader :type + end + class ProofOfRegistration < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class ProofOfUltimateBeneficialOwnership < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + # One or more documents that support the Bank account ownership verification requirement. Must be a document associated with the account’s primary active bank account that displays the last 4 digits of the account number, either a statement or a check. + sig { returns(T.nilable(BankAccountOwnershipVerification)) } + attr_reader :bank_account_ownership_verification + # One or more documents that demonstrate proof of a company’s license to operate. + sig { returns(T.nilable(CompanyLicense)) } + attr_reader :company_license + # One or more documents showing the company’s Memorandum of Association. + sig { returns(T.nilable(CompanyMemorandumOfAssociation)) } + attr_reader :company_memorandum_of_association + # Certain countries only: One or more documents showing the ministerial decree legalizing the company’s establishment. + sig { returns(T.nilable(CompanyMinisterialDecree)) } + attr_reader :company_ministerial_decree + # One or more documents that demonstrate proof of a company’s registration with the appropriate local authorities. + sig { returns(T.nilable(CompanyRegistrationVerification)) } + attr_reader :company_registration_verification + # One or more documents that demonstrate proof of a company’s tax ID. + sig { returns(T.nilable(CompanyTaxIdVerification)) } + attr_reader :company_tax_id_verification + # A document verifying the business. + sig { returns(T.nilable(PrimaryVerification)) } + attr_reader :primary_verification + # One or more documents showing the company’s proof of registration with the national business registry. + sig { returns(T.nilable(ProofOfRegistration)) } + attr_reader :proof_of_registration + # One or more documents that demonstrate proof of ultimate beneficial ownership. + sig { returns(T.nilable(ProofOfUltimateBeneficialOwnership)) } + attr_reader :proof_of_ultimate_beneficial_ownership + end + class IdNumber < Stripe::StripeObject + # The registrar of the ID number (Only valid for DE ID number types). + sig { returns(T.nilable(String)) } + attr_reader :registrar + # Open Enum. The ID number type of a business entity. + sig { returns(String) } + attr_reader :type + end + class MonthlyEstimatedRevenue < Stripe::StripeObject + # A non-negative integer representing the amount in the smallest currency unit. + sig { returns(T.nilable(Stripe::V2::Amount)) } + attr_reader :amount + end + class ScriptAddresses < Stripe::StripeObject + class Kana < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class Kanji < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + # Kana Address. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Kanji Address. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + class ScriptNames < Stripe::StripeObject + class Kana < Stripe::StripeObject + # Registered name of the business. + sig { returns(T.nilable(String)) } + attr_reader :registered_name + end + class Kanji < Stripe::StripeObject + # Registered name of the business. + sig { returns(T.nilable(String)) } + attr_reader :registered_name + end + # Kana name. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Kanji name. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + # The company’s primary address. + sig { returns(T.nilable(Address)) } + attr_reader :address + # The business gross annual revenue for its preceding fiscal year. + sig { returns(T.nilable(AnnualRevenue)) } + attr_reader :annual_revenue + # Documents that may be submitted to satisfy various informational requests. + sig { returns(T.nilable(Documents)) } + attr_reader :documents + # The company’s legal name. + sig { returns(T.nilable(String)) } + attr_reader :doing_business_as + # An estimated upper bound of employees, contractors, vendors, etc. currently working for the business. + sig { returns(T.nilable(Integer)) } + attr_reader :estimated_worker_count + # The provided ID numbers of a business entity. + sig { returns(T.nilable(T::Array[IdNumber])) } + attr_reader :id_numbers + # An estimate of the monthly revenue of the business. + sig { returns(T.nilable(MonthlyEstimatedRevenue)) } + attr_reader :monthly_estimated_revenue + # The company’s phone number (used for verification). + sig { returns(T.nilable(String)) } + attr_reader :phone + # Internal-only description of the product sold or service provided by the business. It’s used by Stripe for risk and underwriting purposes. + sig { returns(T.nilable(String)) } + attr_reader :product_description + # The business legal name. + sig { returns(T.nilable(String)) } + attr_reader :registered_name + # The business registration address of the business entity in non latin script. + sig { returns(T.nilable(ScriptAddresses)) } + attr_reader :script_addresses + # The business legal name in non latin script. + sig { returns(T.nilable(ScriptNames)) } + attr_reader :script_names + # The category identifying the legal structure of the business. + sig { returns(T.nilable(String)) } + attr_reader :structure + # The business's publicly available website. + sig { returns(T.nilable(String)) } + attr_reader :url + end + class Individual < Stripe::StripeObject + class AdditionalAddress < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # Purpose of additional address. + sig { returns(String) } + attr_reader :purpose + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class AdditionalName < Stripe::StripeObject + # The individual's full name. + sig { returns(T.nilable(String)) } + attr_reader :full_name + # The individual's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The purpose or type of the additional name. + sig { returns(String) } + attr_reader :purpose + # The individual's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + class AdditionalTermsOfService < Stripe::StripeObject + class Account < Stripe::StripeObject + # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :date + # The IP address from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :ip + # The user agent of the browser from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :user_agent + end + # Stripe terms of service agreement. + sig { returns(T.nilable(Account)) } + attr_reader :account + end + class Address < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class DateOfBirth < Stripe::StripeObject + # The day of birth, between 1 and 31. + sig { returns(Integer) } + attr_reader :day + # The month of birth, between 1 and 12. + sig { returns(Integer) } + attr_reader :month + # The four-digit year of birth. + sig { returns(Integer) } + attr_reader :year + end + class Documents < Stripe::StripeObject + class CompanyAuthorization < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class Passport < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class PrimaryVerification < Stripe::StripeObject + class FrontBack < Stripe::StripeObject + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(T.nilable(String)) } + attr_reader :back + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(String) } + attr_reader :front + end + # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + sig { returns(FrontBack) } + attr_reader :front_back + # The format of the verification document. Currently supports `front_back` only. + sig { returns(String) } + attr_reader :type + end + class SecondaryVerification < Stripe::StripeObject + class FrontBack < Stripe::StripeObject + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(T.nilable(String)) } + attr_reader :back + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(String) } + attr_reader :front + end + # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + sig { returns(FrontBack) } + attr_reader :front_back + # The format of the verification document. Currently supports `front_back` only. + sig { returns(String) } + attr_reader :type + end + class Visa < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + # One or more documents that demonstrate proof that this person is authorized to represent the company. + sig { returns(T.nilable(CompanyAuthorization)) } + attr_reader :company_authorization + # One or more documents showing the person’s passport page with photo and personal data. + sig { returns(T.nilable(Passport)) } + attr_reader :passport + # An identifying document showing the person's name, either a passport or local ID card. + sig { returns(T.nilable(PrimaryVerification)) } + attr_reader :primary_verification + # A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. + sig { returns(T.nilable(SecondaryVerification)) } + attr_reader :secondary_verification + # One or more documents showing the person’s visa required for living in the country where they are residing. + sig { returns(T.nilable(Visa)) } + attr_reader :visa + end + class IdNumber < Stripe::StripeObject + # The ID number type of an individual. + sig { returns(String) } + attr_reader :type + end + class Relationship < Stripe::StripeObject + # Whether the individual is an authorizer of the Account’s legal entity. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :authorizer + # Whether the individual is a director of the Account’s legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :director + # Whether the individual has significant responsibility to control, manage, or direct the organization. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :executive + # Whether the individual is the legal guardian of the Account’s representative. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :legal_guardian + # Whether the individual is an owner of the Account’s legal entity. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :owner + # The percent owned by the individual of the Account’s legal entity. + sig { returns(T.nilable(String)) } + attr_reader :percent_ownership + # Whether the individual is authorized as the primary representative of the Account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :representative + # The individual's title (e.g., CEO, Support Engineer). + sig { returns(T.nilable(String)) } + attr_reader :title + end + class ScriptAddresses < Stripe::StripeObject + class Kana < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class Kanji < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + # Kana Address. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Kanji Address. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + class ScriptNames < Stripe::StripeObject + class Kana < Stripe::StripeObject + # The person's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The person's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + class Kanji < Stripe::StripeObject + # The person's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The person's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + # Persons name in kana script. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Persons name in kanji script. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + # The account ID which the individual belongs to. + sig { returns(String) } + attr_reader :account + # Additional addresses associated with the individual. + sig { returns(T.nilable(T::Array[AdditionalAddress])) } + attr_reader :additional_addresses + # Additional names (e.g. aliases) associated with the individual. + sig { returns(T.nilable(T::Array[AdditionalName])) } + attr_reader :additional_names + # Terms of service acceptances. + sig { returns(T.nilable(AdditionalTermsOfService)) } + attr_reader :additional_terms_of_service + # The individual's residential address. + sig { returns(T.nilable(Address)) } + attr_reader :address + # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # The individual's date of birth. + sig { returns(T.nilable(DateOfBirth)) } + attr_reader :date_of_birth + # Documents that may be submitted to satisfy various informational requests. + sig { returns(T.nilable(Documents)) } + attr_reader :documents + # The individual's email address. + sig { returns(T.nilable(String)) } + attr_reader :email + # The individual's first name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # The identification numbers (e.g., SSN) associated with the individual. + sig { returns(T.nilable(T::Array[IdNumber])) } + attr_reader :id_numbers + # The individual's gender (International regulations require either "male” or "female"). + sig { returns(T.nilable(String)) } + attr_reader :legal_gender + # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # The countries where the individual is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(T::Array[String])) } + attr_reader :nationalities + # String representing the object's type. Objects of the same type share the same value. + sig { returns(String) } + attr_reader :object + # The individual's phone number. + sig { returns(T.nilable(String)) } + attr_reader :phone + # Indicates if the individual 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. + sig { returns(T.nilable(String)) } + attr_reader :political_exposure + # The relationship that this individual has with the Account's identity. + sig { returns(T.nilable(Relationship)) } + attr_reader :relationship + # The script addresses (e.g., non-Latin characters) associated with the individual. + sig { returns(T.nilable(ScriptAddresses)) } + attr_reader :script_addresses + # The script names (e.g. non-Latin characters) associated with the individual. + sig { returns(T.nilable(ScriptNames)) } + attr_reader :script_names + # The individual's last name. + sig { returns(T.nilable(String)) } + attr_reader :surname + # Time at which the object was last updated. + sig { returns(String) } + attr_reader :updated + end + # Attestations from the identity's key people, e.g. owners, executives, directors. + sig { returns(T.nilable(Attestations)) } + attr_reader :attestations + # Information about the company or business. + sig { returns(T.nilable(BusinessDetails)) } + attr_reader :business_details + # The country in which the account holder resides, or in which the business is legally established. This should be an [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) country code. + sig { returns(T.nilable(String)) } + attr_reader :country + # The entity type. + sig { returns(T.nilable(String)) } + attr_reader :entity_type + # Information about the individual represented by the Account. This property is `null` unless `entity_type` is set to `individual`. + sig { returns(T.nilable(Individual)) } + attr_reader :individual + end + class Requirements < Stripe::StripeObject + class Entry < Stripe::StripeObject + class Error < Stripe::StripeObject + # Machine-readable code describing the error. + sig { returns(String) } + attr_reader :code + # Human-readable description of the error. + sig { returns(String) } + attr_reader :description + end + class Impact < Stripe::StripeObject + class RestrictsCapability < Stripe::StripeObject + class Deadline < Stripe::StripeObject + # The current status of the requirement's impact. + sig { returns(String) } + attr_reader :status + end + # The name of the Capability which will be restricted. + sig { returns(String) } + attr_reader :capability + # The configuration which specifies the Capability which will be restricted. + sig { returns(String) } + attr_reader :configuration + # Details about when in the account lifecycle the requirement must be collected by the avoid the Capability restriction. + sig { returns(Deadline) } + attr_reader :deadline + end + # The Capabilities that will be restricted if the requirement is not collected and satisfactory to Stripe. + sig { returns(T.nilable(T::Array[RestrictsCapability])) } + attr_reader :restricts_capabilities + end + class MinimumDeadline < Stripe::StripeObject + # The current status of the requirement's impact. + sig { returns(String) } + attr_reader :status + end + class Reference < Stripe::StripeObject + # If `inquiry` is the type, the inquiry token. + sig { returns(T.nilable(String)) } + attr_reader :inquiry + # If `resource` is the type, the resource token. + sig { returns(T.nilable(String)) } + attr_reader :resource + # The type of the reference. An additional hash is included with a name matching the type. It contains additional information specific to the type. + sig { returns(String) } + attr_reader :type + end + class RequestedReason < Stripe::StripeObject + # Machine-readable description of Stripe's reason for collecting the requirement. + sig { returns(String) } + attr_reader :code + end + # Whether the responsibility is with the integrator or with Stripe (to review info, to wait for some condition, etc.) to action the requirement. + sig { returns(String) } + attr_reader :awaiting_action_from + # Machine-readable string describing the requirement. + sig { returns(String) } + attr_reader :description + # Descriptions of why the requirement must be collected, or why the collected information isn't satisfactory to Stripe. + sig { returns(T::Array[Error]) } + attr_reader :errors + # A hash describing the impact of not collecting the requirement, or Stripe not being able to verify the collected information. + sig { returns(Impact) } + attr_reader :impact + # The soonest point when the account will be impacted by not providing the requirement. + sig { returns(MinimumDeadline) } + attr_reader :minimum_deadline + # A reference to the location of the requirement. + sig { returns(T.nilable(Reference)) } + attr_reader :reference + # A list of reasons why Stripe is collecting the requirement. + sig { returns(T::Array[RequestedReason]) } + attr_reader :requested_reasons + end + class Summary < Stripe::StripeObject + class MinimumDeadline < Stripe::StripeObject + # The current strictest status of all requirements on the Account. + sig { returns(String) } + attr_reader :status + # The soonest RFC3339 date & time UTC value a requirement can impact the Account. + sig { returns(T.nilable(String)) } + attr_reader :time + end + # The soonest date and time a requirement on the Account will become `past due`. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. + sig { returns(T.nilable(MinimumDeadline)) } + attr_reader :minimum_deadline + end + # A value indicating responsibility for collecting requirements on this account. + sig { returns(String) } + attr_reader :collector + # A list of requirements for the Account. + sig { returns(T.nilable(T::Array[Entry])) } + attr_reader :entries + # An object containing an overview of requirements for the Account. + sig { returns(T.nilable(Summary)) } + attr_reader :summary + end + # Filter only accounts that have all of the configurations specified. If omitted, returns all accounts regardless of which configurations they have. + sig { returns(T::Array[String]) } + attr_reader :applied_configurations + # An Account Configuration which allows the Account to take on a key persona across Stripe products. + sig { returns(T.nilable(Configuration)) } + attr_reader :configuration + # The default contact email address for the Account. Required when configuring the account as a merchant or recipient. + sig { returns(T.nilable(String)) } + attr_reader :contact_email + # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # A value indicating the Stripe dashboard this Account has access to. This will depend on which configurations are enabled for this account. + sig { returns(T.nilable(String)) } + attr_reader :dashboard + # Default values to be used on Account Configurations. + sig { returns(T.nilable(Defaults)) } + attr_reader :defaults + # A descriptive name for the Account. This name will be surfaced in the Stripe Dashboard and on any invoices sent to the Account. + sig { returns(T.nilable(String)) } + attr_reader :display_name + # Unique identifier for the Account. + sig { returns(String) } + attr_reader :id + # Information about the company, individual, and business represented by the Account. + sig { returns(T.nilable(Identity)) } + attr_reader :identity + # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Information about the requirements for the Account, including what information needs to be collected, and by when. + sig { returns(T.nilable(Requirements)) } + attr_reader :requirements + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Core + # AccountLinks are the means by which a Merchant grants an Account permission to access Stripe-hosted applications, such as Recipient Onboarding. This API is only available for users enrolled in the public preview for Global Payouts. + class AccountLink < APIResource + class UseCase < Stripe::StripeObject + class AccountOnboarding < Stripe::StripeObject + # Open Enum. A v2/account can be configured to enable certain functionality. The configuration param targets the v2/account_link to collect information for the specified v2/account configuration/s. + sig { returns(T::Array[String]) } + attr_reader :configurations + # The URL the user will be redirected to if the AccountLink is expired, has been used, or is otherwise invalid. The URL you specify should attempt to generate a new AccountLink with the same parameters used to create the original AccountLink, then redirect the user to the new AccountLink’s URL so they can continue the flow. If a new AccountLink cannot be generated or the redirect fails you should display a useful error to the user. Please make sure to implement authentication before redirecting the user in case this URL is leaked to a third party. + sig { returns(String) } + attr_reader :refresh_url + # The URL that the user will be redirected to upon completing the linked flow. + sig { returns(T.nilable(String)) } + attr_reader :return_url + end + class AccountUpdate < Stripe::StripeObject + # Open Enum. A v2/account can be configured to enable certain functionality. The configuration param targets the v2/account_link to collect information for the specified v2/account configuration/s. + sig { returns(T::Array[String]) } + attr_reader :configurations + # The URL the user will be redirected to if the AccountLink is expired, has been used, or is otherwise invalid. The URL you specify should attempt to generate a new AccountLink with the same parameters used to create the original AccountLink, then redirect the user to the new AccountLink’s URL so they can continue the flow. If a new AccountLink cannot be generated or the redirect fails you should display a useful error to the user. Please make sure to implement authentication before redirecting the user in case this URL is leaked to a third party. + sig { returns(String) } + attr_reader :refresh_url + # The URL that the user will be redirected to upon completing the linked flow. + sig { returns(T.nilable(String)) } + attr_reader :return_url + end + # Open Enum. The type of AccountLink the user is requesting. + sig { returns(String) } + attr_reader :type + # Indicates that the AccountLink provided should onboard an account. + sig { returns(T.nilable(AccountOnboarding)) } + attr_reader :account_onboarding + # Indicates that the AccountLink provided should update a previously onboarded account. + sig { returns(T.nilable(AccountUpdate)) } + attr_reader :account_update + end + # The ID of the Account the link was created for. + sig { returns(String) } + attr_reader :account + # The timestamp at which this AccountLink was created. + sig { returns(String) } + attr_reader :created + # The timestamp at which this AccountLink will expire. + sig { returns(String) } + attr_reader :expires_at + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The URL for the AccountLink. + sig { returns(String) } + attr_reader :url + # The use case of AccountLink the user is requesting. + sig { returns(UseCase) } + attr_reader :use_case + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Core + # Person retrieval response schema. + class Person < APIResource + class AdditionalAddress < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # Purpose of additional address. + sig { returns(String) } + attr_reader :purpose + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class AdditionalName < Stripe::StripeObject + # The individual's full name. + sig { returns(T.nilable(String)) } + attr_reader :full_name + # The individual's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The purpose or type of the additional name. + sig { returns(String) } + attr_reader :purpose + # The individual's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + class AdditionalTermsOfService < Stripe::StripeObject + class Account < Stripe::StripeObject + # The time when the Account's representative accepted the terms of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :date + # The IP address from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :ip + # The user agent of the browser from which the Account's representative accepted the terms of service. + sig { returns(T.nilable(String)) } + attr_reader :user_agent + end + # Stripe terms of service agreement. + sig { returns(T.nilable(Account)) } + attr_reader :account + end + class Address < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class DateOfBirth < Stripe::StripeObject + # The day of birth, between 1 and 31. + sig { returns(Integer) } + attr_reader :day + # The month of birth, between 1 and 12. + sig { returns(Integer) } + attr_reader :month + # The four-digit year of birth. + sig { returns(Integer) } + attr_reader :year + end + class Documents < Stripe::StripeObject + class CompanyAuthorization < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class Passport < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + class PrimaryVerification < Stripe::StripeObject + class FrontBack < Stripe::StripeObject + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(T.nilable(String)) } + attr_reader :back + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(String) } + attr_reader :front + end + # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + sig { returns(FrontBack) } + attr_reader :front_back + # The format of the verification document. Currently supports `front_back` only. + sig { returns(String) } + attr_reader :type + end + class SecondaryVerification < Stripe::StripeObject + class FrontBack < Stripe::StripeObject + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the back of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(T.nilable(String)) } + attr_reader :back + # A [file upload](https://docs.stripe.com/api/persons/update#create_file) token representing the front of the verification document. The purpose of the uploaded file should be 'identity_document'. The uploaded file needs to be a color image (smaller than 8,000px by 8,000px), in JPG, PNG, or PDF format, and less than 10 MB in size. + sig { returns(String) } + attr_reader :front + end + # The [file upload](https://docs.stripe.com/api/persons/update#create_file) tokens for the front and back of the verification document. + sig { returns(FrontBack) } + attr_reader :front_back + # The format of the verification document. Currently supports `front_back` only. + sig { returns(String) } + attr_reader :type + end + class Visa < Stripe::StripeObject + # One or more document IDs returned by a [file upload](https://docs.stripe.com/api/persons/update#create_file) with a purpose value of `account_requirement`. + sig { returns(T::Array[String]) } + attr_reader :files + # The format of the document. Currently supports `files` only. + sig { returns(String) } + attr_reader :type + end + # One or more documents that demonstrate proof that this person is authorized to represent the company. + sig { returns(T.nilable(CompanyAuthorization)) } + attr_reader :company_authorization + # One or more documents showing the person’s passport page with photo and personal data. + sig { returns(T.nilable(Passport)) } + attr_reader :passport + # An identifying document showing the person's name, either a passport or local ID card. + sig { returns(T.nilable(PrimaryVerification)) } + attr_reader :primary_verification + # A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. + sig { returns(T.nilable(SecondaryVerification)) } + attr_reader :secondary_verification + # One or more documents showing the person’s visa required for living in the country where they are residing. + sig { returns(T.nilable(Visa)) } + attr_reader :visa + end + class IdNumber < Stripe::StripeObject + # The ID number type of an individual. + sig { returns(String) } + attr_reader :type + end + class Relationship < Stripe::StripeObject + # Whether the individual is an authorizer of the Account’s legal entity. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :authorizer + # Whether the individual is a director of the Account’s legal entity. Directors are typically members of the governing board of the company, or responsible for ensuring the company meets its regulatory obligations. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :director + # Whether the individual has significant responsibility to control, manage, or direct the organization. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :executive + # Whether the individual is the legal guardian of the Account’s representative. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :legal_guardian + # Whether the individual is an owner of the Account’s legal entity. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :owner + # The percent owned by the individual of the Account’s legal entity. + sig { returns(T.nilable(String)) } + attr_reader :percent_ownership + # Whether the individual is authorized as the primary representative of the Account. This is the person nominated by the business to provide information about themselves, and general information about the account. There can only be one representative at any given time. At the time the account is created, this person should be set to the person responsible for opening the account. + sig { returns(T.nilable(T::Boolean)) } + attr_reader :representative + # The individual's title (e.g., CEO, Support Engineer). + sig { returns(T.nilable(String)) } + attr_reader :title + end + class ScriptAddresses < Stripe::StripeObject + class Kana < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + class Kanji < Stripe::StripeObject + # City, district, suburb, town, or village. + sig { returns(T.nilable(String)) } + attr_reader :city + # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(String)) } + attr_reader :country + # Address line 1 (e.g., street, PO Box, or company name). + sig { returns(T.nilable(String)) } + attr_reader :line1 + # Address line 2 (e.g., apartment, suite, unit, or building). + sig { returns(T.nilable(String)) } + attr_reader :line2 + # ZIP or postal code. + sig { returns(T.nilable(String)) } + attr_reader :postal_code + # State, county, province, or region. + sig { returns(T.nilable(String)) } + attr_reader :state + # Town or cho-me. + sig { returns(T.nilable(String)) } + attr_reader :town + end + # Kana Address. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Kanji Address. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + class ScriptNames < Stripe::StripeObject + class Kana < Stripe::StripeObject + # The person's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The person's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + class Kanji < Stripe::StripeObject + # The person's first or given name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # The person's last or family name. + sig { returns(T.nilable(String)) } + attr_reader :surname + end + # Persons name in kana script. + sig { returns(T.nilable(Kana)) } + attr_reader :kana + # Persons name in kanji script. + sig { returns(T.nilable(Kanji)) } + attr_reader :kanji + end + # The account ID which the individual belongs to. + sig { returns(String) } + attr_reader :account + # Additional addresses associated with the person. + sig { returns(T.nilable(T::Array[AdditionalAddress])) } + attr_reader :additional_addresses + # Additional names (e.g. aliases) associated with the person. + sig { returns(T.nilable(T::Array[AdditionalName])) } + attr_reader :additional_names + # Attestations of accepted terms of service agreements. + sig { returns(T.nilable(AdditionalTermsOfService)) } + attr_reader :additional_terms_of_service + # The person's residential address. + sig { returns(T.nilable(Address)) } + attr_reader :address + # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # The person's date of birth. + sig { returns(T.nilable(DateOfBirth)) } + attr_reader :date_of_birth + # Documents that may be submitted to satisfy various informational requests. + sig { returns(T.nilable(Documents)) } + attr_reader :documents + # The person's email address. + sig { returns(T.nilable(String)) } + attr_reader :email + # The person's first name. + sig { returns(T.nilable(String)) } + attr_reader :given_name + # Unique identifier for the Person. + sig { returns(String) } + attr_reader :id + # The identification numbers (e.g., SSN) associated with the person. + sig { returns(T.nilable(T::Array[IdNumber])) } + attr_reader :id_numbers + # The person's gender (International regulations require either "male" or "female"). + sig { returns(T.nilable(String)) } + attr_reader :legal_gender + # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # The countries where the person is a national. Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). + sig { returns(T.nilable(T::Array[String])) } + attr_reader :nationalities + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The person's phone number. + sig { returns(T.nilable(String)) } + attr_reader :phone + # The person's political exposure. + sig { returns(T.nilable(String)) } + attr_reader :political_exposure + # The relationship that this person has with the Account's business or legal entity. + sig { returns(T.nilable(Relationship)) } + attr_reader :relationship + # The script addresses (e.g., non-Latin characters) associated with the person. + sig { returns(T.nilable(ScriptAddresses)) } + attr_reader :script_addresses + # The script names (e.g. non-Latin characters) associated with the person. + sig { returns(T.nilable(ScriptNames)) } + attr_reader :script_names + # The person's last name. + sig { returns(T.nilable(String)) } + attr_reader :surname + # Time at which the object was last updated. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :updated + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # Adjustments represent Stripe-initiated credits or debits to a user balance. They might be used to amend balances due to technical or operational error. + class Adjustment < APIResource + class AdjustedFlow < Stripe::StripeObject + # Closed Enum. If applicable, the type of flow linked to this Adjustment. The field matching this value will contain the ID of the flow. + sig { returns(String) } + attr_reader :type + # If applicable, the ID of the Adjustment linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :adjustment + # If applicable, the ID of the InboundTransfer linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :inbound_transfer + # If applicable, the ID of the OutboundPayment linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :outbound_payment + # If applicable, the ID of the OutboundTransfer linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :outbound_transfer + # If applicable, the ID of the ReceivedCredit linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :received_credit + # If applicable, the ID of the ReceivedDebit linked to this Adjustment. + sig { returns(T.nilable(String)) } + attr_reader :received_debit + end + # If applicable, contains information about the original flow linked to this Adjustment. + sig { returns(T.nilable(AdjustedFlow)) } + attr_reader :adjusted_flow + # The amount of the Adjustment. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Description of the Adjustment and what it was used for. + sig { returns(T.nilable(String)) } + attr_reader :description + # The FinancialAccount that this adjustment is for. + sig { returns(String) } + attr_reader :financial_account + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # A link to the Stripe-hosted receipt that is provided when money movement is considered regulated under Stripe’s money transmission licenses. The receipt link remains active for 60 days from the Adjustment creation date. After this period, the link will expire and the receipt url value will be null. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Billing + class MeterEventSession < APIResource + # The authentication token for this session. Use this token when calling the + # high-throughput meter event API. + sig { returns(String) } + attr_reader :authentication_token + # The creation time of this session. + sig { returns(String) } + attr_reader :created + # The time at which this session will expire. + sig { returns(String) } + attr_reader :expires_at + # The unique id of this auth session. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Billing + class MeterEventAdjustment < APIResource + class Cancel < Stripe::StripeObject + # Unique identifier for the event. You can only cancel events within 24 hours of Stripe receiving them. + sig { returns(String) } + attr_reader :identifier + end + # Specifies which event to cancel. + sig { returns(Cancel) } + attr_reader :cancel + # The time the adjustment was created. + sig { returns(String) } + attr_reader :created + # The name of the meter event. Corresponds with the `event_name` field on a meter. + sig { returns(String) } + attr_reader :event_name + # The unique id of this meter event adjustment. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Open Enum. The meter event adjustment’s status. + sig { returns(String) } + attr_reader :status + # Open Enum. Specifies whether to cancel a single event or a range of events for a time period. Time period cancellation is not supported yet. + sig { returns(String) } + attr_reader :type + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Billing + # Fix me empty_doc_string. + class MeterEvent < APIResource + # The creation time of this meter event. + sig { returns(String) } + attr_reader :created + # The name of the meter event. Corresponds with the `event_name` field on a meter. + sig { returns(String) } + attr_reader :event_name + # A unique identifier for the event. If not provided, one will be generated. We recommend using a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period. + sig { returns(String) } + attr_reader :identifier + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The payload of the event. This must contain the fields corresponding to a meter’s + # `customer_mapping.event_payload_key` (default is `stripe_customer_id`) and + # `value_settings.event_payload_key` (default is `value`). Read more about the payload. + sig { returns(T::Hash[String, String]) } + attr_reader :payload + # The time of the event. Must be within the past 35 calendar days or up to + # 5 minutes in the future. Defaults to current timestamp if not specified. + sig { returns(String) } + attr_reader :timestamp + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # The Financial Account is the container that allows for the configuration of money movement. + class FinancialAccount < APIResource + class Balance < Stripe::StripeObject + # Balance that can be used for money movement. + sig { returns(T::Hash[String, Stripe::V2::Amount]) } + attr_reader :available + # Balance of inbound funds that will later transition to the `cash` balance. + sig { returns(T::Hash[String, Stripe::V2::Amount]) } + attr_reader :inbound_pending + # Balance of funds that are being used for a pending outbound money movement. + sig { returns(T::Hash[String, Stripe::V2::Amount]) } + attr_reader :outbound_pending + end + class Other < Stripe::StripeObject + # The type of the FinancialAccount, represented as a string. Upgrade your API version to see the type reflected in `financial_account.type`. + sig { returns(String) } + attr_reader :type + end + class Storage < Stripe::StripeObject + # The currencies that this FinancialAccount can hold. + sig { returns(T::Array[String]) } + attr_reader :holds_currencies + end + # Multi-currency balance of this FinancialAccount, split by availability state. Each balance is represented as a hash where the key is the three-letter ISO currency code, in lowercase, and the value is the amount for that currency. + sig { returns(Balance) } + attr_reader :balance + # Open Enum. Two-letter country code that represents the country where the LegalEntity associated with the FinancialAccount is based in. + sig { returns(String) } + attr_reader :country + # Time at which the object was created. + sig { returns(String) } + attr_reader :created + # Attribute for field description + sig { returns(T.nilable(String)) } + attr_reader :description + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # If this is a `other` FinancialAccount, this hash indicates what the actual type is. Upgrade your API version to see it reflected in `type`. + sig { returns(T.nilable(Other)) } + attr_reader :other + # Closed Enum. An enum representing the status of the FinancialAccount. This indicates whether or not the FinancialAccount can be used for any money movement flows. + sig { returns(String) } + attr_reader :status + # If this is a `storage` FinancialAccount, this hash includes details specific to `storage` FinancialAccounts. + sig { returns(T.nilable(Storage)) } + attr_reader :storage + # Type of the FinancialAccount. An additional hash is included on the FinancialAccount with a name matching this value. + # It contains additional information specific to the FinancialAccount type. + sig { returns(String) } + attr_reader :type + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # A FinancialAddress contains information needed to transfer money to a Financial Account. A Financial Account can have more than one Financial Address. + class FinancialAddress < APIResource + class Credentials < Stripe::StripeObject + class GbBankAccount < Stripe::StripeObject + # The account holder name to be used during bank transference. + sig { returns(String) } + attr_reader :account_holder_name + # The account number of the UK Bank Account. + sig { returns(T.nilable(String)) } + attr_reader :account_number + # The last four digits of the UK Bank Account number. This will always be returned. + # To view the full account number when retrieving or listing FinancialAddresses, use the `include` request parameter. + sig { returns(String) } + attr_reader :last4 + # The sort code of the UK Bank Account. + sig { returns(String) } + attr_reader :sort_code + end + class UsBankAccount < Stripe::StripeObject + # The account number of the US Bank Account. + sig { returns(T.nilable(String)) } + attr_reader :account_number + # The name of the Bank. + sig { returns(T.nilable(String)) } + attr_reader :bank_name + # The last four digits of the US Bank Account number. This will always be returned. + # To view the full account number when retrieving or listing FinancialAddresses, use the `include` request parameter. + sig { returns(String) } + attr_reader :last4 + # The routing number of the US Bank Account. + sig { returns(String) } + attr_reader :routing_number + # The swift code of the bank or financial institution. + sig { returns(T.nilable(String)) } + attr_reader :swift_code + end + # Open Enum. The type of Credentials that are provisioned for the FinancialAddress. + sig { returns(String) } + attr_reader :type + # The credentials of the UK Bank Account for the FinancialAddress. This contains unique banking details such as the sort code, account number, etc. of a UK bank account. + sig { returns(T.nilable(GbBankAccount)) } + attr_reader :gb_bank_account + # The credentials of the US Bank Account for the FinancialAddress. This contains unique banking details such as the routing number, account number, etc. of a US bank account. + sig { returns(T.nilable(UsBankAccount)) } + attr_reader :us_bank_account + end + # The creation timestamp of the FinancialAddress. + sig { returns(String) } + attr_reader :created + # Object indicates the type of credentials that have been allocated and attached to the FinancialAddress. + # It contains all necessary banking details with which to perform money movements with the FinancialAddress. + # This field is only available for FinancialAddresses with an active status. + sig { returns(T.nilable(Credentials)) } + attr_reader :credentials + # Open Enum. The currency the FinancialAddress supports. + sig { returns(String) } + attr_reader :currency + # A ID of the FinancialAccount this FinancialAddress corresponds to. + sig { returns(String) } + attr_reader :financial_account + # The ID of a FinancialAddress. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Closed Enum. An enum representing the status of the FinancialAddress. This indicates whether or not the FinancialAddress can be used for any money movement flows. + sig { returns(String) } + attr_reader :status + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + class FinancialAddressCreditSimulation < APIResource + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The status of the request, signifying whether a simulated credit was initiated. + sig { returns(String) } + attr_reader :status + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end +end +# typed: true +module Stripe + module V2 + class FinancialAddressGeneratedMicrodeposits < APIResource + # The amounts of the microdeposits that were generated. + sig { returns(T::Array[Stripe::V2::Amount]) } + attr_reader :amounts + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Closed Enum. The status of the request. + sig { returns(String) } + attr_reader :status + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # An InboundTransfer object, representing a money movement from a + # user owned PaymentMethod to a FinancialAccount belonging to the same user. + class InboundTransfer < APIResource + class From < Stripe::StripeObject + class PaymentMethod < Stripe::StripeObject + # The type of object this destination represents. For a us bank account, we expect us_bank_account. + sig { returns(String) } + attr_reader :type + # The destination US bank account identifier. eg "usba_***". + sig { returns(T.nilable(String)) } + attr_reader :us_bank_account + end + # The amount in specified currency that was debited from the Payment Method. + sig { returns(Stripe::V2::Amount) } + attr_reader :debited + # The Payment Method object used to create the InboundTransfer. + sig { returns(PaymentMethod) } + attr_reader :payment_method + end + class To < Stripe::StripeObject + # The amount by which the FinancialAccount balance is credited. + sig { returns(Stripe::V2::Amount) } + attr_reader :credited + # The FinancialAccount that funds will land in. + sig { returns(String) } + attr_reader :financial_account + end + class TransferHistory < Stripe::StripeObject + class BankDebitFailed < Stripe::StripeObject + # Open Enum. The return reason for the failed InboundTransfer. + sig { returns(String) } + attr_reader :failure_reason + end + class BankDebitProcessing < Stripe::StripeObject; end + class BankDebitQueued < Stripe::StripeObject; end + class BankDebitReturned < Stripe::StripeObject + # Open Enum. The return reason for the returned InboundTransfer. + sig { returns(String) } + attr_reader :return_reason + end + class BankDebitSucceeded < Stripe::StripeObject; end + # Creation time of the HistoryEntry in RFC 3339 format and UTC. + sig { returns(String) } + attr_reader :created + # Effective at time of the HistoryEntry in RFC 3339 format and UTC. + sig { returns(String) } + attr_reader :effective_at + # A unique ID for the HistoryEntry. + sig { returns(String) } + attr_reader :id + # Open Enum. The Level of the HistoryEntry. + sig { returns(String) } + attr_reader :level + # Open Enum. The type of the HistoryEntry. + sig { returns(String) } + attr_reader :type + # The history entry for a failed InboundTransfer. + sig { returns(T.nilable(BankDebitFailed)) } + attr_reader :bank_debit_failed + # The history entry for a processing InboundTransfer. + sig { returns(T.nilable(BankDebitProcessing)) } + attr_reader :bank_debit_processing + # The history entry for a queued InboundTransfer. + sig { returns(T.nilable(BankDebitQueued)) } + attr_reader :bank_debit_queued + # The history entry for a returned InboundTransfer. + sig { returns(T.nilable(BankDebitReturned)) } + attr_reader :bank_debit_returned + # The history entry for a succeeded InboundTransfer. + sig { returns(T.nilable(BankDebitSucceeded)) } + attr_reader :bank_debit_succeeded + end + # The amount in specified currency that will land in the FinancialAccount balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Creation time of the InboundTransfer. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # A freeform text field provided by user, containing metadata. + sig { returns(String) } + attr_reader :description + # A nested object containing information about the origin of the InboundTransfer. + sig { returns(From) } + attr_reader :from + # Unique identifier for the InboundTransfer. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # A nested object containing information about the destination of the InboundTransfer. + sig { returns(To) } + attr_reader :to + # A list of history objects, representing changes in the state of the InboundTransfer. + sig { returns(T::Array[TransferHistory]) } + attr_reader :transfer_history + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + # Set up an event destination to receive events from Stripe across multiple destination types, including [webhook endpoints](https://docs.stripe.com/webhooks) and [Amazon EventBridge](https://docs.stripe.com/event-destinations/eventbridge). Event destinations support receiving [thin events](https://docs.stripe.com/api/v2/events) and [snapshot events](https://docs.stripe.com/api/events). + class EventDestination < APIResource + class StatusDetails < Stripe::StripeObject + class Disabled < Stripe::StripeObject + # Reason event destination has been disabled. + sig { returns(String) } + attr_reader :reason + end + # Details about why the event destination has been disabled. + sig { returns(T.nilable(Disabled)) } + attr_reader :disabled + end + class AmazonEventbridge < Stripe::StripeObject + # The AWS account ID. + sig { returns(String) } + attr_reader :aws_account_id + # The ARN of the AWS event source. + sig { returns(String) } + attr_reader :aws_event_source_arn + # The state of the AWS event source. + sig { returns(String) } + attr_reader :aws_event_source_status + end + class WebhookEndpoint < Stripe::StripeObject + # The signing secret of the webhook endpoint, only includable on creation. + sig { returns(T.nilable(String)) } + attr_reader :signing_secret + # The URL of the webhook endpoint, includable. + sig { returns(T.nilable(String)) } + attr_reader :url + end + # Time at which the object was created. + sig { returns(String) } + attr_reader :created + # An optional description of what the event destination is used for. + sig { returns(String) } + attr_reader :description + # The list of events to enable for this endpoint. + sig { returns(T::Array[String]) } + attr_reader :enabled_events + # Payload type of events being subscribed to. + sig { returns(String) } + attr_reader :event_payload + # Where events should be routed from. + sig { returns(T.nilable(T::Array[String])) } + attr_reader :events_from + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # Metadata. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # Event destination name. + sig { returns(String) } + attr_reader :name + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # If using the snapshot event payload, the API version events are rendered as. + sig { returns(T.nilable(String)) } + attr_reader :snapshot_api_version + # Status. It can be set to either enabled or disabled. + sig { returns(String) } + attr_reader :status + # Additional information about event destination status. + sig { returns(T.nilable(StatusDetails)) } + attr_reader :status_details + # Event destination type. + sig { returns(String) } + attr_reader :type + # Time at which the object was last updated. + sig { returns(String) } + attr_reader :updated + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + # Amazon EventBridge configuration. + sig { returns(T.nilable(AmazonEventbridge)) } + attr_reader :amazon_eventbridge + # Webhook endpoint configuration. + sig { returns(T.nilable(WebhookEndpoint)) } + attr_reader :webhook_endpoint + end + end +end +# typed: true +module Stripe + module V2 + # Events are generated to keep you informed of activity in your business account. APIs in the /v2 namespace generate [thin events](https://docs.stripe.com/event-destinations#benefits-of-thin-events) which have small, unversioned payloads that include a reference to the ID of the object that has changed. The Events v2 API returns these new thin events. [Retrieve the event object](https://docs.stripe.com/event-destinations#fetch-data) for additional data about the event. Use the related object ID in the event payload to [fetch the API resource](https://docs.stripe.com/event-destinations#retrieve-the-object-associated-with-thin-events) of the object associated with the event. Comparatively, events generated by most API v1 include a versioned snapshot of an API object in their payload. + class Event < APIResource + class Reason < Stripe::StripeObject + class Request < Stripe::StripeObject + # ID of the API request that caused the event. + sig { returns(String) } + attr_reader :id + # The idempotency key transmitted during the request. + sig { returns(String) } + attr_reader :idempotency_key + end + # Event reason type. + sig { returns(String) } + attr_reader :type + # Information on the API request that instigated the event. + sig { returns(T.nilable(Request)) } + attr_reader :request + end + # Authentication context needed to fetch the event or related object. + sig { returns(T.nilable(String)) } + attr_reader :context + # Time at which the object was created. + sig { returns(String) } + attr_reader :created + # Unique identifier for the event. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Reason for the event. + sig { returns(T.nilable(Reason)) } + attr_reader :reason + # The type of the event. + sig { returns(String) } + attr_reader :type + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end +end +# typed: true +module Stripe + module V2 + module Payments + # Off-session payment resource. + class OffSessionPayment < APIResource + class RetryDetails < Stripe::StripeObject + # Number of authorization attempts so far. + sig { returns(Integer) } + attr_reader :attempts + # How you want Stripe to retry the payment. + sig { returns(String) } + attr_reader :retry_strategy + end + class TransferData < Stripe::StripeObject + # Amount in minor units that you want to transfer. + sig { returns(Integer) } + attr_reader :amount + # ID of the connected account where you want money to go. + sig { returns(String) } + attr_reader :destination + end + # The amount you requested to be collected on the OSP upon creation. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount_requested + # Number of authorization attempts. + sig { returns(Integer) } + attr_reader :attempts + # The frequency of the underlying payment that this OSP represents. + sig { returns(String) } + attr_reader :cadence + # ID of owning compartment. + sig { returns(String) } + attr_reader :compartment_id + # Timestamp of creation. + sig { returns(String) } + attr_reader :created + # Customer owning the supplied payment method. + sig { returns(String) } + attr_reader :customer + # Reason why the OSP failed. + sig { returns(T.nilable(String)) } + attr_reader :failure_reason + # ID of the OSP. + sig { returns(String) } + attr_reader :id + # Last error returned by the financial partner for a failed authorization. + sig { returns(T.nilable(String)) } + attr_reader :last_authorization_attempt_error + # Payment attempt record for the latest attempt, if one exists. + sig { returns(T.nilable(String)) } + attr_reader :latest_payment_attempt_record + # True if the txn is livemode, false otherwise. + sig { returns(T::Boolean) } + attr_reader :livemode + # Metadata you provided. + sig { returns(T::Hash[String, String]) } + attr_reader :metadata + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # OBO, same as on the PI. + sig { returns(T.nilable(String)) } + attr_reader :on_behalf_of + # ID of payment method. + sig { returns(String) } + attr_reader :payment_method + # Payment record associated with the OSP. consistent across attempts. + sig { returns(T.nilable(String)) } + attr_reader :payment_record + # Details about the OSP retries. + sig { returns(RetryDetails) } + attr_reader :retry_details + # Statement descriptor you provided. + sig { returns(T.nilable(String)) } + attr_reader :statement_descriptor + # Statement descriptor suffix you provided, similar to that on the PI. + sig { returns(T.nilable(String)) } + attr_reader :statement_descriptor_suffix + # Status of the OSP. + sig { returns(String) } + attr_reader :status + # Test clock to be used to advance the retry attempts. + sig { returns(T.nilable(String)) } + attr_reader :test_clock + # Instructions for the transfer to be made with this OSP after successful money movement. + sig { returns(T.nilable(TransferData)) } + attr_reader :transfer_data + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # OutboundPayment represents a single money movement from one FinancialAccount you own to a payout method someone else owns. + class OutboundPayment < APIResource + class DeliveryOptions < Stripe::StripeObject + # Open Enum. Method for bank account. + sig { returns(T.nilable(String)) } + attr_reader :bank_account + end + class From < Stripe::StripeObject + # The monetary amount debited from the sender, only set on responses. + sig { returns(Stripe::V2::Amount) } + attr_reader :debited + # The FinancialAccount that funds were pulled from. + sig { returns(String) } + attr_reader :financial_account + end + class RecipientNotification < Stripe::StripeObject + # Closed Enum. Configuration option to enable or disable notifications to recipients. + # Do not send notifications when setting is NONE. Default to account setting when setting is CONFIGURED or not set. + sig { returns(String) } + attr_reader :setting + end + class StatusDetails < Stripe::StripeObject + class Failed < Stripe::StripeObject + # Open Enum. The `failed` status reason. + sig { returns(String) } + attr_reader :reason + end + class Returned < Stripe::StripeObject + # Open Enum. The `returned` status reason. + sig { returns(String) } + attr_reader :reason + end + # The `failed` status reason. + sig { returns(T.nilable(Failed)) } + attr_reader :failed + # The `returned` status reason. + sig { returns(T.nilable(Returned)) } + attr_reader :returned + end + class StatusTransitions < Stripe::StripeObject + # Timestamp describing when an OutboundPayment changed status to `canceled`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :canceled_at + # Timestamp describing when an OutboundPayment changed status to `failed`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :failed_at + # Timestamp describing when an OutboundPayment changed status to `posted`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :posted_at + # Timestamp describing when an OutboundPayment changed status to `returned`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :returned_at + end + class To < Stripe::StripeObject + # The monetary amount being credited to the destination. + sig { returns(Stripe::V2::Amount) } + attr_reader :credited + # The payout method which the OutboundPayment uses to send payout. + sig { returns(String) } + attr_reader :payout_method + # To which account the OutboundPayment is sent. + sig { returns(String) } + attr_reader :recipient + end + class TraceId < Stripe::StripeObject + # Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to + # `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. + # Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` + # even after the payment or transfer is posted. + sig { returns(String) } + attr_reader :status + # The trace ID value if `trace_id.status` is `supported`, otherwise empty. + sig { returns(T.nilable(String)) } + attr_reader :value + end + # The "presentment amount" for the OutboundPayment. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Returns true if the OutboundPayment can be canceled, and false otherwise. + sig { returns(T::Boolean) } + attr_reader :cancelable + # Time at which the OutboundPayment was created. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Delivery options to be used to send the OutboundPayment. + sig { returns(T.nilable(DeliveryOptions)) } + attr_reader :delivery_options + # An arbitrary string attached to the OutboundPayment. Often useful for displaying to users. + sig { returns(T.nilable(String)) } + attr_reader :description + # The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a `failed`, `canceled`, or `returned` state. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :expected_arrival_date + # The FinancialAccount that funds were pulled from. + sig { returns(From) } + attr_reader :from + # Unique identifier for the OutboundPayment. + sig { returns(String) } + attr_reader :id + # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The quote for this OutboundPayment. Only required for countries with regulatory mandates to display fee estimates before OutboundPayment creation. + sig { returns(T.nilable(String)) } + attr_reader :outbound_payment_quote + # A link to the Stripe-hosted receipt for this OutboundPayment. The receipt link remains active for 60 days from the OutboundPayment creation date. After this period, the link will expire and the receipt url value will be null. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # Details about the OutboundPayment notification settings for recipient. + sig { returns(RecipientNotification) } + attr_reader :recipient_notification + # The description that appears on the receiving end for an OutboundPayment (for example, bank statement for external bank transfer). + sig { returns(String) } + attr_reader :statement_descriptor + # Closed Enum. Current status of the OutboundPayment: `processing`, `failed`, `posted`, `returned`, `canceled`. + # An OutboundPayment is `processing` if it has been created and is processing. + # The status changes to `posted` once the OutboundPayment has been "confirmed" and funds have left the account, or to `failed` or `canceled`. + # If an OutboundPayment fails to arrive at its payout method, its status will change to `returned`. + sig { returns(String) } + attr_reader :status + # Status details for an OutboundPayment in a `failed` or `returned` state. + sig { returns(T.nilable(StatusDetails)) } + attr_reader :status_details + # Hash containing timestamps of when the object transitioned to a particular status. + sig { returns(T.nilable(StatusTransitions)) } + attr_reader :status_transitions + # To which payout method the OutboundPayment was sent. + sig { returns(To) } + attr_reader :to + # A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks might call this a “reference number” or something similar. + sig { returns(TraceId) } + attr_reader :trace_id + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # OutboundPaymentQuote represents a quote + class OutboundPaymentQuote < APIResource + class DeliveryOptions < Stripe::StripeObject + # Open Enum. Method for bank account. + sig { returns(T.nilable(String)) } + attr_reader :bank_account + end + class EstimatedFee < Stripe::StripeObject + # The fee amount for corresponding fee type. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # The fee type. + sig { returns(String) } + attr_reader :type + end + class From < Stripe::StripeObject + # The monetary amount debited from the sender, only set on responses. + sig { returns(Stripe::V2::Amount) } + attr_reader :debited + # The FinancialAccount that funds were pulled from. + sig { returns(String) } + attr_reader :financial_account + end + class FxQuote < Stripe::StripeObject + class Rates < Stripe::StripeObject + # The exchange rate going from_currency -> to_currency. + sig { returns(String) } + attr_reader :exchange_rate + end + # The duration the exchange rate lock remains valid from creation time. Allowed value is five_minutes. + sig { returns(String) } + attr_reader :lock_duration + # Time at which the rate lock will expire, measured in seconds since the Unix epoch. + sig { returns(String) } + attr_reader :lock_expires_at + # Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp. Value can be active or expired. + sig { returns(String) } + attr_reader :lock_status + # Key pair: from currency Value: exchange rate going from_currency -> to_currency. + sig { returns(T::Hash[String, Rates]) } + attr_reader :rates + # The currency that the transaction is exchanging to. + sig { returns(String) } + attr_reader :to_currency + end + class To < Stripe::StripeObject + # The monetary amount being credited to the destination. + sig { returns(Stripe::V2::Amount) } + attr_reader :credited + # The payout method which the OutboundPayment uses to send payout. + sig { returns(String) } + attr_reader :payout_method + # To which account the OutboundPayment is sent. + sig { returns(String) } + attr_reader :recipient + end + # The "presentment amount" for the OutboundPaymentQuote. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Time at which the OutboundPaymentQuote was created. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Delivery options to be used to send the OutboundPayment. + sig { returns(T.nilable(DeliveryOptions)) } + attr_reader :delivery_options + # The estimated fees for the OutboundPaymentQuote. + sig { returns(T::Array[EstimatedFee]) } + attr_reader :estimated_fees + # Details about the sender of an OutboundPaymentQuote. + sig { returns(From) } + attr_reader :from + # The underlying FXQuote details for the OutboundPaymentQuote. + sig { returns(FxQuote) } + attr_reader :fx_quote + # Unique identifier for the OutboundPaymentQuote. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Details about the recipient of an OutboundPaymentQuote. + sig { returns(To) } + attr_reader :to + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # OutboundTransfer represents a single money movement from one FinancialAccount you own to a payout method you also own. + class OutboundTransfer < APIResource + class DeliveryOptions < Stripe::StripeObject + # Open Enum. Method for bank account. + sig { returns(T.nilable(String)) } + attr_reader :bank_account + end + class From < Stripe::StripeObject + # The monetary amount debited from the sender, only set on responses. + sig { returns(Stripe::V2::Amount) } + attr_reader :debited + # The FinancialAccount that funds were pulled from. + sig { returns(String) } + attr_reader :financial_account + end + class StatusDetails < Stripe::StripeObject + class Failed < Stripe::StripeObject + # Open Enum. The `failed` status reason. + sig { returns(String) } + attr_reader :reason + end + class Returned < Stripe::StripeObject + # Open Enum. The `returned` status reason. + sig { returns(String) } + attr_reader :reason + end + # The `failed` status reason. + sig { returns(T.nilable(Failed)) } + attr_reader :failed + # The `returned` status reason. + sig { returns(T.nilable(Returned)) } + attr_reader :returned + end + class StatusTransitions < Stripe::StripeObject + # Timestamp describing when an OutboundTransfer changed status to `canceled`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :canceled_at + # Timestamp describing when an OutboundTransfer changed status to `failed`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :failed_at + # Timestamp describing when an OutboundTransfer changed status to `posted`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :posted_at + # Timestamp describing when an OutboundTransfer changed status to `returned`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :returned_at + end + class To < Stripe::StripeObject + # The monetary amount being credited to the destination. + sig { returns(Stripe::V2::Amount) } + attr_reader :credited + # The payout method which the OutboundTransfer uses to send payout. + sig { returns(String) } + attr_reader :payout_method + end + class TraceId < Stripe::StripeObject + # Possible values are `pending`, `supported`, and `unsupported`. Initially set to `pending`, it changes to + # `supported` when the recipient bank provides a trace ID, or `unsupported` if the recipient bank doesn't support it. + # Note that this status may not align with the OutboundPayment or OutboundTransfer status and can remain `pending` + # even after the payment or transfer is posted. + sig { returns(String) } + attr_reader :status + # The trace ID value if `trace_id.status` is `supported`, otherwise empty. + sig { returns(T.nilable(String)) } + attr_reader :value + end + # The "presentment amount" for the OutboundTransfer. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Returns true if the OutboundTransfer can be canceled, and false otherwise. + sig { returns(T::Boolean) } + attr_reader :cancelable + # Time at which the OutboundTransfer was created. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Delivery options to be used to send the OutboundTransfer. + sig { returns(T.nilable(DeliveryOptions)) } + attr_reader :delivery_options + # An arbitrary string attached to the OutboundTransfer. Often useful for displaying to users. + sig { returns(T.nilable(String)) } + attr_reader :description + # The date when funds are expected to arrive in the payout method. This field is not set if the payout method is in a `failed`, `canceled`, or `returned` state. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :expected_arrival_date + # The FinancialAccount that funds were pulled from. + sig { returns(From) } + attr_reader :from + # Unique identifier for the OutboundTransfer. + sig { returns(String) } + attr_reader :id + # Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. + sig { returns(T.nilable(T::Hash[String, String])) } + attr_reader :metadata + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # A link to the Stripe-hosted receipt for this OutboundTransfer. The receipt link remains active for 60 days from the OutboundTransfer creation date. After this period, the link will expire and the receipt url value will be null. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # The description that appears on the receiving end for an OutboundTransfer (for example, bank statement for external bank transfer). + sig { returns(String) } + attr_reader :statement_descriptor + # Closed Enum. Current status of the OutboundTransfer: `processing`, `failed`, `posted`, `returned`, `canceled`. + # An OutboundTransfer is `processing` if it has been created and is processing. + # The status changes to `posted` once the OutboundTransfer has been "confirmed" and funds have left the account, or to `failed` or `canceled`. + # If an OutboundTransfer fails to arrive at its payout method, its status will change to `returned`. + sig { returns(String) } + attr_reader :status + # Status details for an OutboundTransfer in a `failed` or `returned` state. + sig { returns(T.nilable(StatusDetails)) } + attr_reader :status_details + # Hash containing timestamps of when the object transitioned to a particular status. + sig { returns(T.nilable(StatusTransitions)) } + attr_reader :status_transitions + # To which payout method the OutboundTransfer was sent. + sig { returns(To) } + attr_reader :to + # A unique identifier that can be used to track this OutboundTransfer with recipient bank. Banks might call this a “reference number” or something similar. + sig { returns(TraceId) } + attr_reader :trace_id + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # Use the PayoutMethods API to list and interact with PayoutMethod objects. + class PayoutMethod < APIResource + class UsageStatus < Stripe::StripeObject + # Payments status - used when sending OutboundPayments (sending funds to recipients). + sig { returns(String) } + attr_reader :payments + # Transfers status - used when making an OutboundTransfer (sending funds to yourself). + sig { returns(String) } + attr_reader :transfers + end + class BankAccount < Stripe::StripeObject + # Whether this PayoutMethodBankAccount object was archived. PayoutMethodBankAccount objects can be archived through + # the /archive API, and they will not be automatically archived by Stripe. Archived PayoutMethodBankAccount objects + # cannot be used as payout methods and will not appear in the payout method list. + sig { returns(T::Boolean) } + attr_reader :archived + # The name of the bank this bank account is in. This field is populated automatically by Stripe. + sig { returns(String) } + attr_reader :bank_name + # The country code of the bank account. + sig { returns(String) } + attr_reader :country + # List of enabled flows for this bank account (wire or local). + sig { returns(T::Array[String]) } + attr_reader :enabled_delivery_options + # The last 4 digits of the account number. + sig { returns(String) } + attr_reader :last4 + # The routing number of the bank account, if present. + sig { returns(T.nilable(String)) } + attr_reader :routing_number + # The list of currencies supported by this bank account. + sig { returns(T::Array[String]) } + attr_reader :supported_currencies + end + class Card < Stripe::StripeObject + # Whether the PayoutMethodCard object was archived. PayoutMethodCard objects can be archived through + # the /archive API, and they will not be automatically archived by Stripe. Archived PayoutMethodCard objects + # cannot be used as payout methods and will not appear in the payout method list. + sig { returns(T::Boolean) } + attr_reader :archived + # The month the card expires. + sig { returns(String) } + attr_reader :exp_month + # The year the card expires. + sig { returns(String) } + attr_reader :exp_year + # The last 4 digits of the card number. + sig { returns(String) } + attr_reader :last4 + end + # A set of available payout speeds for this payout method. + sig { returns(T::Array[String]) } + attr_reader :available_payout_speeds + # Created timestamp. + sig { returns(String) } + attr_reader :created + # ID of the PayoutMethod object. + sig { returns(String) } + attr_reader :id + # ID of the underlying active OutboundSetupIntent object, if any. + sig { returns(T.nilable(String)) } + attr_reader :latest_outbound_setup_intent + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Closed Enum. The type of payout method. + sig { returns(String) } + attr_reader :type + # Indicates whether the payout method has met the necessary requirements for outbound money movement. + sig { returns(UsageStatus) } + attr_reader :usage_status + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + # The PayoutMethodBankAccount object details. + sig { returns(T.nilable(BankAccount)) } + attr_reader :bank_account + # The PayoutMethodCard object details. + sig { returns(T.nilable(Card)) } + attr_reader :card + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # Use the OutboundSetupIntent API to create and setup usable payout methods. + class OutboundSetupIntent < APIResource + class NextAction < Stripe::StripeObject + class ConfirmationOfPayee < Stripe::StripeObject + # The type of the credential. + sig { returns(String) } + attr_reader :object + # The Confirmation of Payee status. + sig { returns(String) } + attr_reader :status + end + # The type of next action. + sig { returns(String) } + attr_reader :type + # Confirmation of Payee details. + sig { returns(T.nilable(ConfirmationOfPayee)) } + attr_reader :confirmation_of_payee + end + # Created timestamp. + sig { returns(String) } + attr_reader :created + # ID of the outbound setup intent. + sig { returns(String) } + attr_reader :id + # Specifies which actions needs to be taken next to continue setup of the credential. + sig { returns(T.nilable(NextAction)) } + attr_reader :next_action + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Information about the payout method that’s created and linked to this outbound setup intent. + sig { returns(Stripe::V2::MoneyManagement::PayoutMethod) } + attr_reader :payout_method + # Closed Enum. Status of the outbound setup intent. + sig { returns(String) } + attr_reader :status + # The intended money movement flow this payout method should be set up for, specified in params. + sig { returns(String) } + attr_reader :usage_intent + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # The PayoutMethodsBankAccountSpec object. + class PayoutMethodsBankAccountSpec < APIResource + class Countries < Stripe::StripeObject + class Field < Stripe::StripeObject + class LocalNameHuman < Stripe::StripeObject + # Attribute for field content + sig { returns(String) } + attr_reader :content + # Attribute for field localization_key + sig { returns(String) } + attr_reader :localization_key + end + # The local name of the field. + sig { returns(String) } + attr_reader :local_name + # The human readable local name of the field. + sig { returns(LocalNameHuman) } + attr_reader :local_name_human + # The maximum length of the field. + sig { returns(Integer) } + attr_reader :max_length + # THe minimum length of the field. + sig { returns(Integer) } + attr_reader :min_length + # The placeholder value of the field. + sig { returns(String) } + attr_reader :placeholder + # The stripe name of the field. + sig { returns(String) } + attr_reader :stripe_name + # The validation regex of the field. + sig { returns(String) } + attr_reader :validation_regex + end + # The list of fields for a country, along with associated information. + sig { returns(T::Array[Field]) } + attr_reader :fields + end + # The list of specs by country. + sig { returns(T::Hash[String, Countries]) } + attr_reader :countries + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module Core + module Vault + # Use the GBBankAccounts API to create and manage GB bank account objects + class GbBankAccount < APIResource + class ConfirmationOfPayee < Stripe::StripeObject + class Result < Stripe::StripeObject + class Matched < Stripe::StripeObject + # The business type given by the bank for this account, in case of a MATCH or PARTIAL_MATCH. + # Closed enum. + sig { returns(T.nilable(String)) } + attr_reader :business_type + # The name given by the bank for this account, in case of a MATCH or PARTIAL_MATCH. + sig { returns(T.nilable(String)) } + attr_reader :name + end + class Provided < Stripe::StripeObject + # The provided or Legal Entity business type to match against the CoP service. Closed enum. + sig { returns(String) } + attr_reader :business_type + # The provided or Legal Entity name to match against the CoP service. + sig { returns(String) } + attr_reader :name + end + # When the CoP result was created. + sig { returns(String) } + attr_reader :created + # Whether or not the information of the bank account matches what you have provided. Closed enum. + sig { returns(String) } + attr_reader :match_result + # The fields that CoP service matched against. Only has value if MATCH or PARTIAL_MATCH, empty otherwise. + sig { returns(Matched) } + attr_reader :matched + # Human-readable message describing the match result. + sig { returns(String) } + attr_reader :message + # The fields that are matched against what the network has on file. + sig { returns(Provided) } + attr_reader :provided + end + # The result of the Confirmation of Payee check, once the check has been initiated. Closed enum. + sig { returns(Result) } + attr_reader :result + # The current state of Confirmation of Payee on this bank account. Closed enum. + sig { returns(String) } + attr_reader :status + end + # Whether this bank account object was archived. Bank account objects can be archived through + # the /archive API, and they will not be automatically archived by Stripe. Archived bank account objects + # cannot be used as outbound destinations and will not appear in the outbound destination list. + sig { returns(T::Boolean) } + attr_reader :archived + # Closed Enum. The type of the bank account (checking or savings). + sig { returns(String) } + attr_reader :bank_account_type + # The name of the bank. + sig { returns(String) } + attr_reader :bank_name + # Information around the status of Confirmation of Payee matching done on this bank account. + # Confirmation of Payee is a name matching service that must be done before making OutboundPayments in the UK. + sig { returns(ConfirmationOfPayee) } + attr_reader :confirmation_of_payee + # Creation time. + sig { returns(String) } + attr_reader :created + # The ID of the GBBankAccount object. + sig { returns(String) } + attr_reader :id + # The last 4 digits of the account number or IBAN. + sig { returns(String) } + attr_reader :last4 + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The Sort Code of the bank account. + sig { returns(String) } + attr_reader :sort_code + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end + end +end +# typed: true +module Stripe + module V2 + module Core + module Vault + # Use the USBankAccounts API to create and manage US bank accounts objects that you can use to receive funds. Note that these are not interchangeable with v1 Tokens. + class UsBankAccount < APIResource + # Whether this USBankAccount object was archived. + sig { returns(T::Boolean) } + attr_reader :archived + # Closed Enum. The type of bank account (checking or savings). + sig { returns(String) } + attr_reader :bank_account_type + # The name of the bank this bank account belongs to. This field is populated automatically by Stripe based on the routing number. + sig { returns(String) } + attr_reader :bank_name + # Creation time of the object. + sig { returns(String) } + attr_reader :created + # The fedwire routing number of the bank account. + sig { returns(T.nilable(String)) } + attr_reader :fedwire_routing_number + # The ID of the USBankAccount object. + sig { returns(String) } + attr_reader :id + # The last 4 digits of the account number. + sig { returns(String) } + attr_reader :last4 + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The ACH routing number of the bank account. + sig { returns(T.nilable(String)) } + attr_reader :routing_number + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # Use ReceivedCredits API to retrieve information on when, where, and how funds are sent into your FinancialAccount. + class ReceivedCredit < APIResource + class StatusDetails < Stripe::StripeObject + class Failed < Stripe::StripeObject + # Open Enum. The `failed` status reason. + sig { returns(String) } + attr_reader :reason + end + class Returned < Stripe::StripeObject + # Open Enum. The `returned` status reason. + sig { returns(String) } + attr_reader :reason + end + # Hash that provides additional information regarding the reason behind a `failed` ReceivedCredit status. It is only present when the ReceivedCredit status is `failed`. + sig { returns(T.nilable(Failed)) } + attr_reader :failed + # Hash that provides additional information regarding the reason behind a `returned` ReceivedCredit status. It is only present when the ReceivedCredit status is `returned`. + sig { returns(T.nilable(Returned)) } + attr_reader :returned + end + class StatusTransitions < Stripe::StripeObject + # Timestamp describing when the ReceivedCredit was marked as `failed`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :failed_at + # Timestamp describing when the ReceivedCredit changed status to `returned`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :returned_at + # Timestamp describing when the ReceivedCredit was marked as `succeeded`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(T.nilable(String)) } + attr_reader :succeeded_at + end + class BalanceTransfer < Stripe::StripeObject + # The ID of the Stripe Money Movement that originated the ReceivedCredit. + sig { returns(String) } + attr_reader :payout_v1 + # Open Enum. The type of Stripe Money Movement that originated the ReceivedCredit. + sig { returns(String) } + attr_reader :type + end + class BankTransfer < Stripe::StripeObject + class GbBankAccount < Stripe::StripeObject + # The bank name the transfer was received from. + sig { returns(T.nilable(String)) } + attr_reader :account_holder_name + # The bank name the transfer was received from. + sig { returns(T.nilable(String)) } + attr_reader :bank_name + # The last 4 digits of the account number that originated the transfer. + sig { returns(T.nilable(String)) } + attr_reader :last4 + # Open Enum. The money transmission network used to send funds for this ReceivedCredit. + sig { returns(String) } + attr_reader :network + # The sort code of the account that originated the transfer. + sig { returns(T.nilable(String)) } + attr_reader :sort_code + end + class UsBankAccount < Stripe::StripeObject + # The bank name the transfer was received from. + sig { returns(T.nilable(String)) } + attr_reader :bank_name + # The last 4 digits of the account number that originated the transfer. + sig { returns(T.nilable(String)) } + attr_reader :last4 + # Open Enum. The money transmission network used to send funds for this ReceivedCredit. + sig { returns(String) } + attr_reader :network + # The routing number of the account that originated the transfer. + sig { returns(T.nilable(String)) } + attr_reader :routing_number + end + # Financial Address on which funds for ReceivedCredit were received. + sig { returns(String) } + attr_reader :financial_address + # Open Enum. Indicates the type of source via from which external funds originated. + sig { returns(String) } + attr_reader :payment_method_type + # Freeform string set by originator of the external ReceivedCredit. + sig { returns(T.nilable(String)) } + attr_reader :statement_descriptor + # Hash containing the transaction bank details. Present if `payment_method_type` field value is `gb_bank_account`. + sig { returns(T.nilable(GbBankAccount)) } + attr_reader :gb_bank_account + # Hash containing the transaction bank details. Present if `payment_method_type` field value is `us_bank_account`. + sig { returns(T.nilable(UsBankAccount)) } + attr_reader :us_bank_account + end + # The amount and currency of the ReceivedCredit. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # Time at which the ReceivedCredit was created. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Freeform string set by originator of the ReceivedCredit. + sig { returns(T.nilable(String)) } + attr_reader :description + # Financial Account ID on which funds for ReceivedCredit were received. + sig { returns(String) } + attr_reader :financial_account + # Unique identifier for the ReceivedCredit. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # A hosted transaction receipt URL that is provided when money movement is considered regulated under Stripe’s money transmission licenses. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # Open Enum. The status of the ReceivedCredit. + sig { returns(String) } + attr_reader :status + # This hash contains detailed information that elaborates on the specific status of the ReceivedCredit. e.g the reason behind a failure if the status is marked as `failed`. + sig { returns(T.nilable(StatusDetails)) } + attr_reader :status_details + # Hash containing timestamps of when the object transitioned to a particular status. + sig { returns(T.nilable(StatusTransitions)) } + attr_reader :status_transitions + # Open Enum. The type of flow that caused the ReceivedCredit. + sig { returns(String) } + attr_reader :type + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + # This object stores details about the originating Stripe transaction that resulted in the ReceivedCredit. Present if `type` field value is `balance_transfer`. + sig { returns(T.nilable(BalanceTransfer)) } + attr_reader :balance_transfer + # This object stores details about the originating banking transaction that resulted in the ReceivedCredit. Present if `type` field value is `external_credit`. + sig { returns(T.nilable(BankTransfer)) } + attr_reader :bank_transfer + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # ReceivedDebit resource + class ReceivedDebit < APIResource + class StatusDetails < Stripe::StripeObject + class Failed < Stripe::StripeObject + # Open Enum. The reason for the failure of the ReceivedDebit. + sig { returns(String) } + attr_reader :reason + end + # Information that elaborates on the `failed` status of a ReceivedDebit. + # It is only present when the ReceivedDebit status is `failed`. + sig { returns(Failed) } + attr_reader :failed + end + class StatusTransitions < Stripe::StripeObject + # The time when the ReceivedDebit was marked as `canceled`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. + sig { returns(T.nilable(String)) } + attr_reader :canceled_at + # The time when the ReceivedDebit was marked as `failed`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. + sig { returns(T.nilable(String)) } + attr_reader :failed_at + # The time when the ReceivedDebit was marked as `succeeded`. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. + sig { returns(T.nilable(String)) } + attr_reader :succeeded_at + end + class BankTransfer < Stripe::StripeObject + class UsBankAccount < Stripe::StripeObject + # The name of the bank the debit originated from. + sig { returns(T.nilable(String)) } + attr_reader :bank_name + # Open Enum. The bank network the debit was originated on. + sig { returns(String) } + attr_reader :network + # The routing number of the bank that originated the debit. + sig { returns(T.nilable(String)) } + attr_reader :routing_number + end + # The Financial Address that was debited. + sig { returns(String) } + attr_reader :financial_address + # Open Enum. The type of the payment method used to originate the debit. + sig { returns(String) } + attr_reader :payment_method_type + # The statement descriptor set by the originator of the debit. + sig { returns(T.nilable(String)) } + attr_reader :statement_descriptor + # The payment method used to originate the debit. + sig { returns(UsBankAccount) } + attr_reader :us_bank_account + end + # Amount and currency of the ReceivedDebit. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # The time at which the ReceivedDebit was created. + # Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: `2022-09-18T13:22:18.123Z`. + sig { returns(String) } + attr_reader :created + # Freeform string sent by the originator of the ReceivedDebit. + sig { returns(T.nilable(String)) } + attr_reader :description + # Financial Account on which funds for ReceivedDebit were debited. + sig { returns(String) } + attr_reader :financial_account + # Unique identifier for the ReceivedDebit. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # A link to the Stripe-hosted receipt for this ReceivedDebit. + sig { returns(T.nilable(String)) } + attr_reader :receipt_url + # Open Enum. The status of the ReceivedDebit. + sig { returns(String) } + attr_reader :status + # Detailed information about the status of the ReceivedDebit. + sig { returns(T.nilable(StatusDetails)) } + attr_reader :status_details + # The time at which the ReceivedDebit transitioned to a particular status. + sig { returns(T.nilable(StatusTransitions)) } + attr_reader :status_transitions + # Open Enum. The type of the ReceivedDebit. + sig { returns(String) } + attr_reader :type + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + # This object stores details about the originating banking transaction that resulted in the ReceivedDebit. Present if `type` field value is `bank_transfer`. + sig { returns(T.nilable(BankTransfer)) } + attr_reader :bank_transfer + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # Use Transactions to view changes to your FinancialAccount balance over time. Every flow that moves money, such as OutboundPayments or ReceivedCredits, will have one or more Transactions that describes how the flow impacted your balance. Note that while the FinancialAccount balance will always be up to date, be aware that Transactions and TransactionEntries are created shortly after to reflect changes. + class Transaction < APIResource + class BalanceImpact < Stripe::StripeObject + # Impact to the available balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :available + # Impact to the inbound_pending balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :inbound_pending + # Impact to the outbound_pending balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :outbound_pending + end + class Flow < Stripe::StripeObject + # Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. + sig { returns(String) } + attr_reader :type + # If applicable, the ID of the Adjustment that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :adjustment + # If applicable, the ID of the FeeTransaction that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :fee_transaction + # If applicable, the ID of the InboundTransfer that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :inbound_transfer + # If applicable, the ID of the OutboundPayment that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :outbound_payment + # If applicable, the ID of the OutboundTransfer that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :outbound_transfer + # If applicable, the ID of the ReceivedCredit that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :received_credit + # If applicable, the ID of the ReceivedDebit that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :received_debit + end + class StatusTransitions < Stripe::StripeObject + # The time at which the Transaction became posted. Only present if status == posted. + sig { returns(T.nilable(String)) } + attr_reader :posted_at + # The time at which the Transaction became void. Only present if status == void. + sig { returns(T.nilable(String)) } + attr_reader :void_at + end + # The amount of the Transaction. + sig { returns(Stripe::V2::Amount) } + attr_reader :amount + # The delta to the FinancialAccount's balance. The balance_impact for the Transaction is equal to sum of its + # TransactionEntries that have `effective_at`s in the past. + sig { returns(BalanceImpact) } + attr_reader :balance_impact + # Open Enum. A descriptive category used to classify the Transaction. + sig { returns(String) } + attr_reader :category + # Time at which the object was created. Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + sig { returns(String) } + attr_reader :created + # Indicates the FinancialAccount affected by this Transaction. + sig { returns(String) } + attr_reader :financial_account + # Details about the Flow object that created the Transaction. + sig { returns(Flow) } + attr_reader :flow + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # Closed Enum. Current status of the Transaction. + # A Transaction is `pending` if either `balance_impact.inbound_pending` or `balance_impact.outbound_pending` is non-zero. + # A Transaction is `posted` if only `balance_impact.available` is non-zero. + # A Transaction is `void` if there is no balance impact. + # `posted` and `void` are terminal states, and no additional entries will be added to the Transaction. + sig { returns(String) } + attr_reader :status + # Timestamps for when the Transaction transitioned to a particular status. + sig { returns(StatusTransitions) } + attr_reader :status_transitions + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true +module Stripe + module V2 + module MoneyManagement + # TransactionEntries represent individual money movements across different states within a Transaction. + class TransactionEntry < APIResource + class BalanceImpact < Stripe::StripeObject + # Impact to the available balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :available + # Impact to the inbound_pending balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :inbound_pending + # Impact to the outbound_pending balance. + sig { returns(Stripe::V2::Amount) } + attr_reader :outbound_pending + end + class TransactionDetails < Stripe::StripeObject + class Flow < Stripe::StripeObject + # Open Enum. Type of the flow that created the Transaction. The field matching this value will contain the ID of the flow. + sig { returns(String) } + attr_reader :type + # If applicable, the ID of the Adjustment that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :adjustment + # If applicable, the ID of the FeeTransaction that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :fee_transaction + # If applicable, the ID of the InboundTransfer that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :inbound_transfer + # If applicable, the ID of the OutboundPayment that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :outbound_payment + # If applicable, the ID of the OutboundTransfer that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :outbound_transfer + # If applicable, the ID of the ReceivedCredit that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :received_credit + # If applicable, the ID of the ReceivedDebit that created this Transaction. + sig { returns(T.nilable(String)) } + attr_reader :received_debit + end + # Closed Enum for now, and will be turned into an Open Enum soon. A descriptive category used to classify the Transaction. + sig { returns(String) } + attr_reader :category + # Indicates the FinancialAccount affected by this Transaction. + sig { returns(String) } + attr_reader :financial_account + # Details about the Flow object that created the Transaction. + sig { returns(Flow) } + attr_reader :flow + end + # The delta to the FinancialAccount's balance. + sig { returns(BalanceImpact) } + attr_reader :balance_impact + # Time at which the object was created. + sig { returns(String) } + attr_reader :created + # Time at which the entry impacted (or will impact if it's in the future) the FinancialAccount balance. + sig { returns(String) } + attr_reader :effective_at + # Unique identifier for the object. + sig { returns(String) } + attr_reader :id + # String representing the object's type. Objects of the same type share the same value of the object field. + sig { returns(String) } + attr_reader :object + # The Transaction that this TransactionEntry belongs to. + sig { returns(String) } + attr_reader :transaction + # Details copied from the transaction that this TransactionEntry belongs to. + sig { returns(TransactionDetails) } + attr_reader :transaction_details + # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode. + sig { returns(T::Boolean) } + attr_reader :livemode + end + end + end +end +# typed: true module Stripe class V1Services < StripeService attr_reader :accounts