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

     1  //
     2  //
     3  // File generated from our OpenAPI spec
     4  //
     5  //
     6  
     7  package stripe
     8  
     9  // The payment networks supported by this FinancialAddress
    10  type FundingInstructionsBankTransferFinancialAddressSupportedNetwork string
    11  
    12  // List of values that FundingInstructionsBankTransferFinancialAddressSupportedNetwork can take
    13  const (
    14  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkACH            FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "ach"
    15  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkBACS           FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "bacs"
    16  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkDomesticWireUS FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "domestic_wire_us"
    17  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkFPS            FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "fps"
    18  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkSEPA           FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "sepa"
    19  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkSpei           FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "spei"
    20  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkSwift          FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "swift"
    21  	FundingInstructionsBankTransferFinancialAddressSupportedNetworkZengin         FundingInstructionsBankTransferFinancialAddressSupportedNetwork = "zengin"
    22  )
    23  
    24  // The type of financial address
    25  type FundingInstructionsBankTransferFinancialAddressType string
    26  
    27  // List of values that FundingInstructionsBankTransferFinancialAddressType can take
    28  const (
    29  	FundingInstructionsBankTransferFinancialAddressTypeABA      FundingInstructionsBankTransferFinancialAddressType = "aba"
    30  	FundingInstructionsBankTransferFinancialAddressTypeIBAN     FundingInstructionsBankTransferFinancialAddressType = "iban"
    31  	FundingInstructionsBankTransferFinancialAddressTypeSortCode FundingInstructionsBankTransferFinancialAddressType = "sort_code"
    32  	FundingInstructionsBankTransferFinancialAddressTypeSpei     FundingInstructionsBankTransferFinancialAddressType = "spei"
    33  	FundingInstructionsBankTransferFinancialAddressTypeSwift    FundingInstructionsBankTransferFinancialAddressType = "swift"
    34  	FundingInstructionsBankTransferFinancialAddressTypeZengin   FundingInstructionsBankTransferFinancialAddressType = "zengin"
    35  )
    36  
    37  // The bank_transfer type
    38  type FundingInstructionsBankTransferType string
    39  
    40  // List of values that FundingInstructionsBankTransferType can take
    41  const (
    42  	FundingInstructionsBankTransferTypeEUBankTransfer FundingInstructionsBankTransferType = "eu_bank_transfer"
    43  	FundingInstructionsBankTransferTypeJPBankTransfer FundingInstructionsBankTransferType = "jp_bank_transfer"
    44  )
    45  
    46  // The `funding_type` of the returned instructions
    47  type FundingInstructionsFundingType string
    48  
    49  // List of values that FundingInstructionsFundingType can take
    50  const (
    51  	FundingInstructionsFundingTypeBankTransfer FundingInstructionsFundingType = "bank_transfer"
    52  )
    53  
    54  // ABA Records contain U.S. bank account details per the ABA format.
    55  type FundingInstructionsBankTransferFinancialAddressABA struct {
    56  	// The ABA account number
    57  	AccountNumber string `json:"account_number"`
    58  	// The bank name
    59  	BankName string `json:"bank_name"`
    60  	// The ABA routing number
    61  	RoutingNumber string `json:"routing_number"`
    62  }
    63  
    64  // Iban Records contain E.U. bank account details per the SEPA format.
    65  type FundingInstructionsBankTransferFinancialAddressIBAN struct {
    66  	// The name of the person or business that owns the bank account
    67  	AccountHolderName string `json:"account_holder_name"`
    68  	// The BIC/SWIFT code of the account.
    69  	BIC string `json:"bic"`
    70  	// Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
    71  	Country string `json:"country"`
    72  	// The IBAN of the account.
    73  	IBAN string `json:"iban"`
    74  }
    75  
    76  // Sort Code Records contain U.K. bank account details per the sort code format.
    77  type FundingInstructionsBankTransferFinancialAddressSortCode struct {
    78  	// The name of the person or business that owns the bank account
    79  	AccountHolderName string `json:"account_holder_name"`
    80  	// The account number
    81  	AccountNumber string `json:"account_number"`
    82  	// The six-digit sort code
    83  	SortCode string `json:"sort_code"`
    84  }
    85  
    86  // SPEI Records contain Mexico bank account details per the SPEI format.
    87  type FundingInstructionsBankTransferFinancialAddressSpei struct {
    88  	// The three-digit bank code
    89  	BankCode string `json:"bank_code"`
    90  	// The short banking institution name
    91  	BankName string `json:"bank_name"`
    92  	// The CLABE number
    93  	Clabe string `json:"clabe"`
    94  }
    95  
    96  // SWIFT Records contain U.S. bank account details per the SWIFT format.
    97  type FundingInstructionsBankTransferFinancialAddressSwift struct {
    98  	// The account number
    99  	AccountNumber string `json:"account_number"`
   100  	// The bank name
   101  	BankName string `json:"bank_name"`
   102  	// The SWIFT code
   103  	SwiftCode string `json:"swift_code"`
   104  }
   105  
   106  // Zengin Records contain Japan bank account details per the Zengin format.
   107  type FundingInstructionsBankTransferFinancialAddressZengin struct {
   108  	// The account holder name
   109  	AccountHolderName string `json:"account_holder_name"`
   110  	// The account number
   111  	AccountNumber string `json:"account_number"`
   112  	// The bank account type. In Japan, this can only be `futsu` or `toza`.
   113  	AccountType string `json:"account_type"`
   114  	// The bank code of the account
   115  	BankCode string `json:"bank_code"`
   116  	// The bank name of the account
   117  	BankName string `json:"bank_name"`
   118  	// The branch code of the account
   119  	BranchCode string `json:"branch_code"`
   120  	// The branch name of the account
   121  	BranchName string `json:"branch_name"`
   122  }
   123  
   124  // A list of financial addresses that can be used to fund a particular balance
   125  type FundingInstructionsBankTransferFinancialAddress struct {
   126  	// ABA Records contain U.S. bank account details per the ABA format.
   127  	ABA *FundingInstructionsBankTransferFinancialAddressABA `json:"aba"`
   128  	// Iban Records contain E.U. bank account details per the SEPA format.
   129  	IBAN *FundingInstructionsBankTransferFinancialAddressIBAN `json:"iban"`
   130  	// Sort Code Records contain U.K. bank account details per the sort code format.
   131  	SortCode *FundingInstructionsBankTransferFinancialAddressSortCode `json:"sort_code"`
   132  	// SPEI Records contain Mexico bank account details per the SPEI format.
   133  	Spei *FundingInstructionsBankTransferFinancialAddressSpei `json:"spei"`
   134  	// The payment networks supported by this FinancialAddress
   135  	SupportedNetworks []FundingInstructionsBankTransferFinancialAddressSupportedNetwork `json:"supported_networks"`
   136  	// SWIFT Records contain U.S. bank account details per the SWIFT format.
   137  	Swift *FundingInstructionsBankTransferFinancialAddressSwift `json:"swift"`
   138  	// The type of financial address
   139  	Type FundingInstructionsBankTransferFinancialAddressType `json:"type"`
   140  	// Zengin Records contain Japan bank account details per the Zengin format.
   141  	Zengin *FundingInstructionsBankTransferFinancialAddressZengin `json:"zengin"`
   142  }
   143  type FundingInstructionsBankTransfer struct {
   144  	// The country of the bank account to fund
   145  	Country string `json:"country"`
   146  	// A list of financial addresses that can be used to fund a particular balance
   147  	FinancialAddresses []*FundingInstructionsBankTransferFinancialAddress `json:"financial_addresses"`
   148  	// The bank_transfer type
   149  	Type FundingInstructionsBankTransferType `json:"type"`
   150  }
   151  
   152  // Each customer has a [`balance`](https://stripe.com/docs/api/customers/object#customer_object-balance) that is
   153  // automatically applied to future invoices and payments using the `customer_balance` payment method.
   154  // Customers can fund this balance by initiating a bank transfer to any account in the
   155  // `financial_addresses` field.
   156  // Related guide: [Customer balance funding instructions](https://stripe.com/docs/payments/customer-balance/funding-instructions)
   157  type FundingInstructions struct {
   158  	APIResource
   159  	BankTransfer *FundingInstructionsBankTransfer `json:"bank_transfer"`
   160  	// 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).
   161  	Currency Currency `json:"currency"`
   162  	// The `funding_type` of the returned instructions
   163  	FundingType FundingInstructionsFundingType `json:"funding_type"`
   164  	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
   165  	Livemode bool `json:"livemode"`
   166  	// String representing the object's type. Objects of the same type share the same value.
   167  	Object string `json:"object"`
   168  }