PaperTiger.Resources.BankAccount (PaperTiger v1.0.2)

Copy Markdown View Source

Handles BankAccount resource endpoints.

Endpoints

  • POST /v1/customers/:customer_id/bank_accounts - Create bank account
  • GET /v1/customers/:customer_id/bank_accounts/:id - Retrieve bank account
  • POST /v1/customers/:customer_id/bank_accounts/:id - Update bank account
  • DELETE /v1/customers/:customer_id/bank_accounts/:id - Delete bank account
  • GET /v1/customers/:customer_id/bank_accounts - List bank accounts

BankAccount Object

%{
  id: "ba_...",
  object: "bank_account",
  created: 1234567890,
  customer: "cus_...",
  account_holder_name: "John Doe",
  account_holder_type: "individual",
  bank_name: "Chase Bank",
  country: "US",
  currency: "usd",
  fingerprint: "abcdef1234567890",
  last4: "6789",
  routing_number: "110000000",
  status: "verified",
  metadata: %{},
  # ... other fields
}

Summary

Functions

Creates a new bank account.

Deletes a bank account.

Lists all bank accounts for a customer with pagination.

Retrieves a bank account by ID.

Updates a bank account.

Functions

create(conn)

@spec create(Plug.Conn.t()) :: Plug.Conn.t()

Creates a new bank account.

Required Parameters

  • customer - Customer ID this bank account belongs to
  • routing_number - Bank routing number
  • account_number - Bank account number

Optional Parameters

  • account_holder_name - Name of account holder
  • account_holder_type - Type of account holder ("individual" or "company")
  • bank_name - Name of the bank
  • country - Country code (default: "US")
  • currency - Currency code (default: "usd")
  • metadata - Key-value metadata

delete(conn, id)

@spec delete(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Deletes a bank account.

Returns a deletion confirmation object.

list(conn)

@spec list(Plug.Conn.t()) :: Plug.Conn.t()

Lists all bank accounts for a customer with pagination.

Parameters

  • limit - Number of items (default: 10, max: 100)
  • starting_after - Cursor for pagination
  • ending_before - Reverse cursor

retrieve(conn, id)

@spec retrieve(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Retrieves a bank account by ID.

update(conn, id)

@spec update(Plug.Conn.t(), String.t()) :: Plug.Conn.t()

Updates a bank account.

Updatable Fields

  • account_holder_name
  • account_holder_type
  • metadata