LatticeStripe.Account.Settings (LatticeStripe v1.1.0)

Copy Markdown View Source

Represents the settings nested object on a Stripe Account.

Unlike other nested struct modules, Account.Settings is intentionally outer-only. The branding, card_payments, dashboard, payments, payouts, etc. sub-objects remain as plain maps rather than typed structs. This is a deliberate depth cap per Phase 17 D-01 — promoting them would blow the 5-module budget and yield little ergonomic value because :extra already handles forward-compat for key access patterns. To access a settings field, use map access: account.settings.payouts["schedule"]["interval"].

Unknown top-level keys from the Stripe API response are captured in :extra per the F-001 forward-compatibility pattern.

See Stripe Account API.

Summary

Types

t()

Account settings. All sub-objects remain as plain maps per the D-01 depth cap (see module doc for rationale).

Functions

Converts a decoded Stripe API map to a %Settings{} struct.

Types

t()

@type t() :: %LatticeStripe.Account.Settings{
  branding: map() | nil,
  card_issuing: map() | nil,
  card_payments: map() | nil,
  dashboard: map() | nil,
  extra: map(),
  invoices: map() | nil,
  payments: map() | nil,
  payouts: map() | nil,
  sepa_debit: map() | nil,
  treasury: map() | nil
}

Account settings. All sub-objects remain as plain maps per the D-01 depth cap (see module doc for rationale).

Functions

from_map(map)

@spec from_map(map() | nil) :: t() | nil

Converts a decoded Stripe API map to a %Settings{} struct.

Returns nil when given nil.

Sub-objects like branding, card_payments, dashboard, payments, and payouts are kept as plain maps (outer-only depth cap, Phase 17 D-01). Unknown top-level keys land in :extra (F-001 pattern).