214 lines
7.1 KiB
TypeScript
214 lines
7.1 KiB
TypeScript
import { Address } from '../shared.js';
|
|
export interface FundingInstructions {
|
|
/**
|
|
* String representing the object's type. Objects of the same type share the same value.
|
|
*/
|
|
object: 'funding_instructions';
|
|
bank_transfer: FundingInstructions.BankTransfer;
|
|
/**
|
|
* 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).
|
|
*/
|
|
currency: string;
|
|
/**
|
|
* The `funding_type` of the returned instructions
|
|
*/
|
|
funding_type: 'bank_transfer';
|
|
/**
|
|
* If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
|
|
*/
|
|
livemode: boolean;
|
|
}
|
|
export declare namespace FundingInstructions {
|
|
interface BankTransfer {
|
|
/**
|
|
* The country of the bank account to fund
|
|
*/
|
|
country: string;
|
|
/**
|
|
* A list of financial addresses that can be used to fund a particular balance
|
|
*/
|
|
financial_addresses: Array<BankTransfer.FinancialAddress>;
|
|
/**
|
|
* The bank_transfer type
|
|
*/
|
|
type: BankTransfer.Type;
|
|
}
|
|
namespace BankTransfer {
|
|
interface FinancialAddress {
|
|
/**
|
|
* ABA Records contain U.S. bank account details per the ABA format.
|
|
*/
|
|
aba?: FinancialAddress.Aba;
|
|
/**
|
|
* Iban Records contain E.U. bank account details per the SEPA format.
|
|
*/
|
|
iban?: FinancialAddress.Iban;
|
|
/**
|
|
* Sort Code Records contain U.K. bank account details per the sort code format.
|
|
*/
|
|
sort_code?: FinancialAddress.SortCode;
|
|
/**
|
|
* SPEI Records contain Mexico bank account details per the SPEI format.
|
|
*/
|
|
spei?: FinancialAddress.Spei;
|
|
/**
|
|
* The payment networks supported by this FinancialAddress
|
|
*/
|
|
supported_networks?: Array<FinancialAddress.SupportedNetwork>;
|
|
/**
|
|
* SWIFT Records contain U.S. bank account details per the SWIFT format.
|
|
*/
|
|
swift?: FinancialAddress.Swift;
|
|
/**
|
|
* The type of financial address
|
|
*/
|
|
type: FinancialAddress.Type;
|
|
/**
|
|
* Zengin Records contain Japan bank account details per the Zengin format.
|
|
*/
|
|
zengin?: FinancialAddress.Zengin;
|
|
}
|
|
type Type = 'eu_bank_transfer' | 'jp_bank_transfer';
|
|
namespace FinancialAddress {
|
|
interface Aba {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The account holder name
|
|
*/
|
|
account_holder_name: string;
|
|
/**
|
|
* The ABA account number
|
|
*/
|
|
account_number: string;
|
|
/**
|
|
* The account type
|
|
*/
|
|
account_type: string;
|
|
bank_address: Address;
|
|
/**
|
|
* The bank name
|
|
*/
|
|
bank_name: string;
|
|
/**
|
|
* The ABA routing number
|
|
*/
|
|
routing_number: string;
|
|
}
|
|
interface Iban {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The name of the person or business that owns the bank account
|
|
*/
|
|
account_holder_name: string;
|
|
bank_address: Address;
|
|
/**
|
|
* The BIC/SWIFT code of the account.
|
|
*/
|
|
bic: string;
|
|
/**
|
|
* Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
|
|
*/
|
|
country: string;
|
|
/**
|
|
* The IBAN of the account.
|
|
*/
|
|
iban: string;
|
|
}
|
|
interface SortCode {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The name of the person or business that owns the bank account
|
|
*/
|
|
account_holder_name: string;
|
|
/**
|
|
* The account number
|
|
*/
|
|
account_number: string;
|
|
bank_address: Address;
|
|
/**
|
|
* The six-digit sort code
|
|
*/
|
|
sort_code: string;
|
|
}
|
|
interface Spei {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The account holder name
|
|
*/
|
|
account_holder_name: string;
|
|
bank_address: Address;
|
|
/**
|
|
* The three-digit bank code
|
|
*/
|
|
bank_code: string;
|
|
/**
|
|
* The short banking institution name
|
|
*/
|
|
bank_name: string;
|
|
/**
|
|
* The CLABE number
|
|
*/
|
|
clabe: string;
|
|
}
|
|
type SupportedNetwork = 'ach' | 'bacs' | 'domestic_wire_us' | 'fps' | 'sepa' | 'spei' | 'swift' | 'zengin';
|
|
interface Swift {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The account holder name
|
|
*/
|
|
account_holder_name: string;
|
|
/**
|
|
* The account number
|
|
*/
|
|
account_number: string;
|
|
/**
|
|
* The account type
|
|
*/
|
|
account_type: string;
|
|
bank_address: Address;
|
|
/**
|
|
* The bank name
|
|
*/
|
|
bank_name: string;
|
|
/**
|
|
* The SWIFT code
|
|
*/
|
|
swift_code: string;
|
|
}
|
|
type Type = 'aba' | 'iban' | 'sort_code' | 'spei' | 'swift' | 'zengin';
|
|
interface Zengin {
|
|
account_holder_address: Address;
|
|
/**
|
|
* The account holder name
|
|
*/
|
|
account_holder_name: string | null;
|
|
/**
|
|
* The account number
|
|
*/
|
|
account_number: string | null;
|
|
/**
|
|
* The bank account type. In Japan, this can only be `futsu` or `toza`.
|
|
*/
|
|
account_type: string | null;
|
|
bank_address: Address;
|
|
/**
|
|
* The bank code of the account
|
|
*/
|
|
bank_code: string | null;
|
|
/**
|
|
* The bank name of the account
|
|
*/
|
|
bank_name: string | null;
|
|
/**
|
|
* The branch code of the account
|
|
*/
|
|
branch_code: string | null;
|
|
/**
|
|
* The branch name of the account
|
|
*/
|
|
branch_name: string | null;
|
|
}
|
|
}
|
|
}
|
|
}
|