LatticeStripe.Payout.TraceId (LatticeStripe v1.7.12)

Copy Markdown View Source

Trace identifier for a Stripe Payout.

Surfaces the rail-specific trace ID that lets you reconcile a payout against the recipient bank's settlement record. The status field is a clear pattern-match target — your reconciliation code typically branches on whether Stripe has obtained the trace ID yet.

case payout.trace_id do
  %LatticeStripe.Payout.TraceId{status: "supported", value: trace} ->
    reconcile(trace)

  %LatticeStripe.Payout.TraceId{status: "pending"} ->
    :wait_for_webhook

  %LatticeStripe.Payout.TraceId{status: status} ->
    {:unsupported, status}
end

Unknown future fields from Stripe land in :extra per the F-001 forward-compatibility rule — upgrading the SDK will never silently drop data.

Stripe API Reference

See the Stripe Payout object — trace_id for the full field reference.

Summary

Types

t()

A Stripe Payout trace ID.

Types

t()

@type t() :: %LatticeStripe.Payout.TraceId{
  extra: map(),
  status: String.t() | nil,
  value: String.t() | nil
}

A Stripe Payout trace ID.

The status enum Stripe currently emits is one of "supported" | "pending" | "unsupported" | "not_applicable", but it is typed as String.t() so user pattern matches stay forward-compatible when Stripe adds new values.