Accrue.Checkout.LocalSession (accrue v1.2.0)

Copy Markdown View Source

Persisted local checkout sessions used by processors that route checkout through a first-party Accrue portal.

Summary

Types

t()

@type t() :: %Accrue.Checkout.LocalSession{
  __meta__: term(),
  cancel_url: term(),
  customer: term(),
  customer_id: term(),
  data: term(),
  expires_at: term(),
  id: term(),
  inserted_at: term(),
  line_items: term(),
  metadata: term(),
  mode: term(),
  operation_id: term(),
  price_id: term(),
  processor: term(),
  return_url: term(),
  session_token: term(),
  status: term(),
  success_url: term(),
  ui_mode: term(),
  updated_at: term()
}

Functions

by_id(id)

@spec by_id(String.t()) :: t() | nil

by_token(token)

@spec by_token(String.t()) :: t() | nil

changeset(session, attrs \\ %{})

@spec changeset(t(), map()) :: Ecto.Changeset.t()

create_or_reuse(customer, attrs)

@spec create_or_reuse(Accrue.Billing.Customer.t(), map()) ::
  {:ok, t()} | {:error, term()}

mark_completed(session)

@spec mark_completed(t()) :: {:ok, t()} | {:error, Ecto.Changeset.t()}