All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.stripe.model.FundingInstructions Maven / Gradle / Ivy

There is a newer version: 28.1.0-beta.3
Show newest version
// File generated from our OpenAPI spec
package com.stripe.model;

import com.google.gson.annotations.SerializedName;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

/**
 * Each customer has a {@code balance}
 * that is automatically applied to future invoices and payments using the {@code customer_balance}
 * payment method. Customers can fund this balance by initiating a bank transfer to any account in
 * the {@code financial_addresses} field. Related guide: Customer balance
 * funding instructions
 */
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
public class FundingInstructions extends StripeObject {
  @SerializedName("bank_transfer")
  BankTransfer bankTransfer;

  /**
   * Three-letter ISO currency code,
   * in lowercase. Must be a supported currency.
   */
  @SerializedName("currency")
  String currency;

  /**
   * The {@code funding_type} of the returned instructions
   *
   * 

Equal to {@code bank_transfer}. */ @SerializedName("funding_type") String fundingType; /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. */ @SerializedName("livemode") Boolean livemode; /** * String representing the object's type. Objects of the same type share the same value. * *

Equal to {@code funding_instructions}. */ @SerializedName("object") String object; @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class BankTransfer extends StripeObject { /** The country of the bank account to fund. */ @SerializedName("country") String country; /** A list of financial addresses that can be used to fund a particular balance. */ @SerializedName("financial_addresses") List financialAddresses; /** * The bank_transfer type * *

One of {@code eu_bank_transfer}, or {@code jp_bank_transfer}. */ @SerializedName("type") String type; /** FinancialAddresses contain identifying information that resolves to a FinancialAccount. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class FinancialAddress extends StripeObject { /** ABA Records contain U.S. bank account details per the ABA format. */ @SerializedName("aba") Aba aba; /** Iban Records contain E.U. bank account details per the SEPA format. */ @SerializedName("iban") Iban iban; /** Sort Code Records contain U.K. bank account details per the sort code format. */ @SerializedName("sort_code") SortCode sortCode; /** SPEI Records contain Mexico bank account details per the SPEI format. */ @SerializedName("spei") Spei spei; /** The payment networks supported by this FinancialAddress. */ @SerializedName("supported_networks") List supportedNetworks; /** SWIFT Records contain U.S. bank account details per the SWIFT format. */ @SerializedName("swift") Swift swift; /** * The type of financial address * *

One of {@code aba}, {@code iban}, {@code sort_code}, {@code spei}, {@code swift}, or * {@code zengin}. */ @SerializedName("type") String type; /** Zengin Records contain Japan bank account details per the Zengin format. */ @SerializedName("zengin") Zengin zengin; /** ABA Records contain U.S. bank account details per the ABA format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Aba extends StripeObject { /** The ABA account number. */ @SerializedName("account_number") String accountNumber; /** The bank name. */ @SerializedName("bank_name") String bankName; /** The ABA routing number. */ @SerializedName("routing_number") String routingNumber; } /** Iban Records contain E.U. bank account details per the SEPA format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Iban extends StripeObject { /** The name of the person or business that owns the bank account. */ @SerializedName("account_holder_name") String accountHolderName; /** The BIC/SWIFT code of the account. */ @SerializedName("bic") String bic; /** * Two-letter country code (ISO * 3166-1 alpha-2). */ @SerializedName("country") String country; /** The IBAN of the account. */ @SerializedName("iban") String iban; } /** Sort Code Records contain U.K. bank account details per the sort code format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class SortCode extends StripeObject { /** The name of the person or business that owns the bank account. */ @SerializedName("account_holder_name") String accountHolderName; /** The account number. */ @SerializedName("account_number") String accountNumber; /** The six-digit sort code. */ @SerializedName("sort_code") String sortCode; } /** SPEI Records contain Mexico bank account details per the SPEI format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Spei extends StripeObject { /** The three-digit bank code. */ @SerializedName("bank_code") String bankCode; /** The short banking institution name. */ @SerializedName("bank_name") String bankName; /** The CLABE number. */ @SerializedName("clabe") String clabe; } /** SWIFT Records contain U.S. bank account details per the SWIFT format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Swift extends StripeObject { /** The account number. */ @SerializedName("account_number") String accountNumber; /** The bank name. */ @SerializedName("bank_name") String bankName; /** The SWIFT code. */ @SerializedName("swift_code") String swiftCode; } /** Zengin Records contain Japan bank account details per the Zengin format. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Zengin extends StripeObject { /** The account holder name. */ @SerializedName("account_holder_name") String accountHolderName; /** The account number. */ @SerializedName("account_number") String accountNumber; /** The bank account type. In Japan, this can only be {@code futsu} or {@code toza}. */ @SerializedName("account_type") String accountType; /** The bank code of the account. */ @SerializedName("bank_code") String bankCode; /** The bank name of the account. */ @SerializedName("bank_name") String bankName; /** The branch code of the account. */ @SerializedName("branch_code") String branchCode; /** The branch name of the account. */ @SerializedName("branch_name") String branchName; } } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy