LatticeStripe.Account.Capability (LatticeStripe v1.1.0)

Copy Markdown View Source

A single capability entry from Account.capabilities.

The outer capabilities map on %Account{} is keyed by Stripe's open-ended capability name strings (e.g. "card_payments", "transfers", "us_bank_account_payments"). Each value is a %Capability{}. The inner shape is stable; new capability names added by Stripe flow through automatically as new map keys.

iex> account.capabilities["card_payments"]
%LatticeStripe.Account.Capability{status: "active", requested: true, ...}

iex> LatticeStripe.Account.Capability.status_atom(
...>   account.capabilities["card_payments"]
...> )
:active

Summary

Functions

Returns status as an atom from a known set, or :unknown for forward compatibility. Never calls String.to_atom/1 on user input.

Types

t()

@type t() :: %LatticeStripe.Account.Capability{
  disabled_reason: String.t() | nil,
  extra: map(),
  requested: boolean() | nil,
  requested_at: integer() | nil,
  requirements: map() | nil,
  status: String.t() | nil
}

Functions

status_atom(s)

@spec status_atom(t() | String.t() | nil) :: atom()

Returns status as an atom from a known set, or :unknown for forward compatibility. Never calls String.to_atom/1 on user input.